Станьте программистом открытого программного обеспечения

Автор: Morris Wright
Дата создания: 24 Апрель 2021
Дата обновления: 1 Июль 2024
Anonim
КАКИМ СТАТЬ ПРОГРАММИСТОМ? ВЕБ, ГЕЙМДЕВ или ПО?
Видео: КАКИМ СТАТЬ ПРОГРАММИСТОМ? ВЕБ, ГЕЙМДЕВ или ПО?

Содержание

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

Шагать

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

Советы

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

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

  • Ваш статус хакера в проекте сообщества больше отражает ваше настоящее, чем ваше прошлое.Если вам нужна рекомендация или что-то подобное от руководителя проекта, спросите, активно ли вы по-прежнему вносите свой вклад.
  • Не вдавайтесь в мелкие оптимизации кода, дополнительные комментарии, улучшения стиля кодирования и другие подобные мелкие вещи. Это может встретить гораздо больше критики, чем серьезный вклад. Вместо этого вы можете включить эти изменения в один патч «очистки».
  • Если вы планируете лично встретиться с хакерами открытого программного обеспечения, оставьте свой ноутбук с Windows дома. Mac OS более терпима, но и не приветствуется. Если вы приносите свой ноутбук, он должен работать под управлением Linux или другой операционной системы, которую они считают «открытым программным обеспечением».
  • Если ваш почтовый клиент поддерживает сообщения HTML, вам следует отключить эту функцию. Никогда не прикрепляйте документы, которые могут правильно открываться только коммерческими программами (например, Microsoft Word). Хакеры считают это оскорблением.
  • Не принимайте участие в проектах компании, код которой не охвачен утвержденной лицензией с открытым исходным кодом. В таких случаях действительно важные части проекта, скорее всего, останутся за закрытыми дверями от владельца, не позволяя вам узнать что-либо полезное.
  • Избегайте вопросов об основах программирования или инструментах программирования. Время программиста открытого ПО дорого. Вместо этого обсудите основы программирования в группах любителей или начинающих программистов.
  • Созданные и очень успешные проекты могут иметь письменные или неписаные правила о никогда не возмещать вашу работу (нет денег, нет возможности продвигать себя, нет повышенного статуса независимо от вашего вклада и т. Д. - см. Do_not_expect_reward Wikipedia). Если вы не можете согласиться с этим, придерживайтесь более общих проектов, которые не могут позволить себе такое отношение.
  • Не начинайте свой собственный проект, если вы не хотите всегда проводить его в гордом одиночестве. По этой же причине лучше не предпринимать попытки возродить уже заброшенный проект, который его предыдущая команда уже проиграла.
  • В случае неформальной встречи по проекту, в который вы никогда не вносили никакого кода, у вас возникнет неприятное ощущение полного игнорирования. Не волнуйтесь, некоторые хакеры могут стать хорошими друзьями позже, когда вы заслужите их уважение с помощью собственного кода.
  • Крупные проекты открытого программного обеспечения, особенно связанные с доменом GNU, не относятся к вашей работе как к личному бизнесу. После того, как вы устроитесь на работу в компании, связанной с программным обеспечением, они просят вашего работодателя подписать определенные соглашения [1], которые компания подпишет или не подпишет. Это может заставить вас выбрать проект с менее строгими требованиями.

Необходимости

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