Главная » 2015 » Июнь » 16 » Как стать хакером свободного программного обеспечения
22:57
Как стать хакером свободного программного обеспечения

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

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

Шаги

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