Лицензии для программного обеспечения. Часть 1 – открытые лицензии
Давайте обсудим распространение программного обеспечения по лицензии. Я не юрист и никогда глубоко не разбиралась в этой теме, но хочу начать – отсюда этот пост.
Всего есть три основные стратегии лицензирования:
- коммерческое лицензирование;
- распространение с открытым исходным кодом;
- гибридные варианты.
Начнем с открытого исходного кода. Во-первых, с этой стратегией я больше знакома, во-вторых, я ее периодически упоминаю, рассказывая о разных инструментах, так что нужно раскрыть, о чем речь.
Сначала я хотела написать про все типы лицензий сразу, но что-то разошлась, поэтому разобью этот пост на несколько частей. Сегодня у нас первая.
Что такое открытый исходный код (open-source)
В 1998 году Брюс Перенс (Bruce Perens) и Эрик Рэймонд (Eric S. Raymond) основали Open Source Initiative – некоммерческую организацию, которая поддерживает выход открытого программного обеспечения. Я эту организацию упоминала в одном из своих постов, и там же обещала рассказать про нее поподробнее. Рассказываю.
Все началось чуть раньше, в 1997 году, когда Брюс Перенс опубликовал «Социальный контракт» Debian с разработчиками свободно распространяемого программного обеспечения («Debian's "Social Contract" with the Free Software Community»). Debian – это операционная система, Брюс Перенс был руководителем проекта по ее созданию. На данный момент Debian – одна из наиболее популярных операционных систем, которые используют разработчики по всему миру. На ней основана также очень популярная Ubuntu. Сама Debian создана на основе операционной системы Linux, которая тоже распространяется свободно. Так что можно сказать, что история открытого ПО началась еще раньше, в 1993 году.
В «социальном контракте» значится следующее:
- Debian навсегда останется на 100% бесплатной для пользователей. Делать на ее основе что-то платное можно, но сама она не будет включать никаких платных компонентов.
- Все новые компоненты Debian тоже будут бесплатными.
- Отчет об ошибках и проблемах будет доступен публично для всех желающих с ним ознакомиться.
- Интересы пользователей в приоритете: разработчики обещают совершенствовать Debian и делать ее все более полезной и универсальной.
- Если что-то создано на базе Debian и распространяется на коммерческой основе, авторы не возражают, их разрешение не нужно. Если что-то создано на базе Debian, разрешение на использование нужно спрашивать у авторов этого чего-то, а не у авторов Debian.
Отдельно прописано, что считать открытым ПО:
- оно распространяется бесплатно и через любые источники без ограничений;
- распространяется с исходным кодом (то есть, абсолютно со всеми файлами, которые входят в его состав);
- его лицензия не запрещает модификации и доработки, эти модификации и доработки могут распространяться на тех же условиях, что и исходное ПО;
- если автор открытого ПО хочет сохранить его целостность, он может запретить распространение модифицированной версии своего кода, но должен в таком случае разрешить распространение исходной версии кода с надстройками, которые сделают другие разработчики;
- лицензия на открытое ПО не может ограничивать ни использование конкретными людьми / группами людей, ни использование в отдельных областях;
- дополнительных лицензий быть не должно, даже если ПО распространяется через посредников;
- открытые лицензии не привязаны к Debian: если ПО бесплатно на Debian, оно должно быть бесплатно на любой другой оперативной системе;
- если свободное ПО распространяется вместе с коммерческим, у каждого компонента своя лицензия: свободная лицензия не может распространяться на коммерческое ПО только потому, что они работают вместе.
В 1998 году Перенс опубликовал эти принципы уже как более общее определение свободного ПО, заменив отсылки на Debian общим термином «ПО с открытым исходным кодом» (Open Source).
И в том же году они с Рэймондом основали Open Source Initiative (OSI) на стратегической сессии в штате Калифорния, США. Это случилось вскоре после того, как создатели Netscape (это веб-браузер, он сейчас не поддерживается уже) объявили о своем решении опубликовать его открытый исходный код. Участники конференции хотели разграничить «свободно распространяемое» и «бесплатное» ПО и дать первому более четкое определение, отсюда выросла OSI.
Данное Перенсом определение действует по сей день, хотя уже появилось некоторое количество открытых лицензий со своими особенностями. Решение о том, что новая лицензия соответствует или не соответствует принципам свободно распространяемого ПО, принимает Open Source Initiative в лице специального комитета. На их сайте есть список одобренных лицензий, с которым можно ознакомиться.
Самая свободная лицензия – MIT License, если вы видите ее, значит, ПО можно смело использовать где угодно и как угодно, менять, распространять измененные версии от своего имени и так далее.
Вообще выделяют две группы лицензий: разрешительные (они же пермиссивные, permissive) и копилефт (copyleft). Лицензия MIT относится к первым: там минимум ограничений, максимум свободы. Конечно, перед тем, как лезть в код, стоит лицензию прочитать. Там, например, может содержаться требование процитировать автором правильным образом.
Копилефт – это «анти-авторское право». Слово образовано от copyright и имеет противоположный смысл: если вы использовали что-то, что распространяется по копилефт-лицензии, вы можете распространять свою разработку только по такой же лицензии. То есть, создать коммерческий продукт нельзя. С разрешительными лицензиями можно.
Зачем нужно открытое ПО
Свободное распространение позволяет привлечь к проекту новых разработчиков и получить ценные доработки, опираясь на опыт целого сообщества.
Кроме того, некоторые компании выкладывают свои разработки в открытый доступ из корыстных побуждений, как бы это ни звучало: вот, мол, посмотрите, как мы умеем, покупайте наши продукты, они такие же классные.
Еще открытое ПО быстрее распространяется и приживается. Соответственно, если сначала что-то выдать в открытый доступ, а потом продавать к этому чему-то дополнительные фишечки, шанс на успех будет выше, чем если сразу все продавать за деньги.
Но важнее всего то, что открытые лицензии позволяют разработчикам со всего мира вместе создавать что-то интересное, делиться опытом и ресурсами. Целый язык Python, например, распространяется по открытой лицензии, и множество умных людей по всему миру постоянно создают для него новые инструменты.
Я пользуюсь открытым ПО постоянно и на работе, и в собственных проектах. Мои любимые фреймворки, например, все открытые, большие языковые модели есть открытые, и спасибо за это их разработчикам.
Что там за проблемы у the Open Source Initiative
Сразу оговоримся, что проблемы бывают у всех компаний. Организациями управляют люди, люди иногда делают странные вещи, что уж тут поделать. Вопрос не в том, чтобы не косячить, а в том, чтобы правильно реагировать на свои косяки, брать на себя ответственность и исправляться. OSI как организация действует и играет важную роль в поддержке и распространении открытого ПО, и пожелаем им в этом успеха.
Теперь к проблемам.
В 2020 году OSI покинул первый основатель, Брюс Перенс. Конфликт произошел вокруг лицензии «Cryptographic Autonomy License», которая была подана на рассмотрение в OSI. Перенс был против ее одобрения, потому что счел ее слишком сложной и недостаточно свободной для свободного ПО. Кроме того, он высказался против того, чтобы продолжать и так уже длинный список лицензий, потому что это создает путаницу и усложняет процесс распространения ПО.
Из того, что мне удалось найти, сейчас Перенс работает над собственным стартапом с радиопередатчиками. И еще консультирует по правовым вопросам.
Через пару месяце в том же году в OSI забанили Рэймонда. По его собственным словам, он слишком жарко защищал требования не ограничивать отдельных людей и группы людей в использовании открытого ПО, а также не ограничивать области применения открытого ПО. Он пишет, что забанили его за проявление свободомыслия, но в детали не вдается. В Википедии есть ссылка не копию его сообщения, за которым последовал бан, однако достоверность этой копии не подтверждена.
В 2024 году организация выпустила определение открытого ИИ, и оно не всем понравилось. Сложности возникли с самим определением ИИ и того, что в него входит и что, собственно, должно распространяться по открытой лицензии.
Там свой темный лес, в который нужно лезть отдельно: ИИ – не «типичное» ПО, для полной открытости нужно раскрывать модель, веса и обучающие данные. Но если данные медицинские, например, то их нельзя раскрывать, потому что это подвергает опасности пациентов. Но если данные закрыты, нельзя сказать, что модель полностью открыта, ведь данные вносят существенный вклад в ее работу. В общем, сегодня мы туда не полезем, иначе не выберемся вообще из этого поста.
Наконец, в 2025 году приключился скандал с выборами в совет директоров OSI. Там вроде как не все чисто, и довольно впечатляющее количество людей подписалось под петицией с требованием опубликовать результаты. Они утверждают, что были кандидаты, исключенные из списка уже после того, как голосование завершилось.
В марте выложили результаты выборов. Я не нашла комментариев OSI по поводу петиции и высказанных в ней обвинений, но нашла гневную критику этих самых результатов. В общем, у них там весело.
Заключение
Как бы там ни было, разработчики по-прежнему выкладывают и используют открытое ПО, что совершенно замечательно. Иметь лицензии и конкретные определения важно, разумеется. Но сама культура совместной работы над кодом не зависит ни от конкретной организации, ни от ее директоров. Если надо будет, между собой сами как-нибудь разберемся, я считаю.
На этом закроем первый пост из серии про лицензии. Следующий будет про коммерческие, но когда он выйдет, я пока не знаю. Скорее всего, не раньше сентября, потому что до конца августа я уже все расписала. Там все интересное, так что подписывайтесь, чтобы не пропустить. А еще лучше подписывайтесь на мой телеграм: там постов больше. К осени я готовлю кое-что новенькое, и именно в телеграме вся информация появится в первую очередь.