Как принять участие в движении Open Source

0
1507
views

Перевод статьи «How to Contribute to Open Source Project».

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

Научиться программировать непросто, но к достижению этой благой цели ведет множество путей. При этом участие в проектах с открытым исходным кодом является одним из самых лучших способов развития навыков программирования.

Сообщество open source дает начинающим разработчикам потрясающую возможность показать себя. Участвуя в различных проектах, разработчики могут улучшать свои навыки, а также находить вдохновение и получать поддержку единомышленников. Но самое главное, они могут доказать, что способны создавать фантастические вещи для других людей.

В этой статье мы разберем, зачем вообще разработчикам участвовать в движении open source, как это сделать и какие проекты стоит выбирать. Статья предназначена для начинающих разработчиков, желающих влиться в сообщество.

Зачем разработчику принимать участие в проектах с открытым исходным кодом?

Давайте посмотрим, что может мотивировать программиста поучаствовать в опенсорсном проекте.

Во-первых, есть множество энтузиастов, верящих, что код должен быть открытым. Это идеалисты, желающие сделать мир лучше. Именно это желание подталкивает их создавать программы с открытым кодом. Желание делиться с окружающими может быть мощной побудительной силой.

Во-вторых, open source дает вам хороший старт. Новички могут начать с малого — исправления мелких багов или написания части документации. Принимая участие в опенсорсных проектах, начинающие разработчики будут учиться писать чистый код (т. е., читаемый и поддерживаемый). Когда разработчики понимают, что их код будет выставлен на всеобщее обозрение, они больше фокусируются на том, чтобы этот код было легко понять и поддерживать.

Программисты, работающие над одним проектом, придерживаются принятых в команде правил, например, относительно отступов и нейминга, а также общих принципов разработки, например, DRY. Таким образом, участвуя в проекте с открытым кодом, вы учитесь подчиняться нормам проекта.

В-третьих, вы получаете возможность стать частью активного сообщества, познакомиться с единомышленниками, найти поддержку. Кроме того, если вы фрилансер и при этом активно участвуете в open source, вы повышаете свои шансы быть замеченным потенциальными заказчиками (работодателями).

Вывод: основные причины, по которым разработчики принимают участие в открытых проектах, это желание быть замеченным, стремление отточить свои навыки и стать частью сообщества. А теперь давайте разберем, на что следует обратить внимание, прежде чем начать активно вливаться в движение open source.

Контрибуция в проектах с открытым исходным кодом
Photo by Burst on Unsplash

Что следует учесть начинающему контрибутору

Итак, вы уже горите желанием приступить к работе над вашим первым проектом с открытым кодом. Давайте поговорим о тех вещах, которые стоит учитывать при выборе проекта.

Язык программирования

Самая важная технология, лежащая в основе любой программы, это язык программирования. Самыми популярными языками на GitHub (платформе для хостинга проектов и совместной работы над ними) являются JavaScript, Python, Java, Ruby и PHP. На этих языках вы найдете множество проектов на любой вкус и цвет.

Поскольку мы в RubyGarage любим Ruby и его экосистему, нам хотелось бы поделиться несколькими вариантами проектов на этом языке (подходящими для начинающих):

  • Sinatra — библиотека на основе Ruby, помогающая создавать приложения без Rails;
  • Hanami — современный веб-фреймворк, созданный на Ruby;
  • Chef — фреймворк на основе Ruby, используемый для автоматизации работы с сервером;
  • Jruby — второй по популярности интерпретатор Ruby.

Во всех этих проектах пригодится ваша помощь.

Тип проекта

Выбрав язык, следует определиться, над проектом какого типа вы хотели бы работать. На GitHub проекты разбиты по категориям в папках под названием Showcases. Вот несколько примеров Showcases: «безопасность», «виртуальная реальность», «текстовые редакторы», «препроцессоры CSS». Просто выберите тему, которая вас интересует.

Но мы бы посоветовали уделить особое внимание проектам, которые будут использоваться более широкой аудиторией. Таким образом вы сможете протестировать ваш код на настоящей большой аудитории. Например, Showcase «Emoji» содержит 25 репозиториев, что говорит о его популярности.

Другой вариант выбора типа проекта — начать работать над программами, которыми вы сами пользуетесь или хотите начать пользоваться. Это будет мотивировать вас к продолжению работы.

Размер проекта

Крупные проекты вроде VLC Media Player или Spree — с тысячами строк кода — не лучший выбор для новичка. Принимая участие в большом проекте, вы неизбежно столкнетесь с необходимостью следовать жестким правилам, принятым внутри команды этого проекта.

Есть еще маленький совет: обращайте внимание на пометки в проектах. Некоторые задачи бывают помечены словами «первый проект», «для начинающих», «легко» и т. д. На Github также есть специальный список проектов, подходящих для начинающих.

Учитывайте эти советы, выбирая проект, но помните, что в первую очередь он должен быть вам интересен. Также не забывайте, что для работы над этим проектом нужно выделить время.

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

Говоря о свободном ПО, мы не можем не затронуть тему GitHub и прочих инструментов. Давайте рассмотрим, что такое GitHub и как он может помочь вам принять участие в опенсорсных проектах.

Познакомьтесь с GitHub

GitHub это самая популярная платформа для сотрудничества над проектами с открытым исходным кодом, так что, вероятно, именно ее вы будете использовать, исследуя мир open source. Для начала вам нужно создать себе аккаунт и прочесть руководство, которое поможет вам начать пользоваться платформой. На GitHub можно участвовать в проектах, поднимая какие-то вопросы или отправляя туда свой код. Чтобы поднять какую-то тему (Submitting issues), вы отсылаете сообщение об ошибке в приложении и свои предложения по поводу того, как ее исправить. Если вы хотите написать код для проекта, вы отсылаете пул-реквест с вашими исправлениями и улучшениями.

Изучите основы

Для работы с GitHub нужно уметь пользоваться Git — одним из самых популярных инструментов контроля версий. Поскольку разработчики постоянно вносят изменения в свой код, им нужна система для управления этими изменениями в центральном репозитории. Благодаря такой системе каждый, связанный с процессом разработки проекта, сможет скачать код и внести изменения.

Что касается работы с инструментами контроля версий, необходимым навыком также является умение клонировать репозиторий и отсылать пул-реквесты. Последние информируют мейнтейнеров проекта (людей, занимающихся поддержкой кодовой базы этого проекта) о предлагаемых изменениях в коде. Мейнтейнеры могут проверить эти изменения, открыть их обсуждение и принять для дальнейшего коммита.

Вступите в сообщество

Вы можете с легкостью присоединиться к проекту с открытым кодом, подписавшись на почтовую рассылку по этому проекту. Списки рассылок можно найти на GitHub pages. После того как вас включат в список, вы сможете коммуницировать с членами команды и при необходимости получить поддержку. Благодаря активному сообществу практически любого проекта с открытым кодом вы скорее всего довольно быстро получите ответы на свои вопросы.

Пригодятся все навыки

В проектах с открытым исходным кодом могут принимать участие даже не программисты! Документация является необходимой частью любого проекта, но нередко она бывает плохо написана. Вы можете помочь с написанием, обновлением и даже переводом документации. Также в проектах могут пригодиться ваши навыки дизайна, ведь каждое приложение нуждается в интерфейсе. Наконец, вы можете помочь, отвечая на вопросы и помогая новичкам.

Участие в опенсорс-проекте
Photo by Arnold Francisca on Unsplash

Способы стать контрибутором проекта с открытым исходным кодом

Давайте рассмотрим основные пути к участию в проектах.

1. Создайте собственный проект с открытым кодом

Каждый проект должен удовлетворять какую-то потребность. Если вы замечаете, что существующие проекты на GitHub или Bitbucket не предлагают функционал, который вы хотели бы создать, создавайте собственное решение с открытым исходным кодом.

Задумывая проект, следует ответить (себе) на ряд вопросов:

  • Какие навыки понадобятся вам для работы над этим проектом?
  • Сколько времени вы собираетесь ему посвятить?
  • Какие проблемы решает ваша программа?
  • Как много потенциальных пользователей у вашего будущего продукта?

2. Создайте свободную альтернативу коммерческому ПО

Современные коммерческие проекты активно используют опенсорсные решения. Многие компании основывают свои проекты на свободных инструментах. С учетом того, что разнообразных программ сейчас достаточно много, нет нужды изобретать велосипед. Вы можете поиграться со свободным ПО, способным заменить похожее, но несвободное. Или же можно создать свою улучшенную версию какой-то программы.

Создавая замену для коммерческих решений, вы можете руководствоваться стремлением к настоящим инновациям и росту. Коммерческие проекты заявляют о своей инновационности, но их конечная цель — прибыль. Программы с открытым исходным кодом объединяют лучшие практики, отличное качество кода и увлеченных разработчиков, которые хотят писать код просто потому что им это нравится.

3. Станьте контрибутором (участником) уже существующих проектов open source

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

Самые «горячие» проекты можно найти по ссылке «Trending». А чтобы сделать поиск более релевантным, используйте развернутый поиск: выберите язык, на котором вы хотели бы писать код, и отметьте критерий «best match». Это расставит проекты в порядке релевантности, с учетом количества форков (их число указывает на активность обновления проекта) и звезд (если применять термины Facebook, то звезды это лайки). В большинстве проектов есть известные проблемы, помеченные метками «баг», «обсуждение», «безопасность», «рефакторинг» и другими метками, указывающими на уровень сложности: «легко», «средней сложности», «сложно».

Заключение

Проекты с открытым исходным кодом приносят много пользы тем, кто принимает в них участие. Кроме того, подобный опыт будет хорошо смотреться в вашем CV.

Присоединение к сообществу единомышленников и оттачивание навыков позволят вам сделать шаг вперед в вашей начинающейся карьере разработчика.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here