Открыть сервис

Открытое программное обеспечение

Открытое программное обеспечение (англ. open-source software, OSS) — это программное обеспечение, исходный код которого доступен для всеобщего просмотра, использования, изменения и распространения любым лицом или организацией. Открытое программное обеспечение создаётся и распространяется на основе лицензий, соответствующих определению «открытого исходного кода» (Open Source Definition, OSD), и, как правило, не требует выплаты лицензионных отчислений правообладателю. В отличие от проприетарного (закрытого) ПО, OSS предполагает коллективное развитие и прозрачность процесса разработки, хотя может иметь как коммерческих спонсоров, так и полностью волонтёрские сообщества.

История

Предыстория и ранние годы

Концепция свободного обмена программным кодом возникла ещё в 1950–1960-х годах, когда программное обеспечение распространялось вместе с исходным кодом как часть оборудования (например, в среде пользователей мейнфреймов IBM). В 1970-х годах, с коммерциализацией ПО, код начали закрывать. Реакцией на это стало движение за свободное программное обеспечение, основанное Ричардом Столлманом в 1983 году с запуском проекта GNU. Столлман сформулировал четыре фундаментальные свободы: запускать программу, изучать и изменять её код, распространять копии и улучшать программу с передачей изменений сообществу.

Появление термина «открытое ПО»

Термин «открытое программное обеспечение» (open-source software) был предложен в 1998 году группой активистов, включая Эрика Реймонда и Брюса Перенса, как более прагматичная и деловая альтернатива термину «свободное ПО» (free software). В том же году была основана организация Open Source Initiative (OSI), которая разработала и поддерживает определение открытого исходного кода (OSD). Основное различие между подходами заключается в акцентах: движение свободного ПО делает упор на этические и социальные аспекты (права пользователя), а движение открытого ПО — на практические преимущества открытой разработки (качество, скорость, надёжность).

Развитие в 2000–2020-х годах

С начала 2000-х годов открытое ПО стало массовым явлением. Ключевые проекты, такие как Linux (ядро операционной системы), Apache HTTP Server, Firefox, MySQL, Python, стали основой интернет-инфраструктуры и корпоративных IT-систем. Крупные компании (Google, Microsoft, IBM, Red Hat) начали активно участвовать в разработке OSS, создавать собственные открытые проекты (например, Android, Kubernetes, Visual Studio Code) и нанимать разработчиков для работы над ними. К 2020-м годам открытое ПО стало доминирующей моделью для многих категорий программного обеспечения, особенно в области облачных технологий, искусственного интеллекта и инструментов разработки.

Определение открытого исходного кода (OSD)

Open Source Initiative установила десять критериев, которым должна соответствовать лицензия, чтобы ПО считалось открытым:

  1. Свободное распространение — лицензия не должна ограничивать продажу или бесплатную передачу ПО.
  2. Исходный код — программа должна включать исходный код или обеспечивать его доступность.
  3. Производные работы — лицензия должна разрешать модификацию и создание производных работ.
  4. Целостность исходного кода автора — может требоваться, чтобы модифицированные версии имели другое имя или номер версии.
  5. Отсутствие дискриминации лиц или групп — лицензия не должна ограничивать использование определёнными категориями людей.
  6. Отсутствие дискриминации областей деятельности — лицензия не должна запрещать использование в коммерции, науке и т. д.
  7. Распространение лицензии — права должны применяться ко всем, кто получает программу.
  8. Лицензия не должна быть привязана к продукту — права не должны зависеть от того, является ли программа частью определённого дистрибутива.
  9. Лицензия не должна ограничивать другое ПО — она не может требовать, чтобы всё остальное ПО, распространяемое вместе с данным, также было открытым.
  10. Лицензия должна быть технологически нейтральной — не должна требовать согласия на определённый интерфейс или стиль.

Основные лицензии

Все открытые лицензии делятся на два основных типа: копилефтные (copyleft) и разрешительные (permissive).

Копилефтные лицензии

Требуют, чтобы производные работы (модифицированные версии) распространялись под той же лицензией. Это гарантирует, что код остаётся открытым для всех последующих пользователей.

Разрешительные лицензии

Позволяют использовать код в проприетарных (закрытых) проектах без обязательного раскрытия исходного кода производной работы.

Преимущества и недостатки

Преимущества

Недостатки

Применение

Открытое ПО охватывает практически все сферы информационных технологий:

Открытое ПО в России

В России открытое ПО получило значительное распространение в государственном секторе и образовании после 2014 года, в рамках политики импортозамещения. В реестр отечественного программного обеспечения включено множество продуктов на основе открытого кода, в том числе операционные системы семейства «Альт» (на базе Linux), Astra Linux, РЕД ОС, а также офисные пакеты «МойОфис» (частично на открытых компонентах) и LibreOffice. В 2023 году приняты поправки к законодательству, стимулирующие использование открытого ПО в государственных и муниципальных органах. Российские разработчики активно участвуют в международных открытых проектах (например, в ядре Linux, PostgreSQL, Python).

Критика

Основные направления критики открытого ПО включают:

Интересные факты

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →