Тема
- #Участие в проектах с открытым исходным кодом
- #Возможности роста
Создано: 2025-05-03
Обновлено: 2025-05-27
Создано: 2025-05-03 00:00
Обновлено: 2025-05-27 09:42
Эта статья призвана вселить надежду тем, кто интересуется open source, но испытывает страх: «Как я посмею?», «С чего начать?».
Сегодня я хочу поделиться опытом, как я набрался смелости, чтобы открыть двери open sourceи что я узнал и почувствовал в этом процессе.
Изучая разработку, вы часто сталкиваетесь со словом 'open source'. Если посмотреть на GitHub, то можно увидеть множество проектов, которые открыто делятся своим кодом, меняющим мир.
Проекты, которые открывают код для внешнего доступа, называются 'open source'.
Например, OpenJDK, Spring Framework, Redis, React и другие крупные open source проекты.
Я сделал вклад в open source 4 раза. Я вношу вклад в open source, находя небольшие, незначительные улучшения, а не добавляя новые функции, которые перевернут мир.
Я не знаю стиля кода этих проектов, и я не знаю, как они работают.
Вы можете увидеть, что вы можете внести вклад в сообщество, даже если вы не понимаете код идеально. Я работаю в разработке всего 2 года, и я не думаю, что у меня есть талант к разработке.
Мне просто нравится вносить вклад в open source и общаться в сообществе разработчиков, поэтому я продолжаю эту деятельность.
Честно говоря, сначала у меня тоже была мысль: «Не будет ли здорово добавить еще одну строчку в резюме?» Я много об этом думал. Но была и другая мотивация. Это было стремление «учиться глубже» и потребность «решить проблему, с которой я столкнулся».
В командном проекте у меня была возможность углубленно изучить Project Reactor, базовую технологию Spring WebFlux. Я понимал концепцию из книг и документации, но это было область, где я мог понять, как это работает и оптимизируетсяв реальных сложных системах, только посмотрев и попробовав код. Я также часто задавался вопросом: «Как я докажу, что усердно изучал Reactor?», и у меня возникло желание 'внести вклад в open source!'.
Как только я решил 'внести вклад!', я понятия не имел, с чего начать. Меня пугало все: от поиска части кода, которую нужно изменить, до предсказания того, как мои изменения повлияют на всю систему.
Я долго думал: «Что, если я отправлю PR, и меня будут ругать?» Поэтому потребовалось много времени, чтобы зарегистрировать PR.
Reactive Command в Lettuce, клиенте Java Redis, который я использовал в Reactive Stack, был основан на Reactor, и я хотел улучшить его, непосредственно изменив цепочку Reactor на основе обучения Reactor.
Просто сделав форк, я просмотрел весь код, содержащий строки 'Reactive', 'reactor', сопоставляя строки. Кажется, я проверил весь код, в котором были цепочки Publisher, такие как Mono и Flux.
Просматривая код, мне повезло, и я обнаружил код, который использовал цепочку Reactor, в которой была снижена читаемость и не было правильной цепочки методов. Это было не улучшение функций или изменение архитектуры, которое бы перевернуло мир, но это было маленькая и четкая проблема, которую я мог понять и исправить. Я подумал: 'А, в таком случае я тоже могу внести свой вклад!'.
На основе того, что я узнал, я осторожно исправил код и проверил в локальной среде, работает ли он так, как предполагалось. Хотя это было небольшое изменение, я старался следовать стилю существующего кода, а также тщательно подходил к нему, много раз думая, не повлияет ли это на другие части.
Я закоммитил измененное содержимое и, наконец, пришло время отправить PR. Честно говоря, я долго думал и колебался, прежде чем нажать кнопку «Отправить». Я беспокоился: «В порядке ли отправлять PR с таким количеством изменений?», «Может быть, я исправил что-то очевидное?», «Смогу ли я хорошо объяснить на английском?».
Как я уже говорил, у меня был большой страх, что меня будут ругать из-за моих недостатков. Но я решился, подумав: «Начало – половина дела», «Если не попробуешь, ничему не научишься», и я отправил PR с подробным описанием изменений и причин.
redis/lettuce - #3061
Наконец, мой PR был 'Merged', и я почувствовал огромное чувство выполненного долга и гордости, когда понял, что код, который я написал и изменил, стал частью известного open source проекта, которым пользуются многие разработчики.
Прежде всего, самым большим достижением была уверенность в себе: «Я тоже могу!'.
Неважно, если вы не понимаете все. Вы можете начать с малого, как и я. Есть много способов внести свой вклад, например, исправить опечатки в документах, принять участие в переводе, сообщить о простых ошибках. Важно преодолеть страх и сделать первый шаг.
Если вы допустите ошибку, вы можете получить отзывы от сообщества через эту ошибку, а также это также возможность для дальнейшего роста.
Хотя это также ценная возможность добавить одну строку в резюме, вклад в open source на основе обучения также может быть средством доказать, что я действительно усердно учился.
Комментарии к этой публикации недоступны.