Mikhail Sahnyuk
Mikhail Sahnyuk
0
Обложка: Почему тебе стоит начать писать Open Source проекты

Почему тебе стоит начать писать Open Source проекты

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

Что такое Open Source

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

Все основные фундаментальные вещи в IT — такие, как языки программирования, компиляторы, фреймворки — практически всегда с открытым исходным кодом. Почти на любое платное приложение существует его аналог с открытыми исходниками. Но зачем же разработчики и компании тратят своё драгоценное время и деньги на написание Open Source-проектов, если он не приносит деньги напрямую? Давайте разберёмся и ответим на этот вопрос.

Что даёт Open Source разработчику

Поможет сделать первый шаг в карьере

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

Работа с проектами и репозиториями позволит вам начать развивать свой Github-профиль. Если в нём будет не только дата регистрации, а реальные кейсы, будет проще заинтересовать специалиста, принимающего решение о принятии вас на работу.

Улучшить навык программирования

Вне зависимости от вашего опыта, разработка Open Source проектов позволит улучшать ваши навыки. Вы сможете пробовать различные библиотеки и инструменты, которые вы ранее никогда не использовали.

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

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

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

Получить признание

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

Но стоит заметить, что не только разработчики делятся своими наработками и достижениями. Учёные пишут научные статьи, фотографы заливают свои работы на unsplash и становятся всемирно известными, а behance переполнен работами дизайнеров и часто именно там рождаются новые тренды и дизайн стили. Весь мир развивается и меняется именно из-за того, что кто-то чем-то решил поделиться, а уже как результат он становится известным, его начинают уважать и прислушиваться.

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

Часто организаторы конференций делают скидки или вообще пускают бесплатно разработчиков с Open Source проектами на свои мероприятия.

Повысить репутацию

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

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

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

С чего можно начать

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

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

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

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

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

Вместо итога

А в конце хочется подметить то, что именно Вы можете дать миру IT. И это на самом деле самый важный пункт из ответа на вопрос зачем тебе стоит начать контрибьютить в Open Source.

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

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