5 вещей, которые я узнал о разработчиках Open Source

5 вещей, которые я узнал о разработчиках Open Source

Coding


Последние 12 месяцев я интенсивно работал с разработчиками открытого кода. На предыдущих предприятиях, над которыми я работал, мои команды и я использовали библиотеки с открытым исходным кодом, но это был первый раз, когда я фактически перешел черту от другого безликого человека, клонирующего какой-то код, до фактической встречи с людьми, стоящими за хранилищем. Это было (и остается) познавательное путешествие.

Строго говоря, я сам не разработчик. Я могу написать код, но поверьте мне - вы не захотите его читать, не говоря уже о том, чтобы его запустить. Я чувствую себя более комфортно на стороне продукта. Как менеджер по продуктам и предприниматель, я работал со многими разработчиками программного обеспечения на протяжении многих лет. За это время я глубоко оценил эту профессию и ее уникальное мастерство. Но разработчики с открытым исходным кодом, в основном те, кто начинает свои проекты с нуля, и разработчики, которые помогают поддерживать их в течение длительных периодов времени, всегда были для меня загадкой. Удивлен тем, как эти разработчики создавали сложные части программного обеспечения, тратя бесчисленные часы своего свободного времени в течение месяцев и лет - исключительно по собственному желанию.

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


Они не просто умны

Разработчики умны. Они должны быть. Написание кода - невероятно сложная задача. Огромная интеллектуальная мощь, необходимая для выполнения даже некоторых самых основных задач, которые с точки зрения пользователей кажутся очевидными для непрограммистов, взорвут ваш разум, если вы к этому не привыкли. Я всегда говорю, что работать с разработчиками одновременно и очень полезно, и очень сложно, потому что нужно иметь дело с самыми умными 1% на планете. Как таковые, они требовательны, а иногда просто пытаются идти в ногу с разработчиком, пытающимся объяснить какую-то сложную концепцию, заставляют мою голову кружиться.

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

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

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


У них есть нечто большее, чем просто страсть

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

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

Обычно это начинается с проблемы, с которой они сталкиваются в своей повседневной работе, что заставляет их задуматься: «Почему нет решения этой проблемы?». Существует широкая пропасть, которая простирается между "есть проблема" и "я решу эту проблему, чтобы все остальные могли использовать мое решение", и только избранные несколько пересекают его. Когда проблема, с которой они начали, решена, именно их страсть побуждает их продолжать исследовать, разрабатывать больше функций и расширять возможности. Нет никакого боссов. Никаких заданий. Никаких сроков или клиентов, ждущих сборки. Это чистая страсть.


Они продолжают действовать

Я родился в Израиле. Многие называют его "стартап-нацией", так как в Израиле самый высокий показатель стартапов на душу населения в мире за пределами Кремниевой долины. Я думаю, что это как-то связано с предпринимательским духом, которым израильтяне прививаются с рождения. Но наряду с такими успешными историями, как Waze, Wix, Fiverr и Mobileye, вокруг немало "энтузиастов". Наверное, это не уникально для Израиля, но, как местный житель, я могу сказать вам, что встречал довольно много. Люди, которые думают, что у них есть отличная идея и они могут "поговорить", но им не хватает настойчивости, чтобы "погулять" и на самом деле вложиться в работу, чтобы это произошло. Создание отличного продукта требует времени. Много времени. Идеи недостаточно, нужна настойчивость, чтобы протолкнуть вещи.

Разработчики и сопровождающие с открытым исходным кодом обладают уникальной способностью, продолжать работу над проектом в течение длительного времени. Ни один проект не является идеальным в версии 0.0.0.1. Требуется время, работа и дисциплина, чтобы продолжать работать над чем-то и сделать его действительно полезным. Когда я сидел с некоторыми разработчиками, просматривая их ранние версии, они смеялись. Настойчивость - это то, что заставило их перейти от нескольких грязных функций к сложным проектам, используемым в тысячах коммерческих приложений.


Они - невоспетые герои кода

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

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

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


Они недостаточно компенсированы

Разработчики с открытым исходным кодом в нем не за деньги. Очевидно, что сейчас их нет. Они делают то, что делают, благодаря причинам, о которых я писал выше. Нам повезло! Но опросив десятки разработчиков с открытым исходным кодом, я начал видеть трещины в стене.

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

Открытый исходный код стал настолько распространенным, что мы редко останавливаемся, чтобы подумать о людях, стоящих за этим. Работая в коммерческих компаниях по разработке программного обеспечения, мы используем компоненты с открытым исходным кодом практически для всего.Они действительно повсюду. Я читал, что 90% коммерческого программного обеспечения, разработанного сегодня, в некоторой степени полагается на компоненты или системы с открытым исходным кодом. Эти компоненты стали настолько распространены, что вы даже не подумаете дважды, прежде чем использовать их. Если вы работали над любым коммерческим программным обеспечением и использовали компонент с открытым исходным кодом - вы когда-нибудь задумывались о бесчисленных часах и бессонных ночах, которые приходилось проводить человеку или команде, чтобы у вас была эта невероятная часть программного обеспечения, которая только что спасла вас от нескольких месяцев работы? Правда, некоторые из нас вносят свой вклад, но лишь немногие действительно разрабатывают код с нуля, чтобы другие могли его использовать.

Если мы хотим, чтобы открытый исходный код продолжал расти, мы должны понимать, что хорошие люди, стоящие за этим, не получают достаточной компенсации. Вообще-то, они вообще не компенсируются. Когда разработчик тратит время на исправление ошибок, работу над новыми функциями, поддержку новых версий фреймворка и многое другое - без ЛЮБОЙ формы компенсации он может оказаться недолговечным. Я видел, как многочисленные проекты с открытым исходным кодом отказывались от своих разработчиков, потому что у них просто не было ни времени, ни ресурсов для продолжения работы над ними. Слишком много сообщений об ошибках, слишком много работы, чтобы продолжать развивать больше функций, справляться с проблемой безопасности, адаптироваться к новым технологиям, выходящим в свет. Разработчики с открытым исходным кодом никогда не просили денег, но если они не получат ресурсы, необходимые для продолжения разработки - мы все проиграем. 



Заключение

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

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

Источник


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


Report Page