Open Source

Что такое open source

Linux работает на 96% серверов интернета, в каждом Android-телефоне и в суперкомпьютерах NASA. Его написали тысячи добровольцев. Как это работает - и почему крупнейшие корпорации платят за это деньги?

  • Linux Kernel: 30+ миллионов строк кода, 15,000+ контрибьюторов, включая инженеров Google, Meta, Intel
  • Microsoft купила GitHub за 7.5 млрд и стала одним из главных контрибьюторов в OSS
  • TypeScript, VS Code, .NET Core - открытый код от Microsoft имеет миллиарды пользователей
  • Страховая компания Allianz открыла внутренние инструменты и получила 200+ внешних улучшений за год

От свободного ПО к open source

**1983 год:** Ричард Столлман запускает проект GNU и формулирует четыре свободы пользователя ПО: запускать, изучать, распространять и улучшать. Это называлось «Free Software» - но слово «free» означало свободу, а не бесплатность. Разницу понимали не все.

**1998 год:** Netscape открывает исходный код браузера. Эрик Реймонд и Брюс Перенс придумывают термин **Open Source** - без политики, только практика. OSI (Open Source Initiative) формализует определение: 10 критериев, которым должна отвечать лицензия.

Сегодня open source - это не альтруизм, а **экономическая модель**. Linux лежит в основе 96% серверов интернета. React, Vue, TypeScript, Node.js, Python - весь современный стек построен на открытом коде. Компании вкладывают миллионы, потому что это выгодно.

**Почему компании открывают код:** 1) Привлечение талантов - лучшие инженеры идут туда, где видят работу. 2) Снижение затрат - внешние контрибьюторы исправляют баги бесплатно. 3) Стандартизация рынка - если ваш формат открыт, конкуренты вынуждены его поддерживать.

Google активно финансирует разработку Chromium (движок Chrome) и Kubernetes. Какая главная бизнес-причина?

Лицензии: MIT, Apache, GPL, AGPL

Лицензия определяет **что можно делать с кодом**. Выбор неправильной лицензии - частая ошибка новичков. Главный вопрос: насколько «заразной» должна быть ваша открытость?

**GPL в коммерческом продукте:** Если вы включаете GPL-библиотеку в своё приложение, ВЕСЬ ваш код должен стать GPL. Это называется «вирусный copyleft». Именно поэтому Android использует не GPL, а Apache 2.0 + LGPL для библиотек.

Вы создаёте open source ORM-библиотеку и хотите максимального adoption в коммерческих проектах. Какая лицензия лучше?

Ключевые идеи

  • Open source - экономическая модель, а не альтруизм: компании открывают код ради talent acquisition, стандартизации рынка и внешних контрибьюций
  • MIT/Apache 2.0 - permissive лицензии, минимальные ограничения, максимальный adoption
  • GPL/AGPL - copyleft лицензии, производные работы тоже должны быть открыты
  • AGPL специально блокирует коммерческий SaaS без открытия изменений
  • Для библиотек с широким adoption выбирайте MIT или Apache 2.0

Связанные темы

После понимания основ - переходим к практике: как устроены реальные проекты.

  • Следующий урок курса — Логическое продолжение

Вопросы для размышления

  • Вы создаёте базу данных для предприятий. Хотите зарабатывать на облачной версии, но не хотите чтобы AWS просто взял ваш код и продавал как услугу. Какую лицензию выбрать и почему?
  • Почему Linux использует GPL v2 (а не v3)? Подсказка: посмотрите на историю конфликта Торвальдса с GPLv3.

Связанные уроки

  • se-01 — Принципы разработки ПО - основа для понимания качества кода и code review в OSS
  • devops-01 — CI/CD и DevOps практики стандартны в open source проектах
  • net-01-intro — Понимание сетей помогает разобраться в distributed OSS проектах вроде P2P и децентрализованных инструментов
  • oss-02-how-projects-work — Следующий урок объясняет структуру реальных OSS-проектов и как в них участвовать
  • alg-01-big-o — Выбор лицензии - стратегическое решение с trade-off между adoption и защитой, аналогично выбору алгоритма с trade-off между временем и памятью
Что такое open source

0

1

Войти