Open Source
Программное обеспечение с открытым исходным кодом, который разрешено читать, изменять и распространять на условиях лицензии.
Что такое Open Source
Open Source (опенсорс, ПО с открытым исходным кодом) — программы, исходный код которых открыт и доступен для чтения, изменения и распространения на условиях лицензии. Определение поддерживает Open Source Initiative (OSI): помимо доступности кода оно требует свободного распространения, разрешения на производные работы и отсутствия дискриминации по областям применения — нельзя запретить использовать программу коммерчески или в конкретной отрасли.
Главное заблуждение: открытый ≠ бесплатный. Открытость — про права, а не про цену. Опенсорс можно продавать, а проприетарную программу — раздавать даром. В английском для этого есть присказка «free as in freedom, not as in free beer»; ближайшая русская пара — «свободный», а не «бесплатный».
Рядом живёт термин free software (свободное ПО) от Free Software Foundation с четырьмя свободами: запускать, изучать, распространять и улучшать. На практике списки программ почти совпадают, различие идеологическое: FSF считает открытость этическим требованием, OSI — практическим преимуществом разработки.
Отдельно стоит source-available: код виден, но лицензия ограничивает применение. Это не опенсорс, хотя выглядит похоже.
Лицензии: главное различие
Лицензия определяет, что вы обязаны сделать, если используете чужой код. Ключевой водораздел — пермиссивные против копилефтных.
| Лицензия | Тип | Что обязывает |
|---|---|---|
| MIT | Пермиссивная | Сохранить текст лицензии и копирайт |
| BSD (2/3-clause) | Пермиссивная | То же; 3-clause запрещает использовать имя автора в рекламе |
| Apache 2.0 | Пермиссивная | Сохранить уведомления, отметить изменения; даёт явную патентную лицензию |
| MPL 2.0 | Слабый копилефт | Открыть изменённые файлы библиотеки |
| LGPL | Слабый копилефт | Открыть изменения самой библиотеки; линковка своего кода не заражает |
| GPL v3 | Сильный копилефт | При распространении продукта открыть весь производный код под GPL |
| AGPL v3 | Сильный копилефт | То же + считает работу по сети распространением |
Пермиссивные (MIT, BSD, Apache) разрешают почти всё, включая встраивание в закрытый коммерческий продукт. Единственная реальная обязанность — не убирать уведомления об авторстве.
Копилефт (GPL) требует взаимности: раздаёте производный продукт — раздавайте и исходники на тех же условиях. Отсюда слово «вирусность» — оно про распространение условий лицензии, а не про вред.
Отдельного внимания заслуживает AGPL. GPL требует открывать код только при распространении программы, а SaaS ничего не распространяет — пользователь работает по сети. AGPL закрывает эту лазейку: если вы предоставляете доступ к изменённой AGPL-программе через сеть, обязаны предложить пользователям её исходники. Практический вывод: AGPL-компонент внутри публичного сервиса — вопрос к юристам, а не к разработчику.
Что важно на практике:
- Лицензия зависимости распространяется на вас. Прочитать нужно не только лицензию проекта, но и всё, что он тянет за собой.
- Патентная оговорка Apache 2.0 — причина, по которой её часто выбирают для корпоративных проектов вместо MIT.
- Отсутствие лицензии — не «делай что хочешь». Код без лицензии защищён авторским правом по умолчанию, использовать его нельзя.
- Открытый код не даёт гарантий. Все эти лицензии содержат отказ от ответственности заглавными буквами.
Смена лицензий и форки
За последние годы несколько крупных проектов ушли из опенсорса в source-available, чтобы облачные провайдеры не зарабатывали на их коде: MongoDB перешла на SSPL, HashiCorp — на BUSL. Ни SSPL, ни BUSL не одобрены OSI, то есть формально это уже не Open Source.
Сообщество отвечает форками: от Terraform отпочковался OpenTofu, от Redis — Valkey под крылом Linux Foundation. Это иллюстрирует главную практическую ценность открытой лицензии: право на форк означает, что смена политики вендора не оставляет пользователей в заложниках.
Как на этом зарабатывают
- Open core — ядро открыто, корпоративные функции (SSO, аудит, квоты) в платной редакции. Так устроен GitLab.
- SaaS от авторов — код бесплатен, платят за managed-хостинг и отсутствие забот.
- Поддержка и подписка — модель Red Hat: код открыт, деньги за сертифицированные сборки, обновления и SLA.
- Двойное лицензирование — GPL для сообщества, платная коммерческая лицензия для тех, кому копилефт не подходит.
Опенсорс в инфраструктуре
Открытым является практически весь стек, на котором работает современный хостинг: Linux, Nginx, PostgreSQL, Docker, Kubernetes, Prometheus, OpenStack. Это не идеология, а экономика: базовая инфраструктура слишком дорога, чтобы каждый строил её сам, и выгоднее развивать общую.
Практический смысл открытости для админа — три вещи: отсутствие vendor lock-in (не нравится провайдер — переносите тот же стек), возможность посмотреть, как оно работает при отладке странного поведения, и право форкнуть, если проект бросили.
В ML сложилось отдельное понятие — открытые весы (open weights). Модели Llama, Qwen, Mistral выкладываются на Hugging Face и запускаются на своём железе, но их лицензии часто не соответствуют определению OSI: встречаются ограничения на области применения или на масштаб использования. Кроме того, «открытые весы» почти никогда не означают открытые обучающие данные. Называть такие LLM опенсорсом строго корректно не всегда — проверяйте текст лицензии конкретной модели, а не заголовок новости.
Связанные термины
- Linux — главный опенсорс-проект инфраструктуры
- GitHub — где живёт большинство открытых проектов
- Git — инструмент, сделавший форк дешёвой операцией
- Hugging Face Hub — репозиторий моделей с открытыми весами
- Kubernetes — пример открытого проекта, ставшего отраслевым стандартом
- DevOps — практика, построенная почти целиком на открытых инструментах
Готовы запустить GPU-задачу?
Запустить GPU-сервер