Открытый код как двигатель прогресса: зачем делиться своими проектами

Несколько лет назад группа студентов физического факультета МГУ создала простое мобильное приложение для составления расписания занятий – обычный учебный проект, который мог бы остаться «на полке». Вместо этого они выложили исходный код в открытый доступ, и сегодня этим приложением пользуются студенты и сотрудники по всему университету. Более того, разработчики получили грант и даже организовали цикл лекций, посвященных открытой разработке. Другая участница того же конкурса, будучи еще школьницей, благодаря своему вкладу в open-source проект получила работу младшим DevOps-инженером в «Яндексе». Такие истории не редкость: открытость проектов помогает талантам заявить о себе и превращает любительские начинания в нечто большее.
Совместная работа и обмен идеями лежат в основе многих open-source проектов, ускоряя технический прогресс и карьерный рост разработчиков. Почему же открытый обмен информацией стал двигателем развития технологий? И стоит ли вам лично делиться своими наработками с миром? Давайте разберемся, как философия open-source изменила индустрию и какое преимущество она дает каждому из нас.
Open-source – ускоритель инноваций
Открытое программное обеспечение (open-source software) – это такое ПО, чьи исходные тексты открыты для просмотра, изучения, изменения и распространения. Проекты с открытым кодом позволяют любому желающему внести свой вклад – добавить новую функцию, исправить ошибку или адаптировать продукт под свои нужды. Подобная открытость радикально изменила мир IT. За последние 15 лет движение open-source превратилось в один из ключевых факторов развития ИТ-отрасли. По оценкам экспертов, в ближайшем будущем до 80% ценности всех технологий будет создаваться за счет открытого кода.
КОЛЛЕКТИВНЫЙ РАЗУМ.
Принцип открытого кода позволяет объединить усилия тысяч специалистов по всему миру. Вместо того чтобы изобретать колесо в одиночку, разработчики делятся своими наработками и совместно доводят их до совершенства. Это проявилось еще на заре компьютерной эры: например, ученые 1950-х годов охотно обменивались программами для первых ЭВМ, фактически формируя первые сообщества обмена софтом. А в 1980-х программисты-энтузиасты во главе с Ричардом Столлманом сформулировали идеологию свободного ПО – свободу пользователей запускать программу в любых целях, изучать ее устройство, распространять копии и создавать улучшенные версии. Эти идеи легли в основу современного движения open-source.
БЫСТРЫЙ ПРОГРЕСС.
Когда код открыт, развитие идет стремительными темпами. Любой разработчик может подсказать улучшение или найти уязвимость. Срабатывает эффект «многих глаз»: чем больше людей просматривает код, тем выше шанс быстро обнаружить и устранить ошибки. Наглядный пример – операционная система GNU/Linux. В 1991 году финский студент Линус Торвальдс выложил в сеть исходники небольшого ядра ОС и пригласил сообщество к сотрудничеству. Спустя три десятилетия Linux – ядро множества популярных операционных систем (от серверов и суперкомпьютеров до Androidсмартфонов) и символ успеха open-source. За счет открытой модели разработки Linux постоянно поддерживается и улучшается тысячами программистов по всему миру.
Не менее показателен и пример веб-технологий. Европейская лаборатория CERN в 1993 году передала исходный код технологий Всемирной паутины (WorldWideWeb) в открытый доступ, сняв все ограничения на использование веб-протоколов. Этот шаг предопределил экспоненциальный рост глобальной сети. А в 1998 году компания Netscape, чьи позиции на рынке браузеров пошатнулись под натиском Internet Explorer, решила открыть исходный код своего продукта. Год спустя фирмы не стало, но сообщество разработчиков на основе открытого кода Netscape создало новый браузер – MozillaFirefox. Таким образом, открытость позволила сохранить ценные наработки: Firefox и поныне остается одним из самых популярных браузеров, чему поспособствовали десятки тысяч контрибьюторов со всего мира.
ШИРОКОЕ РАСПРОСТРАНЕНИЕ.
Open-source лежит в основе значительной части современной цифровой инфраструктуры. Интернет во многом работает на открытом ПО: подавляющее большинство веб-серверов в мире использует свободные серверные приложения (Apache, Nginx и др.). Например, Nginx – самый популярный в мире веб-сервер – был создан российским программистом Игорем Сысоевым и распространялся как открытый проект. Без открытого кода не было бы и экосистемы мобильных приложений: Android основан на ядре Linux, а большинство языков программирования, фреймворков и библиотек, которыми пользуются разработчики, распространяются по открытым лицензиям. Даже крупные корпорации осознали преимущества открытой модели – сначала Google, а затем и Microsoft начали активно открывать свои разработки и поддерживать внешние open-source проекты. Google, например, опубликовала исходники таких своих систем, как библиотека машинного обучения TensorFlow, язык программирования Go, запустив портал для тысяч своих open-source проектов. Microsoft, некогда ярый противник свободного кода, в последние годы тоже кардинально изменила позицию – открыла значительную часть своих технологий (в 2018 году корпорация передала 60 тыс. своих патентов в организацию OpenInventionNetwork) и даже приобрела GitHub, крупнейшую платформу для размещения открытых проектов.
Интересно, что принцип открытости вышел за рамки программирования и проникает в другие сферы. Дизайнеры публикуют в свободном доступе шрифты и графические шаблоны, ученые – результаты своих исследований. Например, во время пандемии COVID-19 ученые по всему миру открыто обменивались данными о новом коронавирусе и результатами своих исследований – беспрецедентный глобальный обмен, позволивший создать вакцины в рекордно короткие сроки. А государственные учреждения все чаще переходят на открытые программные решения. Например, все больше государственных учреждений устанавливают на своих компьютерах ОС Linux разных версий, а платные пакеты Microsoft Office заменяют на бесплатный Libre Office. Открытые стандарты и платформы становятся основой технологической независимости и помогают существенно экономить средства.
Таким образом, открытость – мощный ускоритель прогресса. Она экономит время и ресурсы, исключая дублирование усилий, и дает возможность каждому внести свой вклад. Не случайно представители отрасли называют прозрачность кода, гибкость кастомизации, активное сообщество и снижение затрат главными преимуществами открытого ПО перед закрытым. Масштабы сообщества opensource сегодня впечатляют: на одном только GitHub (крупнейшей платформе для разработки) к 2025 году насчитывалось более 420 млн открытых репозиториев и свыше 150 млн разработчиков.
