Тебе стоит начать контрибьютить в open-source
Если ты хороший разработчик, но ищешь возможность развиваться дальше, стоит начать контрибьютить в open-source. И причина не только в пользе для сообщества — это в первую очередь выгодно лично тебе.
Я долгое время хотел контрибьютить, но не мог начать, одновременно недооценивая пользу и переоценивая сложность этого процесса. В этой статье я хочу затронуть обе эти темы и, возможно, поменять твой взгляд на OSS.
С гордостью скажу, что с начала 2026 года я уже сделал 10+ контрибуций и даже попал в топ-30 контрибьюторов Reka UI — библиотеки, которая лежит в основе NuxtUI и shadcn-vue!
Барьер
Долгое время идея контрибьютить казалась чем-то недостижимым. Мейнтейнеры — умные, опытные профессионалы, что я вообще могу им предложить? Вдобавок — после работы оставался свободным только вечер, в России контрибьютить не принято, никто вокруг этого не делал, а сам процесс был загадкой. Нужно просто взять открытый issue? Перекопать весь проект в поисках багов?
Я перепробовал разные подходы и нашел тот, который сработал для меня. Хочу им поделиться.
Подход
Ключевая идея оказалась одновременно простой и неочевидной: перестать фиксить баги сторонних библиотек в своем приложении.
Вот подход, который помог мне понять, с чего стоит начать:
- Разделяй баги по уровням. Когда что-то ломается, спроси себя: это баг в твоем коде или в зависимости? Звучит очевидно, но вспомни, сколько раз ты писал костыли в своем приложении, хотя проблема была извне.
- Читай исходники. Если баг из сторонней библиотеки — открой исходный код и найди причину. Большинство багов найти проще, чем кажется.
- Сначала реши, потом спрашивай. Найди фикс, и только ПОТОМ открой issue с предложением сделать PR. Для меня этот порядок был ключевым — был страх взять на себя ответственность и оказаться недостаточно компетентным для решения проблемы. Когда уже нашел решение, шагнуть вперед гораздо легче.
- Защищай свои дедлайны. Если переживаешь за сроки на работе (ведь ты не контролируешь, когда смержат твой PR) — сделай костыль в своем коде и добавь TODO со ссылкой на issue, чтобы отслеживать фикс в апстриме.
Первый вклад не обязан быть масштабным. Недостающий перевод, неэкспортированный тип, опечатка в документации — этого достаточно, чтобы познакомиться с процессом: форки, ветки, создание PR, ответы на ревью и т.д.
Выгода
Так почему я считаю, что стоит контрибьютить?
Как я уже говорил — это один из редких случаев, когда я недооценил пользу, которую получил. Каждый вклад приносит ценность сразу по трем направлениям:
- Твой продукт. Баг, который ты починил в апстриме? Теперь он исправлен и в твоем проекте — нормально, а не через костыль. Кодовая база становится чище, и ты перестаешь тащить технический долг, который не твой.
- Сообщество. Каждый фикс, каждое улучшение, каждый перевод помогает тысячам разработчиков, которые зависят от той же библиотеки. Один твой PR может спасти сотни людей от написания того же костыля, что и у тебя.
- Ты сам. Ты читаешь код, написанный опытными разработчиками. Получаешь ревью от людей, которые мыслят иначе, чем ты или твоя команда. Учишься писать код, понятный незнакомым людям, общаться в PR-ах, думать о крайних случаях, которых нет в твоем проекте.
Кроме того, контрибьют может стать отличным инструментом для нетворкинга и источником карьерных возможностей. Хотя прямое влияние контрибьютов на офферы переоценено (особенно в РФ) — нетворк, который можно через них построить, точно нет.
Все это — именно те качества, которые отличают хороших разработчиков от профессионалов. Вспомни любого разработчика, которым ты восхищаешься — скорее всего, он контрибьютит в open-source. Я думаю, это не совпадение — вклад в OSS не следствие того, что ты профессионал, а один из ключевых шагов на пути к этому.
Спорный момент
Есть и противоположная позиция, которая хорошо объясняется здесь: Don't Contribute to Open Source. Можно заметить, что название моей статьи — прямая противоположность названия видео, и это сделано намеренно. Именно такая позиция долгое время удерживала меня от того, чтобы попробовать контрибьютить и расти профессионально.
Сейчас я скорее не согласен с этой позицией, но все же настоятельно рекомендую посмотреть это видео, потому что полностью согласен: ситуации вроде спама в README Node.js НЕ ДОЛЖНЫ происходить. Я также понимаю причины гейткипинга, но считаю, что он должен быть сбалансированным и не слишком агрессивным.
Скажу прямо — хотя тебе стоит начать контрибьютить в open-source, ты также обязан быть уважительным и ответственным за свои действия.
Заключение
Если ты думал о том, чтобы начать контрибьютить, но так этого и не сделал — тебе определенно стоит попробовать — это может стать и точкой роста, и ценным опытом. Что касается меня — я точно продолжу делать вклады в OSS при любой возможности и наличии свободного времени.
Собственно, поэтому если хочешь расти как профессионал, тебе стоит начать контрибьютить в open-source.