Мультилицензирование — это практика распространения программного обеспечения на двух или более различных наборах положений и условий. Это может означать несколько различных лицензий на программное обеспечение или наборов лицензий. Префиксы могут использоваться для указания количества используемых лицензий, например, dual-licensed для программного обеспечения, лицензированного по двум различным лицензиям.
Когда программное обеспечение имеет множественную лицензию, получатели обычно могут выбирать условия, на которых они хотят использовать или распространять программное обеспечение, но простое наличие нескольких лицензий в программном пакете или библиотеке не обязательно означает, что получатель может свободно выбирать одну или другую. В некоторых случаях, особенно когда программное обеспечение имеет множественное происхождение, все сопровождаемые лицензии применяются одновременно. Применимость различных лицензий должна проверяться индивидуально. [ по мнению кого? ] Дистрибьютор может или не может применять плату к любому варианту. [ необходима цитата ] Двумя обычными мотивами для множественной лицензии являются совместимость лицензий [1] и бизнес-модели, основанные на сегрегации рынка. [2]
Мультилицензирование обычно применяется для поддержки бизнес-моделей свободного программного обеспечения в коммерческой среде. В этом сценарии одним из вариантов является лицензия на проприетарное программное обеспечение, которая позволяет создавать производные от него приложения , в то время как другая лицензия — это лицензия на свободное программное обеспечение с авторским левом / открытым исходным кодом , требующая, таким образом, выпускать любую производную работу под той же лицензией. Затем владелец авторских прав на программное обеспечение обычно предоставляет бесплатную версию программного обеспечения по небольшой цене или бесплатно и получает прибыль, продавая лицензии на проприетарное программное обеспечение коммерческим предприятиям, желающим включить программное обеспечение в свой собственный бизнес. Эту модель можно сравнить с условно-бесплатным программным обеспечением . [3] [4]
Поскольку в большинстве случаев только владелец авторских прав может изменить условия лицензирования программного обеспечения, мультилицензирование в основном используется компаниями, которые полностью владеют программным обеспечением, которое они лицензируют. Может возникнуть путаница, когда лицо вне компании создает дополнительный исходный код, используя менее строгую лицензию. Поскольку компания с официальным кодом не является владельцем авторских прав на дополнительный код, они не могут законно включить эту новую работу в свою более строгую лицензированную версию. Компании могут потребовать от внешних разработчиков согласиться на лицензионное соглашение участника, прежде чем принимать их работу в официальные репозитории кодовой базы и исходного кода. [5]
Мультилицензирование используется владельцами авторских прав на некоторые пакеты свободного программного обеспечения , рекламирующими свою готовность распространять как лицензию свободного программного обеспечения с копилефтом, так и лицензию несвободного программного обеспечения. Последняя лицензия обычно предлагает пользователям программное обеспечение как фирменное программное обеспечение или предлагает третьим лицам исходный код без положений копилефта. В этом сценарии владельцы авторских прав используют монополию, предоставленную им в соответствии с авторским правом , но также используют мультилицензирование для разграничения прав и свобод, которые получают разные получатели.
Такое лицензирование позволяет держателю предлагать настройки и ранние выпуски, создавать другие производные работы или предоставлять права третьим лицам на распространение фирменных версий, при этом предлагая всем бесплатную версию программного обеспечения. Распространение пакета как свободного программного обеспечения с копилефтом может принести пользу держателю авторских прав, получая вклады от пользователей и хакеров сообщества свободного программного обеспечения . Эти вклады могут быть поддержкой преданного сообщества пользователей, маркетингом «из уст в уста» или модификациями, которые предоставляются в соответствии с лицензией копилефта. Однако обязательство держателя авторских прав обходить положения копилефта и рекламировать фирменные редистрибуции рискует потерять доверие и поддержку со стороны пользователей свободного программного обеспечения. [6] [7]
Примерами многолицензионного программного обеспечения являются NetBeans IDE от Oracle , база данных MySQL AB , Asterisk , Berkeley DB от Oracle Corporation , Modelio , Ice от ZeroC , Magnolia CMS , JUCE , wolfSSL [8] и набор инструментов разработки Qt от Qt Software .
Описание одного конкретного примера для иллюстрации мультилицензирования: Oracle MySQL поставляется в различных редакциях: MySQL Enterprise Edition [9] является коммерческой редакцией, поэтому ее необходимо приобретать. Лицензия предлагается только в виде подписки, называемой MySQL Enterprise Edition Subscription. То же самое относится к MySQL Standard Edition (MySQL Standard Edition Subscription) и MySQL Cluster CGE (MySQL Cluster Carrier Grade Edition Subscription). Другие редакции, такие как MySQL Classic Edition или MySQL Community Edition, можно использовать бесплатно с некоторыми ограничениями. Например, MySQL Community Edition является свободно загружаемой версией, доступной по лицензии GPL и поддерживаемой сообществом разработчиков с открытым исходным кодом. [10]
Термин «коммерческое ПО с открытым исходным кодом от одного поставщика» был введен Дирком Риле в 2010 году [11] [12] и позднее получил дальнейшее распространение благодаря другим ученым, таким как Саймон Р. Б. Бердал. [13]
По словам Риле:
Коммерческие фирмы с открытым исходным кодом, работающие по принципу одного поставщика, строят свой бизнес вокруг проекта программного обеспечения с открытым исходным кодом, который они полностью контролируют, обычно разрабатывая программное обеспечение и никогда не разделяя контроль с третьими лицами. Это достигается путем владения полным авторским правом на код и связанную интеллектуальную собственность, такую как патенты и товарные знаки... Обычно бесплатная форма с открытым исходным кодом предоставляется по взаимной лицензии, такой как GPL, чтобы стимулировать принятие, но остановить возможных конкурентов. Платные версии программного обеспечения затем предоставляются по коммерческой лицензии, как это делают традиционные поставщики программного обеспечения. Это также известно как стратегия двойной лицензии коммерческого программного обеспечения с открытым исходным кодом. [11]
В отличие от традиционных проектов с открытым исходным кодом, коммерческий проект с открытым исходным кодом от одного поставщика контролируется только одним заинтересованным лицом с целью его коммерческой эксплуатации . [11] В этом контексте сообщество с открытым исходным кодом меньше вовлечено в разработку базовой функциональности, как это обычно происходит в обычных (чистых) проектах с открытым исходным кодом. Как сказал тогдашний генеральный директор MySQL Мартен Микос в интервью:
Глубина вкладов различается в зависимости от продукта и ситуации. Чем глубже вы погружаетесь в ядро движка базы данных, тем сложнее кому-то вносить вклад, потому что на изучение уходит пять лет. Если вы создаете что-то на окраинах ядра — какой-то инструмент или функцию, которую вы добавляете поверх него, — то это гораздо проще, потому что меньше риск, что вы испортите весь продукт. Но из многих крошечных на вид вкладов может возникнуть что-то великое. Это аналогично тому, как в экономическом развитии микрокредиты могут иметь такое огромное влияние — каждая запись минимальна, но когда вы умножаете ее на количество людей, которые вовлечены, она становится огромной. Она начинает получать собственный импульс. . [14]
Таким образом, сообщество многолицензионного программного обеспечения, как правило, включает сотрудников фирмы-владельца кода, а также стратегических партнеров, которые имеют личный интерес в программном обеспечении. Как отмечает Риле, в однопоставщикном открытом исходном коде почти вся основная работа по разработке продукта выполняется коммерческой фирмой, с периодическими вкладами со стороны сообщества. [11]
Как отмечает Бердал, управление сообществом открытого исходного кода становится ключевым процессом управления бизнесом в этом контексте: как таковое, оно должно быть согласовано с другими видами деятельности бизнеса. Поэтому модели управления изданиями OSS с двойной лицензией могут демонстрировать тенденцию к коммерческой предвзятости. Чтобы предотвратить провокацию или отчуждение сообщества, может показаться необходимым сбалансировать коммерческие наклонности с «открытыми» интересами. [13] Это отнюдь не простая задача. Как продемонстрировал Бердал на примере SugarCRM , эта коммерческая бизнес-модель программного обеспечения с открытым исходным кодом (COSS) может вызывать существенные точки трения, которые в конечном итоге могут привести к чистым форкам с открытым исходным кодом (таблица адаптирована из Бердала, Таблица 3, стр. 75 [13] ):
Всего через несколько месяцев после того, как были обнаружены эти разногласия, был анонсирован новый форк SugarCRM Community Edition.
Второе применение мультилицензирования свободного программного обеспечения — обеспечение совместимости лицензий [1], позволяющее объединять код из проектов свободного программного обеспечения с разными лицензиями или предоставлять пользователям возможность выбора лицензии.
Примерами служат исходный код Mozilla Application Suite , а ранее Mozilla Thunderbird и Mozilla Firefox , которые использовали тройное лицензирование в соответствии с Mozilla Public License (MPL) 1.1, GNU General Public License (GPL) 2.0 или GNU Lesser General Public License (LGPL) 2.1 [15] до того, как последняя была обновлена до совместимой с GPL версии MPL 2.0, что сделало тройное лицензирование ненужным. [16] Другими примерами являются Perl , который имеет двойную лицензию в соответствии с GPL или Artistic License , [17] и Ruby , лицензия которого содержит явное двойное лицензирование GPL.
Мультилицензирование также используется дистрибьюторами несвободного ПО. Иногда это делается для проприетарного ПО, чтобы разделить рынок. Разделив клиентов на несколько категорий, таких как домашние пользователи, профессиональные пользователи и академические пользователи, владельцы авторских прав могут устанавливать разные цены для каждой группы. Однако среди компаний, выпускающих проприетарное ПО, более распространен выпуск «домашней версии» и «профессиональной версии» данного продукта, которые отличаются программным обеспечением и его функциями, а не только лицензией.
имела ужасный успех, особенно среди стартап-сообщества, которое нашло идеальную базовую лицензию, чтобы сделать возможным двойное лицензирование с коммерческой лицензией. MongoDB, RethinkDB, OpenERP, SugarCRM, а также WURFL теперь используют AGPLv3 в качестве средства для двойного коммерческого лицензирования. AGPLv3 делает это в целом легкодостижимым, поскольку у изначального автора авторских прав есть права сделать возможной коммерческую лицензию, но никто, кто получает исходный код через APLv3, не наследует это право. Я не уверен, было ли это предполагаемым использованием лицензии, но это, по крайней мере, то, для чего она определенно используется сейчас.