La concesión de licencias múltiples es la práctica de distribuir software bajo dos o más conjuntos de términos y condiciones diferentes. Esto puede significar varias licencias de software o conjuntos de licencias diferentes. Se pueden utilizar prefijos para indicar la cantidad de licencias utilizadas, por ejemplo, licencia dual para software con licencia bajo dos licencias diferentes.
Cuando un software tiene múltiples licencias, los destinatarios normalmente pueden elegir los términos bajo los cuales quieren utilizar o distribuir el software, pero la simple presencia de múltiples licencias en un paquete o biblioteca de software no necesariamente indica que el destinatario pueda elegir libremente una u otra. En algunos casos, especialmente cuando el software tiene múltiples orígenes, todas las licencias que acompañan se aplican al mismo tiempo. La aplicabilidad de las diferentes licencias debe comprobarse individualmente. [ ¿según quién? ] El distribuidor puede o no aplicar una tarifa a cualquiera de las opciones. [ cita requerida ] Las dos motivaciones habituales para las licencias múltiples son la compatibilidad de licencias [1] y los modelos de negocio basados en la segregación del mercado. [2]
La concesión de licencias múltiples se realiza habitualmente para apoyar los modelos de negocio del software libre en un entorno comercial. En este escenario, una opción es una licencia de software propietario, que permite la posibilidad de crear aplicaciones propietarias derivadas de ella, mientras que la otra licencia es una licencia de software libre / código abierto copyleft , por lo que exige que cualquier trabajo derivado se publique bajo la misma licencia. El titular de los derechos de autor del software suele proporcionar la versión gratuita del software a un coste reducido o nulo, y obtiene beneficios vendiendo licencias propietarias a operaciones comerciales que buscan incorporar el software a su propio negocio. Este modelo se puede comparar con el shareware . [3] [4]
Dado que en la mayoría de los casos, sólo el titular de los derechos de autor puede cambiar los términos de la licencia de un software, la concesión de licencias múltiples es utilizada principalmente por empresas que son dueñas en su totalidad del software que están licenciando. Puede surgir confusión cuando una persona ajena a la empresa crea código fuente adicional, utilizando la licencia menos restrictiva. Dado que la empresa con el código oficial no es el titular de los derechos de autor del código adicional, no puede incluir legalmente este nuevo trabajo en su versión con licencia más restrictiva. Las empresas pueden exigir a los desarrolladores externos que acepten un acuerdo de licencia de colaborador antes de aceptar su trabajo en la base de código oficial y los repositorios de código fuente. [5]
Los titulares de derechos de autor de algunos paquetes de software libre utilizan la licencia múltiple para anunciar su disposición a distribuirlos utilizando tanto una licencia de software libre con copyleft como una licencia de software no libre. La última licencia normalmente ofrece a los usuarios el software como software propietario u ofrece a terceros el código fuente sin cláusulas de copyleft. En este caso, los titulares de derechos de autor ejercen el monopolio que les otorga el derecho de autor , pero también utilizan la licencia múltiple para distinguir los derechos y libertades que reciben los distintos destinatarios.
Este tipo de licencias permite al titular ofrecer personalizaciones y lanzamientos anticipados, generar otros trabajos derivados o conceder derechos a terceros para redistribuir versiones propietarias, todo ello mientras ofrece a todo el mundo una versión gratuita del software. Compartir el paquete como software libre copyleft puede beneficiar al titular de los derechos de autor al recibir contribuciones de los usuarios y hackers de la comunidad del software libre . Estas contribuciones pueden ser el apoyo de una comunidad de usuarios dedicada, el marketing de boca en boca o las modificaciones que se ponen a disposición según lo estipulado por una licencia copyleft. Sin embargo, el compromiso de un titular de los derechos de autor de eludir las disposiciones copyleft y anunciar redistribuciones propietarias corre el riesgo de perder la confianza y el apoyo de los usuarios del software libre. [6] [7]
Algunos ejemplos de software con múltiples licencias incluyen NetBeans IDE de Oracle , la base de datos de MySQL AB , Asterisk , Berkeley DB de Oracle Corporation , Modelio , Ice de ZeroC , Magnolia CMS , JUCE , wolfSSL , [8] y el kit de herramientas de desarrollo Qt de Qt Software .
Descripción de un ejemplo específico para ilustrar el uso de múltiples licencias: Oracle MySQL se ofrece en varias ediciones: MySQL Enterprise Edition [9] es una edición comercial, por lo que debe adquirirse. La licencia solo se ofrece como suscripción, denominada MySQL Enterprise Edition Subscription. Lo mismo se aplica a MySQL Standard Edition (MySQL Standard Edition Subscription) y MySQL Cluster CGE (MySQL Cluster Carrier Grade Edition Subscription). Las otras ediciones, como MySQL Classic Edition o MySQL Community Edition, son de uso gratuito con algunas restricciones. Por ejemplo, MySQL Community Edition es una versión que se puede descargar de forma gratuita, está disponible bajo la licencia GPL y cuenta con el respaldo de una comunidad de desarrolladores de código abierto. [10]
El término "código abierto comercial de un solo proveedor" fue acuñado por Dirk Riehle en 2010, [11] [12] y luego fue popularizado por otros académicos, como Simon RB Berdal. [13]
Según Riehle:
Las empresas de código abierto comerciales de un solo proveedor construyen su negocio en torno a un proyecto de software de código abierto que controlan por completo, normalmente porque han desarrollado el software y nunca han compartido el control con terceros. Esto se hace al poseer todos los derechos de autor del código y la propiedad intelectual relacionada, como patentes y marcas registradas... Normalmente, la forma de código abierto gratuito se ofrece bajo una licencia recíproca como la GPL para impulsar la adopción pero para frenar a los posibles competidores. Las versiones pagas del software se ofrecen luego bajo una licencia comercial como lo hacen los proveedores de software tradicionales. Esto también se conoce como la estrategia de doble licencia del código abierto comercial. [11]
A diferencia de los proyectos de código abierto tradicionales, un proyecto de código abierto comercial de un solo proveedor está controlado por exactamente una de las partes interesadas con el propósito de explotarlo comercialmente . [11] En este contexto, la comunidad de código abierto está menos involucrada en el desarrollo de la funcionalidad principal, como suele ocurrir en los proyectos de código abierto convencionales (puros). Como dijo el entonces director ejecutivo de MySQL, Mårten Mikos , en una entrevista:
La profundidad de las contribuciones varía según el producto y la situación. Cuanto más se profundiza en el núcleo del motor de base de datos, más difícil es que alguien contribuya, porque se necesitan cinco años para aprender. Si se construye algo en las afueras del núcleo (alguna herramienta o función que se añade encima), entonces es mucho más fácil porque hay menos riesgo de que se estropee todo el producto. Pero algo grande puede surgir de muchas contribuciones que parecen diminutas. Es análogo a cómo, en el desarrollo económico, los microcréditos pueden tener un impacto enorme: cada entrada es mínima, pero cuando se multiplica por el número de personas que participan, se vuelve enorme. Empieza a adquirir un impulso propio. [ 14]
Por lo tanto, la comunidad de software con múltiples licencias por lo general incluye a los empleados de la empresa propietaria del código, así como a socios estratégicos que tienen intereses creados en el software. Como señala Riehle, en el software de código abierto de un solo proveedor, casi todo el trabajo de desarrollo del producto principal lo lleva a cabo la empresa comercial, con contribuciones ocasionales de la comunidad. [11]
Como señala Berdal, la gobernanza de la comunidad de código abierto se convierte en un proceso clave de gestión empresarial en este contexto: como tal, debe estar alineada con otras actividades empresariales. Por lo tanto, los modelos de gobernanza de las ediciones de OSS con licencia dual pueden mostrar una tendencia hacia el sesgo comercial. Por lo tanto, para evitar que la comunidad se sienta provocada o alienada, puede parecer imperativo equilibrar las inclinaciones comerciales con los intereses “abiertos”. [13] Esto no es en absoluto una tarea fácil. Como demostró Berdal a través de un estudio de caso de SugarCRM , este modelo de negocio de software de código abierto comercial (COSS) puede desencadenar puntos de fricción importantes, que eventualmente pueden conducir a bifurcaciones de código abierto puro (tabla adaptada de Berdal, Tabla 3, página 75 [13] ):
Sólo unos meses después de que se observaran estos puntos de fricción, se anunció una nueva bifurcación de SugarCRM Community Edition.
Un segundo uso del licenciamiento múltiple con software libre es la compatibilidad de licencias , [1] permitiendo combinar código de proyectos de software libre con diferentes licencias o brindar a los usuarios la preferencia de elegir una licencia.
Los ejemplos incluyen el código fuente de Mozilla Application Suite y anteriormente Mozilla Thunderbird y Mozilla Firefox , que han utilizado triple licencia bajo la Licencia Pública Mozilla (MPL) 1.1, la Licencia Pública General GNU (GPL) 2.0 o la Licencia Pública General Reducida GNU (LGPL) 2.1 [15] antes de que esta última se actualizara a MPL 2.0 compatible con GPL, haciendo innecesaria la triple licencia. [16] Otros ejemplos son Perl , que tiene doble licencia bajo la GPL o Licencia Artística , [17] y Ruby , cuya licencia contiene una doble licencia GPL explícita.
Los distribuidores de software que no es libre también utilizan la concesión de licencias múltiples. A veces, esto se hace con software propietario para segregar un mercado. Al dividir a los clientes en varias categorías, como usuarios domésticos, usuarios profesionales y usuarios académicos, los titulares de los derechos de autor pueden establecer precios diferentes para cada grupo. Sin embargo, entre las empresas de software propietario, es más común lanzar una "edición doméstica" y una "edición profesional" de un producto determinado, que se diferencian por el software y las características del software incluidas, no solo por la licencia.
La AGPLv3 fue un éxito terrible, especialmente entre la comunidad de empresas emergentes que encontraron la licencia base perfecta para hacer factible la licencia dual con una licencia comercial. MongoDB, RethinkDB, OpenERP, SugarCRM y WURFL ahora utilizan la AGPLv3 como un vehículo para la licencia comercial dual. La AGPLv3 hace que esto sea generalmente fácil de lograr ya que el autor original de los derechos de autor tiene los derechos para hacer posible una licencia comercial, pero nadie que reciba el código fuente en sí a través de la APLv3 hereda ese derecho. No estoy seguro de si ese era el uso previsto de la licencia, pero al menos es para lo que definitivamente se está utilizando ahora.