В блоге Beeline Cloud на хабре мы уже поднимали тему ключевых трендов в сфере open source. Сегодня мы подобрали материалы, которые помогут влиться в открытую разработку и стать контрибьютором: от рекомендаций для начинающих и даже «вредных советов» до тематического репозитория в стиле awesome-подборок.

Первая тестовая площадка
Фронтенд-разработчик из Германии Рошан Джосси — ярый сторонник открытой разработки. Он курирует GitHub-репозиторий под названием first-contributions (под лицензией MIT). Его цель проекта — помочь начинающим сделать первые шаги в мире open source. По сути, проект Джосси представляет собой базовое руководство по работе с Git-инструментами и репозиториями в целом. В нем разбираются фундаментальные операции: создание форка и коммита, клонирование репо, работа с ветками, подготовка пул-реквеста для код-ревью и отправка изменений на GitHub. Каждый шаг сопровождается примерами команд и скриншотами интерфейса.
Что примечательно, для отработки навыков можно использовать тот же самый репозиторий — first-contributions. Так, начинающие могут отточить навыки и не беспокоиться о возможных ошибках. И неудивительно, что проект, который учит контрибьютить в открытые проекты, активно развивают участники open source-сообщества. Репозиторий переведен на 84 языка, включая русский, и набрал более 50 тыс. звезд на GitHub.
В конце README-файла автор собрал ссылки на дополнительные руководства и лучшие практики для работы с популярными инструментами, такими как Visual Studio Code или Intellij IDEA. А еще Рошан Джосси запустил тематическую страничку для выбора своего первого open source-проекта, к развитию которого можно присоединиться. В списке представлены даже такие известные проекты, как Reseter.css и Next.js. Правда, часть из них уже утратила актуальность и перемещена в архивы. Яркий пример — Rebus, который, в свою очередь, тоже был создан как учебный проект для начинающих в open source.
Инсайты тысячи проектов
Исследователи из Университета Уэйна в штате Мичиган решили определить подходы и лучшие практики, которые могут помочь новичкам «закрепиться» в open source и увеличить шансы на то, что их исправления будут одобрены и включены в проект. Cпециалисты опубликовали статью, в которой проанализировали почти 500 публикаций научных статей и докладов из баз Google Scholar, IEEE, ACM и Scopus, выделив 15 часто встречающихся рекомендаций. Затем ученые изучили более тысячи проектов на GitHub, чтобы с помощью метода логистической регрессии оценить практическую эффективность предложенных советов — какие из них повышают шансы на принятие первого пул-реквеста от новичка, а какие оказываются бесполезными или даже контрпродуктивными.
Авторы работы пришли к выводу, что самый надежный путь для начинающего open source-разработчика — это браться за задачи из списка For Good First Issue и начинать с багфиксов или небольших правок. Такой подход повышает шансы. При этом исследователи предупреждают: не стоит зацикливаться на простых задачах. Чем раньше разработчик переходит к сложным проектам, тем стремительнее растет его квалификация и тем охотнее мейнтейнеры принимают предложенные правки. Что касается откровенно неудачных практик среди начинающих, то плохие шансы на успех имеют пул-реквесты с чрезмерно длинными или, наоборот, излишне упрощенными описаниями.
Сборник ресурсов для старта
GitHub-репозиторий в стиле awesome-списка с десятками полезных материалов для open source-контрибьютеров и списком проектов для старта. Эта подборка уже собрала 9 тыс. звезд и переведена на 25 языков, в том числе на русский (распространяется по лицензии CC-BY-SA 4.0). Ресурсы в сборнике структурированы по разделам. Среди них можно найти руководства по работе с GitHub и советы по коммуникационному этикету. Также есть литература о том, что происходит под капотом успешных открытых проектов.
Есть и специализированные блоки, например, посвященные корпоративным инициативам, открытым для участия. Также присутствует список готовых поисковых запросов для GitHub, которые помогают быстро находить задачи для начинающих — например, is:issue is:open label:beginner. Подборка обновляется (хотя и не очень часто), так что время от времени ее стоит перепроверять на наличие новых материалов.
Как «закрепиться» в проекте
Разработчик из Германии Сантош Ядав опубликовал материал, который будет полезен не только новичкам, но и опытным разработчикам, не представляющим, с какой стороны подступиться к open source-проектам. Это — материал в стиле «с чего начать», дополненный мнениями и рекомендациями экспертов, в том числе из крупных компаний.

Для тех, кто только начинает свой путь в сфере ИТ, автор рекомендует сфокусироваться на глубоком изучении предпочитаемой технологии. В этом контексте он советует обратить внимание на открытую веб-книгу Корбина Кратчли — «The Framework Field Guide». Пособие поможет понять, как устроены популярные библиотеки и фреймворки. Также Ядав отмечает, что первый вклад в open source можно сделать на уровне документации — заняться исправлением неточностей (например, с этого начинал сам автор).
Специалисты с опытом могут попробовать себя в качестве экспертов по доступности (accessibility) — протестировать веб-сайт того или иного проекта с помощью инструментов, которые помогут обнаружить проблемы и требующие улучшения моменты. Более сложное направление — комплексный аудит безопасности. Он требует погружения в экосистему проекта, изучения рабочих процессов и технологического стека. Понимая логику системы, можно смоделировать угрозы и обнаружить скрытые уязвимости.
Как освоить открытый код — руководство
Материал подготовил Анмол Баранвал — технический писатель и разработчик из Индии с многолетним стажем. Он подчеркивает, что прошел путь самоучки, набил немало шишек и хочет предостеречь от них начинающих специалистов. В своей статьей Баранвал разбирает базовые инструменты вроде Git, знакомит читателей с Markdown-разметкой. Он также приводит прикладные материалы: например, шпаргалку по Markdown с рекомендациями. Еще автор рассказывает о том, как правильно оформить issue и пул-реквест, чтобы быстрее влиться в работу и повысить шансы на принятие изменений.
Помимо технических деталей, в статье перечислены общие принципы работы с open source и гайды по разработке ПО для дополнительного чтения.
Вредные советы
Разработчик и open source-энтузиаст описал практики, которые отпугнут контрибьюторов от проекта. Материал написан не только ради шутки — автор объясняет, почему такие подходы неэффективны и мешают открытой разработке. Среди «вредных советов» — принимать патчи исключительно по электронной почте, погружая контрибьюторов в пучину бесконечных переписок. Автор иронично призывает придерживаться архаичных стандартов вроде C++03 вместо современного C++23, использовать устаревшие системы сборки и поощрять «спагетти-код», где любое изменение в одной ветке ломает десятки файлов. Конечно же, вредные советы и решения на их основе гарантированно делают проект неудобным и усложненным для участников. Но есть и мнение о том, что далеко не все высмеянные автором практики в действительности оказываются нелепыми.
Beeline Cloud — secure cloud provider. Разрабатываем облачные решения, чтобы вы предоставляли клиентам лучшие сервисы.
Больше тематических подборок в нашем блоге:
Экспериментальный селф-хостинг — материалы для начинающих, личный опыт, DIY-гайды и домашние лабы. Собрали материалы, которые помогут развернуть open source-инструменты на сервере и поэкспериментировать с «домашним облаком». В подборке: веб-книга под лицензией Creative Commons, посвященная развертке приложений на «голом железе» и организации собственной мини-серверной, а также гибкий фреймворк для запуска домашней лаборатории на Kubernetes.
GitOps для начинающих: от открытых материалов для чтения с примерами — к open source-инструментам по теме. Статьи для мягкого погружения в тему: принципы и особенности GitOps-подхода, как развернуть домашнюю лабораторию с контролем версий и IaC, а также профильные инструменты для реализации GitOps-подхода: Gitopper, Nixidy, Terrateam, Digger и Kargo.
От многопоточности в ОС до «простукивания портов»: избранные материалы у нас на DIY-площадке. Скомпилировали интересные статьи с нашей площадки для ИТ-специалистов — «вАЙТИ»: про разработку программного обеспечения, работу с хранилищами и базами данных, информационную безопасность и системное администрирование. Например, в списке есть материал для желающих начать погружение в аспектно-ориентированное программирование, статья о том, как перенести терабайты данных между ЦОДами за шесть часов, и разбор SQL-запросов для поиска заветных стульев Остапа Бендера (и многие другие материалы).
Полувековая ОС, текстовый браузер и программа-корректор — ретрософт с многолетней поддержкой. Рассказываем о программных проектах, которые поддерживаются на протяжении нескольких десятков лет. Так, открытый браузер Lynx из начала девяностых до сих пор используют — например, в условиях нестабильного интернет-соединения, а нестареющую «операционку» MCP можно встретить в инфраструктуре телекомов и банков.
«Переиграл и уничтожил»: занимательные исследования промпт-атак. Смотрим на свежие исследования, авторы которых предлагают способы обхода встроенных фильтров в нейросетях — то есть намеренно заставляют их галлюцинировать и давать некорректные ответы. Есть достаточно оригинальные решения, использующие инъекции со случайными фактами о котах и ASCII-изображениями.