Open source: как бесплатный код незаметно держит весь интернет
Открытый исходный код — это не благотворительность чудаков, а фундамент, на котором стоят банки, телефоны и сам интернет. Рассказываем, как код, который можно бесплатно прочитать и изменить, стал основой цифрового мира.
Прямо сейчас на вашем экране работают десятки программ, которые написали добровольцы и отдали миру бесплатно — и вы об этом даже не подозреваете.
Открытый исходный код — это идея, что текст программы можно читать, изучать, менять и распространять. На этом простом принципе выросла почти вся современная инфраструктура.
Что значит «открытый» код
У любой программы есть исходный код — текст на языке программирования, который человек написал и понимает. Обычно компании держат его в секрете: вы получаете готовое приложение, но не можете заглянуть внутрь. Open source переворачивает это: код выложен в открытый доступ, и любой может его прочитать, исправить ошибку или сделать свою версию.
Важная тонкость: «открытый» не всегда значит «делай что хочешь». Условия задаёт лицензия. Одни (MIT, Apache) разрешают почти всё, даже в закрытых коммерческих продуктах. Другие (GPL) требуют: если ты использовал открытый код, твой код тоже должен остаться открытым. Это называют «копилефт» — игра слов с «копирайтом».
Где он прячется
Открытый код буквально повсюду, просто его не видно:
- Linux — открытая операционная система — крутится на большинстве серверов мира и внутри каждого Android-смартфона.
- Веб-серверы вроде nginx и Apache отдают вам страницы сайтов.
- Браузеры Chrome и Firefox построены на открытых движках.
- Языки Python, PHP, JavaScript и их инструменты — открыты целиком.
Подсчитано, что современное приложение на 80–90% состоит из чужого открытого кода и лишь на 10% — из собственной логики разработчиков. Программисты не пишут всё с нуля: они собирают продукт из готовых открытых кирпичиков.
Почему люди отдают труд бесплатно
Логичный вопрос: зачем тратить месяцы на код, который раздаёшь даром? Причин несколько. Кто-то решает свою задачу и понимает, что она пригодится другим. Компании выкладывают код, чтобы привлечь разработчиков, которые будут улучшать его бесплатно. Для многих это репутация: вклад в известный проект — лучшее резюме. А ещё — банальное удовольствие создавать вещь, которой пользуется весь мир.
Хрупкость общего блага
У этой красоты есть тёмная сторона. Огромные куски интернета держатся на проектах, которые в одиночку поддерживает один уставший человек на голом энтузиазме. Знаменитый комикс XKCD изобразил всю цифровую инфраструктуру как шаткую башню, где-то в основании которой — крошечный блок, «который один человек из Небраски бескорыстно поддерживает с 2003 года».
Когда такой мейнтейнер выгорает или бросает проект, последствия чувствует половина интернета. Поэтому крупные компании всё чаще финансируют открытые проекты — не из доброты, а потому что их бизнес стоит на этом фундаменте.
Как рождаются такие проекты
Почти всегда история одна: кто-то писал инструмент для себя, потом подумал «а вдруг пригодится другим» и выложил код. Дальше подтягиваются добровольцы — присылают исправления, предлагают улучшения. Постепенно вокруг кода вырастает сообщество, со своими правилами, спорами и звёздами. У больших проектов есть мейнтейнеры — люди, которые решают, какие правки принять, и отвечают за качество. Любой может предложить изменение, но войдёт оно только после обсуждения и проверки.
Культура, а не только технология
Open source — это ещё и способ работать вместе. Незнакомцы из разных стран совместно ведут проект через системы контроля версий, обсуждают правки, ревьюят код друг друга. Получился гигантский, постоянно идущий эксперимент по добровольному сотрудничеству миллионов людей, которые в большинстве своём даже не знакомы лично. И, что удивительно, он работает — именно поэтому работает и интернет.