Привет! Меня зовут Михаил Альфа. И я хотел бы поделиться мыслями о насущном.

Все разработчики пользуются чужим умственным трудом каждый день и воспринимают это как должное — хочешь получить некий функционал — скачиваешь «зависимость» — он у тебя есть. Хочешь что-то посложнее — пара зависимостей. Что-то ну совсем сложное — придется написать код.

Речь идет про Open Source-решения, которые экономят всем нам десятки тысяч человеко-часов разработки, миллиарды долларов денег и избавляют нас от миллионов багов. Вы только представьте: вы начинаете новый проект и вам придется с 0 переизобретать Backend-фреймворк для того, чтобы написать простой CRUD. Или — каждый ваш новый интернет-магазин — это написанный с 0 реактивный фреймворк в стиле тех, что писались до React / Angular.js.

Безусловно, писать все это с нуля каждый раз бы не стали, для бизнеса очень важны «бизнесовые» показатели, а потому — из проекта в проект тянулись бы эти наколеночные решения, проприетарные, полные кучи разнообразных багов и невероятно сложные в поддержке, развитии и с высокой кривой обучения. Возможно, с течением времени бы некоторые компании выпускали в рынок свои более-менее работоспособные и качественные программные решения (ну те же Backend / Client фреймворки) и продавали бы их вам. Вот было бы «классно» — хочешь преобразовать JSON в Excel на фронте за пару строк кода — с тебя 100$ (в месяц, это же подписка!). Хмм…хочешь иметь возможность просмотра того, кто в твоей команде писал код кроме тебя? Когда? Какие были изменения? Что было написано 2 года назад в четверг в 16:59 и поднять эту версию локально? Ну тогда с тебя еще 100500 $ в месяц!

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

Вы пишите что-то, что сможет использоваться не только вами и в вашем проекте. Или, быть может, вы просто планируете переиспользовать это в другом проекте? Отлично — эта сущность отделима и выделима. Её можно оформить в отдельный проект. Повысить в ней качество кода (это ведь Open Source — там черт ноги ломать не должен), покрыть тестами и предоставить другим людям в пользование тоже — внести свой посильный вклад. Либо, если вы нашли некий баг в библиотеке, которую скачали с вашего любимого репозитория пакетов — исправьте его, вместо того, чтобы открывать очередной issue. Сделайте доброе дело.

Ну и напоследок — это нужно не только нам, разработчикам. Мы пишем код не для того, чтобы хвастаться у кого он лучше или быстрее работает (по крайней мере большинство из нас), мы пишем его для того, чтобы решать БИЗНЕС-задачи. Которые приносят бизнесу деньги. И бизнес в первую же очередь заинтересован в том, чтобы такая тривиальная проблема, как, к примеру, пресловутая генерация Excel на клиенте, решалась за несколько часов (ну, максимум — дней), вместо месяцев, поэтому бизнес должен помогать развитию Open Source не меньше, чем сами разработчики — выделяйте время на то, что описано абзацем выше. Спонсируйте качественные и полезные всему миру решения. Поощряйте стремления ваших разработчиков в этом направлении (а если этих стремлений нет — покажите им эту заметку) — тогда «добра» в мире будет больше, задачи ваши будут решаться быстрее, а денег на простые банальности вы будете тратить меньше и вместо очередного придумывания как добавить слева 10 пробелов ваши разработчики смогут покрасить кнопку именно в тот цвет, в который вы хотите 🙂

Можете последовать моему примеру и внести свою посильную лепту.