Лицензии с открытым исходным кодом: все, что вам нужно знать

Открытый исходный код заставляет мир технологий вращаться, формируя до 90% современного стека программного обеспечения через фреймворки; библиотеки; базы данных; операционные системы; и бесчисленное множество автономных приложений.

Преимущества программного обеспечения с открытым исходным кодом хорошо известны и обещают больший контроль и прозрачность. Однако между сферами открытого исходного кода и проприетарной сферой существует постоянная борьба, которая заставляет многие компании отказываться от открытого исходного кода, чтобы защитить свои коммерческие интересы. В основе всего этого лежит щекотливый вопрос лицензирования.

Существует два основных типа лицензий, которые соответствуют формальному определению открытого исходного кода, установленному Инициативой открытого исходного кода (OSI). «Разрешительные» лицензии несут мало ограничений в отношении того, как пользователи могут модифицировать и распространять программное обеспечение, что делает их популярными среди компаний, желающих использовать его в коммерческих целях. Кроме того, существуют лицензии с авторским левом, которые предлагают аналогичные свободы, но с одной заметной оговоркой: любая модифицированная версия программного обеспечения также должна распространяться под той же исходной лицензией с авторским левом. Это не очень привлекательно для предприятий, желающих защитить свою патентованную работу.

Но это еще не все: в каждом сегменте существуют различные лицензии. Более того, существует бесчисленное множество лицензий, которые, хотя и не являются строго открытыми, но о которых тоже стоит знать.

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

Массачусетский технологический институт

Лицензия с метким названием MIT, возникшая в Массачусетском технологическом институте в 1980-х годах, является самой популярной лицензией с открытым исходным кодом по большинству показателей и уже много лет занимает первое место среди сообщества разработчиков GitHub.

Лицензия MIT, используемая такими проектами, как React (интерфейсная библиотека JavaScript) и Ruby (язык программирования общего назначения), позволяет разработчикам использовать программное обеспечение по своему усмотрению. Как и большинство подобных лицензий, она предоставляется без каких-либо гарантий, что означает, что авторы освобождаются от любой ответственности, возникающей в результате ущерба, причиненного их программным обеспечением (например, потеря данных). Все, о чем должны беспокоиться разработчики, — это включить оригинальное уведомление об авторских правах и лицензию MIT в любую производную работу.

Но у лицензии MIT есть один недостаток: она не предоставляет явно патентных прав. Это означает, что если конкретная часть программного обеспечения основана на запатентованной технологии, это может создать юридическую неопределенность для разработчиков, которые развертывают программное обеспечение без получения отдельных разрешений для указанной запатентованной технологии.

Однако это подчеркивает одно из ключевых преимуществ лицензии MIT: язык, содержащий всего 200 слов, прост и лаконичен. Запутывание дел двусмысленной, многословной патентной болтовней добавит ненужную сложность проектам, которые вряд ли будут связаны с патентами, например, языкам программирования высокого уровня или веб-фреймворкам.

Но многие проекты с открытым исходным кодом пересекаются с запатентованными технологиями, такими как аппаратно-ориентированное программное обеспечение, такое как Android.

Лицензия Апач 2.0

Фонд программного обеспечения Apache опубликовал лицензию Apache 2.0 в 2004 году — обновление предыдущей лицензии с явной выдачей патента для защиты пользователей от судебных разбирательств. Таким образом, если разработчик, например, внесет уникальный алгоритм обработки изображений в проект, лицензированный под лицензией Apache 2.0, любые патенты, которыми разработчик владеет на этот алгоритм, автоматически лицензируются всем пользователям программного обеспечения.

Большинству людей знакома марка Android от Google, изобилующая магазинами приложений и набором собственных инструментов и сервисов. Но базовый проект Android с открытым исходным кодом (AOSP) по существу доступен под лицензией Apache 2.0, что является преднамеренным шагом Google в 2008 году для борьбы с Apple и поощрения производителей телефонов использовать Android вместо других проприетарных производителей (например, Symbian) того времени. И это сработало. Samsung, HTC, LG и все остальные перешли на Android.

Побочным продуктом этого, однако, является то, что в лицензии Apache 2.0 примерно в пять раз больше слов, чем в MIT, благодаря тексту о выдаче патента, а также другим дополнениям и разъяснениям. Но это компромисс, и он иллюстрирует ключевые различия между двумя наиболее распространенными разрешительными лицензиями с открытым исходным кодом.

Другие разрешительные лицензии

Лицензия BSD с двумя пунктами аналогична лицензии MIT, но с ключевыми отличиями с точки зрения используемого языка. Например, указано, что копия лицензии должна быть включена как в исходный код, так и в скомпилированную двоичную форму. А еще есть лицензия BSD из 3 пунктов, в которой есть дополнительный пункт «без одобрения», который ограничивает использование имен владельцев авторских прав и участников в рекламных целях в любом производном проекте.

Существует также лицензия MIT без указания авторства (MIT-0), которая проще, чем MIT, поскольку не требует указания авторства в производном программном обеспечении. Использование этого подхода близко к тому, чтобы сделать программное обеспечение общественным достоянием, за исключением того, что автор сохраняет авторские права и возможность изменять что-то в будущем.

Авторское лево

Стандартная общественная лицензия GNU (GPL) версий 2.0 и 3.0.

Фонд свободного программного обеспечения (FSF) опубликовал Стандартную общественную лицензию GNU (GPL) в 1989 году и стала одной из первых лицензий с авторским левом для общего использования.

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

По данным GitHub, лицензия GPL 3.0, выпущенная в 2007 году, является третьей по популярности лицензией. Лицензия положила начало заметным обновлениям GPL 2.0, включая положения о выдаче патентов и улучшенную совместимость с другими лицензиями с открытым исходным кодом. Он также запрещает то, что стало известно как «Тивоизация», когда производители оборудования, использующие программное обеспечение под лицензией GPL, запрещают пользователям устанавливать модифицированные версии этого программного обеспечения, используя механизмы управления цифровыми правами (DRM).

Среди известных сторонников GPL — WordPress, который доступен под лицензией GPL 2.0 «или более поздней версии», оставляя разработчику право решать, под какой лицензией распространять любые модификации.

Linux, в свою очередь, является одним из самых успешных проектов с открытым исходным кодом всех времен, используемых в серверах, облачной инфраструктуре, встроенных системах и даже в Android. Однако базовое ядро ​​Linux доступно только по лицензии GPL 2.0, учитывая, что создатель Linux Линус Торвальдс выступает против некоторых положений, добавленных в версию 3.0 лицензии, включая пункт Tivoization.

Стандартная общественная лицензия GNU Affero (AGPL) 3.0

Стандартная общественная лицензия Affero (AGPL) аналогична GPL 3.0, поскольку это «сильная» лицензия с авторским левом, которая обеспечивает свободу программного обеспечения и гарантирует, что измененные версии остаются с открытым исходным кодом. Однако ключевым отличием AGPL является то, что оно ориентировано на веб-сервисы и приложения, где программное обеспечение запускается с серверов, а не распространяется в виде исполняемых файлов.

В соответствии с лицензией GPL 3.0 разработчики не обязаны публиковать исходный код модифицированного программного обеспечения, если оно работает в сети, как это происходит с приложениями SaaS. Лицензия AGPL закрывает эту лазейку, требуя от третьих сторон предоставлять исходный код, даже если модифицированное программное обеспечение запускается только с сервера.

Лицензия AGPL 3.0, опубликованная в 2007 году Фондом свободного программного обеспечения, приобрела популярность во многом благодаря развитию облачных вычислений и SaaS, и сегодня это пятая по популярности лицензия с открытым исходным кодом.

Меньшая стандартная общественная лицензия GNU (LGPL)

Стандартная общественная лицензия GNU Lesser General Public License (LGPL) также является продуктом Фонда свободного программного обеспечения и является «слабой» лицензией с авторским левом, поскольку она более удобна для бизнеса и менее строга в отношении того, что подлежит совместному использованию. LGPL обычно используется для библиотек программного обеспечения, где авторы проектов хотят поощрять вклад сообщества, но он позволяет проприетарному программному обеспечению связываться с библиотеками без необходимости открывать исходный код всего своего проприетарного кода. Если кто-то модифицирует саму библиотеку с открытым исходным кодом, ему нужно будет выпустить эти модификации только под лицензией LGPL.

Публичная лицензия Mozilla 2.0

Общественная лицензия Mozilla (MPL) 2.0, опубликованная Mozilla Foundation в 2012 году, является сегодня десятой по популярности лицензией с открытым исходным кодом согласно показателю лицензий GitHub. MPL также является слабой лицензией с авторским левом, предназначенной для защиты проприетарного кода и позволяющей разработчикам получать выгоду от программного обеспечения с открытым исходным кодом.

Однако, хотя LGPL ориентирована на уровень библиотеки, а GPL — на уровне проекта, MPL работает на уровне отдельного файла, требуя от пользователя совместного использования более узкого набора кода.

Общественное достояние и творческое достояние

Хотя «лицензия с открытым исходным кодом» предоставляет определенные права, к ней всегда прилагаются оговорки. Однако те, кто хочет разместить свое программное обеспечение полностью в открытом доступе без каких-либо оговорок, могут сделать это другими способами.

Недостаточно просто публиковать программное обеспечение без лицензии; закон об авторском праве по умолчанию применяется к большинству творческих работ, включая программное обеспечение. Именно здесь может помочь «приверженность общественному достоянию».

Разработанная специально для программного обеспечения, Unlicense является девятой по популярности лицензией на GitHub (хотя можно ли ее на самом деле называть «лицензией» — спорный вопрос). Несмотря на то, что OSI одобрило его в качестве лицензии в 2020 году, оно отметило, что документ «плохо составлен», и поставило под сомнение его юридическую эффективность в юрисдикциях (например, в Германии), где невозможно передать работу в общественное достояние.

Как и Unlicense, CC0-1.0 от Creative Commons также является общедоступным инструментом, хотя он в более широком смысле ориентирован на творческие произведения. Он использует более ясный и профессиональный юридический язык, который может быть больше соответствует международному праву. Стоит отметить, что Creative Commons подала заявку на утверждение CC0-1.0 в качестве лицензии, совместимой с открытым исходным кодом, в 2012 году, но отозвала заявку после того, как OSI выразило обеспокоенность тем, что она явно исключает выдачу патентов.

Существуют и другие инструменты публичной поддержки, такие как Zero-Clause BSD, которые могут понравиться, поскольку имеют еще более простой язык. Однако не существует единого мнения относительно наилучшего механизма передачи всех прав на конкретную часть программного обеспечения.

Источник «фальшивой ручки»

Существует бесчисленное множество других парадигм лицензирования по всему спектру программного обеспечения.

В некоторых случаях предприятия выпускают программное обеспечение по модели двойной лицензии, при этом пользователь может выбирать между признанной лицензией с открытым исходным кодом и коммерческой лицензией, в зависимости от своих намерений. Кроме того, существует «открытое ядро», которое предлагает программное обеспечение под лицензией с открытым исходным кодом, но с платным доступом к ключевым функциям. В других случаях компания может добавить дополнение к пункту Commons к разрешенной в противном случае лицензии на открытый исходный код, устанавливая коммерческие ограничения.

Существует также множество лицензий, которые выглядят и пахнут открытым исходным кодом, но в конечном итоге несовместимы с определением открытого исходного кода.

В 2018 году гигант баз данных MongoDB перешел с лицензии AGPL с авторским левом на общедоступную серверную лицензию (SSPL), лицензию, созданную самой MongoDB. Хотя SSPL по-прежнему достаточно «открыт», это так называемый «доступный исходный код», поскольку код доступен, но имеет значительные коммерческие ограничения, что является большим запретом с точки зрения OSI.

Ребята из MariaDB пошли по аналогичному пути с лицензией на исходный код для бизнеса (BUSL), которая налагает коммерческие ограничения перед переходом на настоящую лицензию с открытым исходным кодом через определенное количество лет. Сейчас существует еще одно подобное движение, которое стремится сделать лицензирование «добросовестного источника» реальностью. Сюда входит лицензия функционального исходного кода, которая рекламируется как более простая альтернатива BUSL.

Вы также можете время от времени сталкиваться с так называемыми лицензиями «этического источника», такими как Лицензия Гиппократа, которая запрещает использование программного обеспечения в нарушение международно признанных прав человека. Точно так же открытый стандартный формат файла JSON имеет чрезвычайно либеральную лицензию, за исключением одного забавного пункта в конце: «Программное обеспечение должно использоваться во благо, а не во зло.».

Previous post Стенограмма: администратор FEMA Динн Крисвелл в программе «Лицом к нации с Маргарет Бреннан», 12 января 2025 г.
Next post Пожар в Лос-Анджелесе уничтожил «волшебное» сообщество в Альтадене