Почему вам следует как можно скорее начать вносить свой вклад в проекты с открытым исходным кодом и как вы можете начать сегодня.

Почему открытый исходный код?

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

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

Быстрый поиск в вики показывает, что…

«Программное обеспечение с открытым исходным кодом (OSS) - это тип компьютерного программного обеспечения, исходный код которого выпущен по лицензии, по которой правообладатель предоставляет пользователям права на использование, изучение, изменение и распространение программного обеспечения для всех и для любых целей».

С точки зрения непрофессионала, это позволяет массовое сотрудничество между частным бизнесом, государственными организациями, отдельными лицами и т. Д., И хотя некоторые проекты с открытым исходным кодом являются абсолютно массовыми, например Flutter, TensorFlow и React-Native, другие, более мелкие проекты часто представляют значительную ценность и хорошее место, чтобы посмотреть, когда только начинаете.

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

Как я могу начать?

Когда вы впервые приступаете к разработке, может быть сложно подумать о том, чтобы внести свой вклад в огромный проект, который тысячи или даже десятки тысяч разработчиков полагаются на свои собственные приложения, но Open Source не обязательно должен быть пакетом, который используют другие, и хотя это может быть, Open Source также может быть чем-то таким же простым, как приложение, которое помогает людям во время кризиса или через действия сообщества. Фактически, COVID-19 спровоцировал появление множества новых проектов с открытым исходным кодом, и это могут быть отличные проекты, в которых вы можете оказать немедленное влияние.

Начать работу может быть так же просто, как обратиться в Google, чтобы найти проекты с открытым исходным кодом (выполните поиск по интересному запросу), вы также можете выполнить поиск более конкретно, скажем, вы действительно хотите помочь в проекте, связанном с COVID (нажмите здесь) или возможно, вам нравится пакет NPM, который, по вашему мнению, можно настроить, все это и многое другое может стать отличным способом выбора проекта, в который вы хотите внести свой вклад. Вы даже можете посетить GitHub и найти Исследовать репозитории, чтобы найти несколько интересных проектов, которые могут быть с открытым исходным кодом. Когда вы смотрите на потенциальные проекты, просто дважды проверьте, чтобы убедиться, что это действительно открытый исходный код.

Вклад в проект

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

Во-первых, ознакомьтесь с начальным файлом Readme, он, скорее всего, даст вам необходимые шаги для запуска приложения локально, как правило, по моему опыту, это делается путем разветвления, а затем создания новой ветки для локальной работы, а затем создания запроса на перенос, когда вы завершили работу над проблемой локально и повторно объединились с основной веткой. Ознакомьтесь с этой дополнительной информацией для работы с форками, синхронизации форка и слияния апстрима, которые очень важны.

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

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

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

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

Преимущества огромны

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

Работа над этими проектами поможет вам значительно вырасти как разработчику.

Последние мысли

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

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

Удачного кодирования!