Как стать хакером свободного программного обеспечения

Загрузить PDFЗагрузить PDF

Написание и использование свободного программного обеспечения - это не только вид программирования, это своего рода философия. Хотя знать язык программирования - это все, что нужно для программирования, эта статья о том, как присоединиться к сообществу, найти друзей, делать великие дела вместе, и стать уважаемым специалистом с профилем, который вы не сможете получить больше нигде. В обществе свободного ПО вы можете довольно легко получить задачи, которые в компании только элитные программисты топ-уровня имеют право делать. Подумайте о количестве опыта, которое это может принести. Однако, если вы однажды решили стать хакером свободного программного обеспечения, вы должны быть готовы потратить некоторое время на достижение этой цели. Это по-прежнему верно, даже если вы уже ИТ-студент. Кроме того, эта статья не о том, как стать взломщиком.

  1. How.com.vn Русский: Step 1 Приобретите хороший дистрибутив Unix.
    GNU/Linux - одни из самых популярных для взлома, но часто используются GNU Hurd, BSD, Solaris и (в некоторой степени) Mac OS X.
  2. How.com.vn Русский: Step 2 Узнайте, как использовать командную строку.
    Вы можете сделать гораздо больше с Unix-подобными операционными системами, если используете командную строку.
  3. How.com.vn Русский: Step 3 Выучите некоторые популярные...
    Выучите некоторые популярные языки программирования, пока не достигнете более или менее удовлетворительного уровня. Без этого вы не можете внести свой вклад в код (самая важная часть любого программного проекта) для сообщества свободного программного обеспечения. Некоторые источники предлагают начинать сразу с двух языков: один системный язык (C, Java или аналогичный) и один скриптовый язык (Python, Ruby, Perl или аналогичный).
  4. How.com.vn Русский: Step 4 Чтобы быть более...
    Чтобы быть более продуктивным, изучите Eclipse или другой подобный интегрированный инструмент разработки.
  5. How.com.vn Русский: Step 5 Изучите и используйте расширенный редактор вроде VI или Emacs.
    Они не просты в изучении, но вы можете сделать гораздо больше с ними.
  6. How.com.vn Русский: Step 6 Изучите  Version control.
    Version control, вероятно, самый важный инструмент сотрудничества для общего развития программного обеспечения. Уясните, как создавать и применять патчи (текстовые изменения файлов). Большинство разработок свободного программного обеспечения в обществе выполняет создание, обсуждение и применение различных патчей.
  7. How.com.vn Русский: Step 7 Найдите подходящий небольшой...
    Найдите подходящий небольшой программный бесплатный проект, к которому вы могли бы легко присоединиться, чтобы получить опыт. Большинство таких проектов сейчас можно найти на сайте SourceForge.net.Подходящий проект должен:
    1. использовать язык программирования, который вы знаете.
    2. Быть активным, с последними релизами.
    3. Уже иметь 3-5 разработчиков.
    4. Использовать систему управление версиями.
    5. Иметь часть, к реализации которой, по вашему мнению, можно сразу приступить без большого изменения существующего кода.
    6. Помимо кода, хороший проект также имеет активные дискуссионные списки, отчеты об ошибках, принимает и реализует запросы на улучшение и показывает другие аналогичные действия.
  8. How.com.vn Русский: Step 8 Обратитесь к администратору выбранного проекта.
    В небольшом проекте с несколькими разработчиками ваша помощь, как правило, сразу же будет принята.
  9. How.com.vn Русский: Step 9 Внимательно прочитайте правила...
    Внимательно прочитайте правила проекта, и более или менее следуйте им. Правила стиля кодирования или необходимость документировать свои изменения в отдельном текстовом файле может показаться вам на первый взгляд нелепым. Однако цель этих правил - сделать возможной совместную работу, и большинство проектов действительно имеют их.
  10. How.com.vn Русский: Step 10 Работайте в этом проекте в течение нескольких месяцев.
    Слушайте внимательно, что администратор и другие участники проекта говорят. Помимо программирования, у вас есть много всего для изучения. Но если вам действительно что-то не нравится, просто уйдите в другой проект.
  11. How.com.vn Русский: Step 11 Не держитесь тайного проекта слишком долго.
    Как только вы поймете, что успешно работаете в этой команде, пора искать серьезный проект.
  12. How.com.vn Русский: Step 12 Найдите серьезный проект...
    Найдите серьезный проект свободного программного обеспечения или проект с открытым кодом. Большинство таких проектов являются собственностью GNU или Apache организаций.
  13. How.com.vn Русский: Step 13 Как только сделаете...
    Как только сделаете серьезный скачок, будьте готовы к гораздо более прохладному признанию. Вам, вероятно, будет предложено работать в течение некоторого времени без прямого доступа к записи в репозитории кода. Предыдущий тайный проект должен, однако, научить вас многому - так что после нескольких месяцев продуктивного вклада вы можете попробовать требовать прав, которые, как вы думаете, у вас должны быть.
  14. How.com.vn Русский: Step 14 Возьмите и сделайте серьезную задачу.
    Время пришло. Не бойтесь. Упорно продолжайте, даже если вы обнаружите, что эта задача - намного сложнее, чем вы первоначально думали. На этом этапе важно не сдаваться.
  15. How.com.vn Русский: Step 15 Если можете, обратитесь...
    Если можете, обратитесь с серьезной задачей в инициативную программу компании Google "Summer of Code", чтобы получить немного денег из этой "авантюры". Но только не волнуйтесь, если заявка не принята, поскольку они гораздо меньше финансируют должности, чем действительно хороших хакер.
  16. How.com.vn Русский: Step 16 Ищите подходящую конференцию,...
    Ищите подходящую конференцию, проводящуюся поблизости ("Дни Linux " или нечто подобное), и попытайтесь представить свой проект там (весь проект, а не только часть, которую вы программируете). После того как вы расскажите, что вы представляете серьезный Free/с открытым исходным кодом проект, организаторы часто освобождают вас от стоимости участия в конференции (если они так не делают, конференция, скорее всего, неподходящая в любом случае). Принесите свой ноутбук Linux (если у вас есть) и запустите демо-версию. Обратитесь к администратору проекта за материалом, который вы можете использовать при подготовке к своему выступлению или плаката.
  17. How.com.vn Русский: Step 17 Поищите в Интернете...
    Поищите в Интернете объявления о мероприятии «Install party”, происходящее поблизости, и попробуйте присоединиться к нему в первый раз, как пользователь (проследите за всеми проблемами и как хакеры их решают), а в следующий раз - в качестве инсталлятора.
  18. How.com.vn Русский: Step 18 Завершите задачу, примените...
    Завершите задачу, примените автоматические тесты и свой вклад в проект. Все сделано! Надо отметить: попробуйте встретиться с некоторыми хакерами проекта в реальной жизни и выпить с ними по бокалу пива.
  19. How.com.vn Русский: Step 19 Для лучшего понимания...
    Для лучшего понимания загляните в реальный пример истории разработки проекта Free Software (выше). Каждое повышение кривой представляет собой вклад (строки кода) от одного разработчика. Разработчики, как правило, становятся менее активными в течение многих лет, но проект часто даже ускоряется, когда присоединяются новые люди. Поэтому, если вы уже приходите с некоторыми полезными навыками, у команды нет никаких причин не пригласить вас.
    Реклама

Советы

  • Перед тем как задавать любой вопрос о рабочих правилах внутри проекта, попробуйте поискать ответ в проектной документации и архивах списка рассылки.
  • Вас назовут хакером только после того, когда какое-либо истинное Сообщество хакеров признает вас таковым.
  • Всегда продолжайте взлом того, что начали. Не строится, не запускается, слетает (сбоит)? Есть причины для всего, и если у вас есть исходный код, то это обычно означает, что вы можете заставить систему делать все, что вы хотите, особенно с помощью веб-поиска. Это правило имеет свои ограничения, но, действительно никогда не дается легко.
  • Для начала выберите класс, модуль или другой блок, над которым никто очень активно не работает в данный момент. Работа вместе над одинаковым классом или даже функцией, требует больше навыков и много внимания со всех подходов (сторон).
  • Работодатели некоторых хакеров, кажется, достаточно мотивированы, чтобы позволить «сотрудничество» в течение их рабочего времени (как правило, потому что организация использует бесплатную/с открытым кодом программу, которую хакер разрабатывает). Подумайте, может быть, вы можете получить, по крайней мере, часть необходимого времени этим способом.
  • Если вы все еще не доверяете себе достаточно, начните с некоторой части кода, которая, как вы думаете, отсутствует и может быть написана с нуля. Изменения в существующем коде имеют гораздо больше шансов привлечь к себе критику.
Реклама

Предупреждения

  • Не начинайте с оптимизаций небольших кодов, дополнительных комментариев, улучшений стиля кодирования и другого аналогичного "мелкого" материала. Это может вызвать гораздо больше критики, чем любой серьезный вклад. Вместо этого, собирайте их в единый патч «очистки».
  • На неформальной встрече проекта (на пиве) о том, что вы никогда не содействовали созданию любого кода, у вас будет неприятное чувство того, что вас весьма игнорируют. Не волнуйтесь, некоторые хакеры становятся большими друзьями позже, после того, как вы заработаете уважение за свой код.
  • Если вы планируете встретиться с хакерами бесплатного программного обеспечения с глазу на глаз, всегда оставляйте свой ноутбук Windows дома. Mac OS – вариант несколько получше, но и не приветствуется. Если у вас с собой ноутбук, он должен работать на ОС Linux или другой операционной системе, которую они считают "Free software".
  • Ваш статус хакера в сообществе проекта отражает ваше настоящее больше, чем прошлое. В частности, если вы хотите рекомендацию от руководителя проекта или что-нибудь подобное, задавайте вопросы, пока вы все еще активно сотрудничаете.
  • Не начинайте со старта своего собственного проекта, если вы не хотите остаться в гордом одиночестве навсегда. По той же причине, не начинайте с попытки возродить заброшенный проект, который уже потерял свою предыдущую команду, (смотрите почему).
  • По той же причине никогда не ожидайте, что хакер с опытом напишет подробное описание вашей задачи или даже обеспечит любим видом наблюдения завами. В то время как проекты с открытым кодом могут иметь много строгих правил, они обычно работают по аналогии с тем, что известно под названием программирование в методологии программирования.
  • В согласованно действующем мире бесплатного ПО вы кодируете, и в редких случаях, даже весь проект вашей группы может быть неожиданно заменен каким-либо другим вкладом. Примеры крупномасштабных перезаписей: Harmony или, например, более недавняя история GNU Classpath. Зрелые хакеры говорят "добро пожаловать" и используют преимущества нового кода, который становится доступным - просто нет лучшего способа отреагировать. Это, однако, не приходит легко и этому нужно учиться. Смотрите пример такой позиции.
  • Избегайте задавать любой вопрос, связанный с основами программирования или программными средствами. Время программиста свободного программного обеспечения - ценное. Вместо этого обсудите основы программирования в сообществах для любителей или начинающих программистов.
  • Хотя слово "хакер" звучит с «почтением» в большинстве учебных сред, для некоторых неосведомленных людей оно может ассоциироваться с проникновением в системы безопасности и другими связанными с компьютерами преступлениями, которые различные социальные группы (крекеры или взломщики) делают. Если вы не готовы объяснить, посмотрите на тех, кому вы говорите это слово. Реальные хакеры, о которых идет речь в этой статье, никогда не будут связываться с деятельностью в программировании, которая кажется для них незаконной. Во-первых, они гордятся придерживанием хакерской этики. Во-вторых, нарушения закона не обязательно лучше оплачиваются.
  • Если ваш почтовый клиент поддерживает HTML сообщения, отключите эту функцию. Никогда не присоединяйте документы, которые только проприетарное программное обеспечение (например, MS Word) может открывать должным образом. Хакеры воспринимают это как оскорбление.
  • Не предлагайте свои услуги для принадлежащим компаниям проектов, которые не выпускают некоторые части их кода под утвержденной лицензией approved Open Source.В таких случаях действительно важные части проекта, вероятно, «останутся за закрытыми дверями» владельца, мешая вам научиться чему-нибудь полезному.
  • Уже очень успешные проекты, возможно, имеют письменную или устную политику никогда не возвращать ничего за вашу работу (ни денег, ни возможности для самостоятельного продвижения, ни высокого статуса, не обращая внимание на вклад, и т.д. - смотрите Wikipedia).Если вы не согласны с этим, придерживайтесь проектов среднего диапазона, которые не могут позволить себе такую позицию. Большие проекты свободного

программного обеспечения, особенно вокруг домена GNU, не рассматривают вашу работу как ваш личное дело. После того как вы получите или смените работу в компании, связанной с программным обеспечением, они попросят вашего работодателя подписать определенные соглашения [1], которые можно подписывать или нет. Это может заставить выбрать проект с более свободными требованиями.

Реклама

Что вам понадобится

  • Linux. Многие проекты свободного программного обеспечения либо сложнее построить под управлением ОСWindows, либо не создаются должным образом вообще. Это особенно верно для продвинутых проектов, посвященных программированию телефонов, миниатюрных компьютеров, ключей USB и других удивительных устройств.
  • Компьютер с относительно хорошим доступом к Интернету. Если вы хотите сохранить двойную загрузку с Windows, второй жесткий диск или раздел для Linux будет хорошим решением.
  • Базовые знания по крайней мере одного языка программирования и твердым намерением узнать больше. Самые популярные языки в настоящее время - C и Java.
  • Значительное количество времени, не менее 5 часов в неделю (типичный хардкор-хакер жертвует больше, чем 14 ч.).
  • В то время как официальное образование в области информатики могло бы сделать ваш путь намного проще, оно вам не нужно как обязательное условие, и никакое реальное Сообщество хакеров не будет спрашивать вас об этом. Хакеры судят друг о друге по своих взломах, а не фиктивных критериях, таких как степени, возраст, происхождение или положение. Однако, по крайней мере 60% хакеров, которые смотрят ваши патчи, имеют "нужное" высшее образование и не позволят вам сделать любую глупость в проекте.
  • Во время последних шагов (конференции и Install party)) могли бы воспользоваться своим собственным ноутбуком. Как бы не было нехорошо работать дома, купите его, только если вы можете позволить себе второй компьютер.
  • Чтобы стать реальным хакером с помощью описанного выше способа, вам потребуется, по меньшей мере, около двух лет.

Об этой статье

How.com.vn работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 37 человек(а). Количество просмотров этой статьи: 6293.
Эту страницу просматривали 6293 раза.

Была ли эта статья полезной?

⚠️ Disclaimer:

Content from Wiki How Русский language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.

Notices:
  • - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
  • - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
  • - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
  • - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.

Реклама