Написать пост

Как начинающим разработчикам начать путь в Open Source

Рассказываем, как начинающим разработчикам шаг шагом начать свой путь в работе с Open Source технологиями на GitHub.

Обложка поста Как начинающим разработчикам начать путь в Open Source

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

Зачем оно нужно

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

Опыт

Участие в Open Source позволяет решить одну из основных проблем начинающего разработчика. Как заполучить опыт работы если без опыта работы. В ходе участия любом, даже самом небольшом Open Source проекте, помимо предметных знаний области, вы на практике освоите:

  • как работать с git и github
  • как правильно оформлять pull request
  • как проходить код ревью

Все эти навыки необходимы при работе в любой современной коммерческой компании занимающейся разработкой программного обеспечения.

Публичный профиль

Как правило работодатели заинтересованы нанять про активного, самостоятельного и увлеченного разработчика. Участие в Open Source отлично показывает все эти качества.

Регистрация

Здесь все просто, проходим стандартный процесс регистрации на github.com.

Находим подходящий проект

На данном этапе нам необходимо определится какие технологии мы бы хотели попробовать. Для примера разработку возьмем разработку на Swift. Быстрый поиск в google выдает репозиторий со списком Open source проектов написанных на Swift. Нам остается только выбрать.

При выборе проекта могу дать несколько рекомендаций:

  1. Вам должен нравится проект, в идеале если вы им пользуетесь.
  2. Важно чтобы проект был активным. Чтобы это проверить просто зайдите на страницу репозитория проекта и проверьте активность. Если в проекте нет никакой активности, то работать над ним конечно же можно, но скорее всего только в виде форка. Что такое форк я расскажу ниже.

Мне повезло и оказалось что у FSNotes, приложение которым я пользуюсь, открытый исходный код. 

Находим открытую проблему

Как при начале работы над любым проектом довольно полезно выполнить несколько простых задач. Это позволит познакомится с исходным кодом проекта. На странице проекта заходим во вкладку Issues и ищем себе задачу. 

Как начинающим разработчикам начать путь в Open Source 1

Так же рекомендую ознакомится с вкладкой Labels. С их помощью можно отфильтровать еще не решенные проблемы. В некоторых репозиториях разработчики добавляют лейблы вроде easytofix. 

Как начинающим разработчикам начать путь в Open Source 2

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

Как начинающим разработчикам начать путь в Open Source 3

Создаем Pull request

Итак, мы определились с репозиторием и что собственно мы собираемся в нем делать. Создаем форк репозитория. Форк репозитория это точная копия проекта, включая все файлы, историю коммитов и ветки. Этот форк создается в вашем личном пространстве на GitHub, что позволяет вам свободно вносить изменения без воздействия на оригинальный проект.

Как начинающим разработчикам начать путь в Open Source 4
Страница проекта

Как результат на вашей личной странице github появится полная копия проекта.

Как начинающим разработчикам начать путь в Open Source 5
Форк проекта на вашей личной странице github

Теперь вам необходимо клонировать код проекта на свой компьютер. Для этого нажимаем на кнопку Clone. По нажатию на кнопку Clone мы видим небольшое меню с выбором различных способов клонирования проекта. Я буду это делать через SSH. Как настроить SSH написано здесь

Как начинающим разработчикам начать путь в Open Source 6

Открываем терминал и переходим в папку в которую мы хотим склонировать проект:

			cd ~/ПУТЬ_ДО_ПАПКИ_КУДА_МЫ_ХОТИМ_СКЛОНИРОВАТЬ_ПРОЕКТ
		

После клонируем проект:

			git clone git@github.com:Mazide/fsnotes.git
		

Далее нам необходимо создать git ветку в которую мы будем вносить изменения. Для имени ветки использую свое имя и номер проблемы которую решают изменения.

			git checkout -b ndemidov/issue_1530
		

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

Как начинающим разработчикам начать путь в Open Source 7

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

			git commit -am "check if project is selected before notes reload"
		

Пушим наши изменения.

			git push
		

После того как мы залили свои изменение, на странице репозитория появится кнопка Compare & pull request.

Как начинающим разработчикам начать путь в Open Source 8

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

Github автоматически укажет базовый репозиторий и ветку в которую будет слит pull request.

Как начинающим разработчикам начать путь в Open Source 9

Ждем ревью

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

Как начинающим разработчикам начать путь в Open Source 10

Поздравляем сами себя! 

Выводы

В заключение, начать учавствовать в проектах с открытым исходным кодом – это увлекательное и полезное приключение, которое позволяет вам внести свой вклад в развитие программного обеспечения и стать частью активного Open source сообщества. Успехов!

Следите за новыми постами
Следите за новыми постами по любимым темам
7К открытий9К показов