[Перевод] Невидимые воины open source
Давайте порефлексируем на тему «кто есть кто в мире ПО с открытым исходным кодом». На ум сразу же приходят Гвидо ван Россум (автор Python), Майкл Видениус (MySQL) и Линус Торвальдс (в представлении не нуждается). Эти имена на слуху у каждого айтишника: уважаемые люди, чей вклад в мир опенсорса неопровержим и оценен по достоинству.
А как насчет Роберта Лава, Эбена Моглена или, например, Джоно Бэйкона? Возможно, кто-то из них вам знаком. Однако средний человек в лучшем случае пожмет плечами и отправится гуглить.
Кто все эти люди? Первый — автор Linux in a Nutshell, одной из самых важных книг по Linux. Второй — главный юрисконсульт фонда Свободного ПО. А Бэйкон — один из лидеров сообщества опенсорс разработчиков. Несмотря на то, как много эти люди сделали для open source, их вклад иногда остается за кадром.
Сколько еще участников open source коммьюнити так и не получили свою долю признания? Поговорим об этом под катом.
Open source строится не только руками разработчиков кода. Сотни и тысячи людей документируют исходники, распространяют их, организуют поддерживающие сообщества. Кто-то создает компании и монетизирует готовый софт. Это тоже серьезный и достойный труд — особенно когда вырученные средства отправляются на поддержку разработки проектов.
Но существует ли способ измерить вклад каждого участника этого глобального коммьюнити? Короткий ответ — со временем это станет возможно. И первые шаги в этом направлении уже предпринимаются.
Измеримость вклада
Работу программиста можно измерить. Разумеется, не при помощи варварского «количество написанных строк» — все-таки речь идет не о софтоклепательных богадельнях. Есть куда более разумные метрики.
В каждом проекте они свои: это может быть скорость работы программы, важность решаемой проблемы или что-то подобное. При расчете ключевых показателей эффективности (KPI) стоит исходить в первую очередь из своих задач. Если вы представляете себе устройство проекта, то без труда определите ключевые метрики эффективности программиста.
Конечно же в бизнес-среде под аббревиатурой KPI может скрываться целый плацдарм для злоупотребления. Да-да, Huawei, мы говорим про вас.
Кроме того, есть одна замечательная и оригинальная метрика. Ее придумал Эрик Эллиотт, автор книги Composing Software. Как-то он сказал: «Лучший способ стать в 10 раз более крутым программистом — помочь 5 другим разработчикам стать круче вдвое». Согласитесь, звучит очень в духе идеологии open source!
Эрик Эллиотт
Тем не менее, когда программное обеспечение с открытым исходным кодом переходит рубеж прототипа и обретает первых пользователей, перед ним встает огромное количество задач, которые с кодом никак не связаны.
Кто-то должен написать документацию. Поддержать с юридической стороны. Собрать единомышленников, привлечь новых разработчиков и контрибьюторов. Лишь единицам повезло попасть в список GitHub Stars. За каждым успешным проектом стоят десятки человек, которые на добровольных началах потратили личное время и силы, но остались в безвестности.
Журнал Nature пишет: «Значительный вклад — организация встреч, разъяснительная работа или выполнение других действий, которые не оставляют видимых следов в коде, — зачастую игнорируется [сообществом]. Многие важные дополнения и улучшения привносятся участниками сообществ ПО с открытым исходным кодом и часто остаются незамеченными».
Да, безвестность — это отчасти осознанный выбор контрибьютора. На первых порах им движет энтузиазм, желание помочь проекту развиться и стать еще лучше. Но со временем накапливаются обиды и непонимание. У людей пропадает запал и желание делать что-то новое и участвовать в жизни сообщества — дескать, все равно никто не оценит.
Университет Вермонта объединил усилия с Департаментом ПО с открытым исходным кодом Google в проекте под названием OCEAN, Open Source Ecosystems and Networks, чтобы решить эту проблему. В чем их миссия? Как минимум, создать у общества целостное представление о том, как отдельные люди, небольшие команды и целые организации вместе развивают open source продукты.
Помимо этого, сотрудники OCEAN задались целью создать инструменты для поиска людей, которые выполняют «незаметную» работу по улучшению открытого ПО, чтобы «увековечить» их вклад. Это весьма непросто.
Так, OCEAN ищет «здоровые» репозитории проектов с открытым исходным кодом, чтобы обеспечить им комплексную поддержку — в виде семинаров, консультаций и подбора добровольцев. OCEAN заботится о том, чтобы важные проекты встали на крыло и, случись что, смогли пережить так называемую «автобусную проблему»: что станет с программой, если её главного разработчика переедет автобус?
В сообществе обязательно должны присутствовать специалисты, которые будут заниматься ревью кода. Дотошные и внимательные люди, которым под силу найти ошибки, сортировать их и предложить исправления. Без них у продукта вряд ли будет шанс на сосуществование с коммерческими релизами, которые создаются людьми за зарплату, премию и хорошую медицинскую страховку.
Примеры «здорового» open source, к которому OCEAN стремится привести подшефные проекты, — Linux Foundation и Apache Foundation. Там всегда есть люди, которым удается организовать программистов, технических писателей и других участников сообщества.
Кроме того, OCEAN ищет тех, которым под силу сплотить людей вокруг продукта: разработчиков, тестировщиков, активных пользователей, будь то виртуальное общение или даже живые встречи. Проект направлен на то, чтобы публичное признание заслуг всех участников open source коммьюнити стало нормальным явлением. В перспективе это позволит нарастить масштабы движения и создать массу гораздо более качественных и полезных продуктов.
Да, это непросто. Сейчас OCEAN находится в зачаточном состоянии, а его перспективы весьма туманны. Может быть, вы хотите присоединиться? Это можно сделать прямо здесь и сейчас.
Если вам до сих пор кажется, что признание заслуг «невидимых» членов сообщества open source — это надуманная цель, вот вам цитата из книги Нади Эгбал:
«Влияние цифровой инфраструктуры [на нашу жизнь] по-прежнему очень тяжело оценить и измерить. Большинство метрик либо недостаточно точны, либо попросту недоступны. Без четких данных о том, какими инструментами реально пользуются люди, невозможно выяснить, какие из них недополучают финансирование. Имея более точные метрики, мы могли бы описать экономическое влияние цифровой инфраструктуры, выявить критически важные проекты, оставшиеся без поддержки, и понять зависимости между проектами и людьми».
Поиск, поддержка и признание «невидимых» участников open source — это действительно важная и достойная миссия. Разве вам не хотелось бы узнать имена людей, которые помогли создать и улучшить ваш любимый open source софт? Например, Blender, LibreOffice, Audacity, FileZilla и многие другие инструменты, которыми каждый день пользуются миллионы людей. Все, кто причастен к разработке ПО с открытым исходным кодом, кто потратил свои силы и время на реализацию крутых и важных проектов, должны получить свою толику признания — даже если их имена никогда не появятся в репозитории Git.
Мы в ISPsystem используем open source с момента основания компании, в том числе для внутренних нужд: от корпоративного мессенджера до системы учета пользователей. По нашему мнению, open source — это серьезная платформа для передачи опыта, взаимодействия разработчиков во всем мире и глобального развития проектов, над которыми работает большое количество людей.
Если у вас был опыт разработки open source ПО или вы активный участник коммьюнити какого-либо продукта, будем рады прочитать ваши истории в комментариях. Хотели бы вы, чтобы о ваших заслугах узнали? А если нет — почему?