La Licencia de Desarrollo y Distribución Común ( CDDL , por sus siglas en inglés) es una licencia de software libre y de código abierto , [3] producida por Sun Microsystems , basada en la Licencia Pública de Mozilla (MPL, por sus siglas en inglés). Los archivos licenciados bajo la CDDL se pueden combinar con archivos licenciados bajo otras licencias, ya sean de código abierto o propietarias. [2] En 2005, la Open Source Initiative aprobó la licencia. La Free Software Foundation (FSF) la considera una licencia de software libre , pero que es incompatible con la Licencia Pública General de GNU (GPL, por sus siglas en inglés). [1]
Derivada de la Licencia Pública de Mozilla 1.1, [4] la CDDL intenta abordar algunos de los problemas de la MPL. [5] Al igual que la MPL, la CDDL es una licencia copyleft débil entre la licencia GPL y las licencias permisivas BSD / MIT , que requiere que solo los archivos de código fuente bajo CDDL permanezcan bajo CDDL.
A diferencia de las licencias copyleft estrictas como la GPL, se permite mezclar archivos de código fuente con licencia CDDL con archivos de código fuente con otras licencias sin necesidad de renovar la licencia. El producto de software compilado resultante ("binario") se puede licenciar y vender con una licencia diferente, siempre que el código fuente siga estando disponible con la licencia CDDL, lo que debería permitir más casos de negocio comerciales, según Sun. [5] [6] [7]
Al igual que la MPL, la CDDL incluye una concesión de patente al licenciatario por parte de todos los contribuyentes ("patente de paz"). Sin embargo, en la sección 2.1(d), la concesión de patente se pierde si se modifica el código que implementa una característica patentada. [8]
La licencia de software anterior utilizada por Sun para sus proyectos de código abierto era la Licencia Pública de Sun (SPL), también derivada de la Licencia Pública de Mozilla . Sun (ahora Oracle ) considera que la licencia CDDL es la versión 2 de la SPL. [9]
El CDDL fue desarrollado por un equipo de Sun Microsystems (entre ellos, el ingeniero del núcleo de Solaris Andrew Tucker [10] [11] y Claire Giordano [12] ), basándose en la versión 1.1 de MPL . El 1 de diciembre de 2004, el CDDL fue presentado para su aprobación a la Open Source Initiative [12] y fue aprobado como licencia de código abierto a mediados de enero de 2005. La segunda propuesta de CDDL, presentada a principios de enero de 2005, incluye algunas correcciones que evitan que el CDDL entre en conflicto con la ley europea de derechos de autor y permiten a los desarrolladores individuales utilizar el CDDL para su trabajo.
En 2006, en el primer borrador del informe del comité de proliferación de licencias de la OSI , la CDDL figura como una de las nueve licencias preferidas que figuran como populares, ampliamente utilizadas o con comunidades sólidas. [13]
Si bien la Free Software Foundation (FSF) también consideró la CDDL como una licencia de software libre , vio algunas incompatibilidades con su Licencia Pública General GNU (GPL). [1]
La cuestión de si ambas licencias son incompatibles y cuándo lo son generó debates en el ámbito del software libre entre 2004 y 2006. [14] [15] Por ejemplo, la FSF consideró que la CDDL era incompatible con su licencia GPL, sin entrar en detalles hasta 2016. [16]
La CDDL es una de las varias licencias de código abierto que son incompatibles con la GPL . Esta característica fue heredada de la MPL 1.1 (arreglada con la MPL 2.0 según la FSF [1] ) y resulta de una interacción compleja de varias cláusulas; [14] [17] la raíz del problema es la viralidad de la GPL , similar a otros casos de incompatibilidad con la GPL. [18] Algunas personas argumentan que Sun (o el ingeniero de Sun) como creador de la licencia hizo que la CDDL fuera intencionalmente incompatible con la GPL. [14] Según Danese Cooper, una de las razones para basar la CDDL en la licencia de Mozilla fue que la licencia de Mozilla es incompatible con la GPL . Cooper afirmó, en la sexta conferencia anual de Debian , que los ingenieros que habían escrito el núcleo de Solaris solicitaron que la licencia de OpenSolaris fuera incompatible con la GPL. [19]
Se eligió a Mozilla en parte porque no es compatible con la GPL. Eso fue parte del diseño cuando lanzaron OpenSolaris... los ingenieros que escribieron Solaris... tenían algunos prejuicios sobre cómo debería ser lanzado, y hay que respetar eso.
Simon Phipps (director de código abierto de Sun en ese momento), que había presentado a Cooper como "el que realmente escribió el CDDL", [20] no hizo comentarios inmediatamente, pero más tarde en el mismo video, dice, refiriéndose nuevamente al problema de la licencia, "de hecho, estoy en desacuerdo con Danese hasta cierto punto", [21] mientras describe la fuerte preferencia entre los ingenieros que escribieron el código por una licencia tipo BSD, que estaba en conflicto con la preferencia de Sun por algo copyleft , y que esperar la autorización legal para publicar algunas partes del código bajo la entonces inédita GNU GPL v3 habría llevado varios años, y probablemente también habría involucrado renuncias masivas de ingenieros (descontentos con el retraso, la GPL o ambos; esto no está claro en el video).
Más tarde, en septiembre de 2006, Phipps rechazó la afirmación de Cooper en términos aún más enérgicos. [22] De manera similar, Bryan Cantrill , que estaba en Sun en ese momento y estaba involucrado en el lanzamiento de software con licencia CDDL, declaró en 2015 que él y sus colegas esperaban en 2006 la rápida aparición del software con licencia CDDL en el ecosistema Linux y que el CDDL no fuera un obstáculo. [23]
La cuestión de la compatibilidad con la GPL también fue fuente de controversia tras la reestructuración parcial de la licencia de cdrtools bajo la CDDL, que anteriormente era totalmente GPL. En 2006, el proyecto Debian declaró que cdrtools no podía distribuirse legalmente porque el sistema de compilación estaba licenciado bajo la CDDL. [24]
El autor, Jörg Schilling, afirmó que smake es un proyecto independiente y no viola la GPLv3 . [25] Schilling también argumentó que si bien la GPL requiere que todos los scripts necesarios para construir el trabajo estén licenciados libremente, no necesariamente tienen que estar bajo la GPL. [26] [27] [ página necesaria ] Por lo tanto, no causa una incompatibilidad que viole la licencia .
También argumentó que en "obras combinadas" (en contraste con las " obras derivadas ") el código con licencia GPL y CDDL es compatible. [28] [29]
Los abogados de Red Hat han impedido que cdrtools esté en Fedora o Red Hat Enterprise Linux , argumentando que Schilling tiene una visión "poco ortodoxa" de la ley de derechos de autor que no es compartida por sus asesores legales ni por la Free Software Foundation. [30]
En 2015, la cuestión de compatibilidad de CDDL con GPL resurgió cuando Ubuntu anunció la inclusión de OpenZFS de forma predeterminada. [31]
En 2016, Ubuntu anunció que una revisión legal concluyó que es legalmente aceptable utilizar ZFS como módulo binario del núcleo en Linux (en lugar de incorporarlo en la propia imagen del núcleo). [32]
Otros siguieron la conclusión de Ubuntu, por ejemplo James EJ Bottomley argumentó que no se puede desarrollar "una teoría convincente del daño", lo que hace imposible llevar el caso a los tribunales. [33]
Eben Moglen , coautor de la GPLv3 y fundador de la SFLC , argumentó que si bien la letra de la GPL podría ser violada, el espíritu de ambas licencias no resulta dañado, lo que sería el aspecto relevante en el tribunal. [34]
El SFLC también mencionó que existe un precedente con el módulo de kernel del Andrew File System , que no es considerado un trabajo derivado del kernel por los desarrolladores del kernel. [35] [36]
Por otro lado, Bradley M. Kuhn y la abogada Karen M. Sandler de Software Freedom Conservancy [37] argumentaron que Ubuntu violaría ambas licencias, ya que un módulo binario ZFS sería un trabajo derivado del núcleo. [38] En abril de 2016, la versión Ubuntu 16.04 LTS incluyó el ZFS con licencia CDDL en Linux . [39]
Ejemplos de proyectos publicados bajo CDDL:
Hemos redactado una nueva licencia de código abierto...
La SPL se basaba en la licencia de Mozilla, al igual que la CDDL. [..] Una forma de pensar en la CDDL es como una versión mejorada de la licencia de Mozilla: cualquiera puede reutilizarla tal como está. Es la versión 2.0 de SPL.
Un error muy común es la incompatibilidad entre CDDL y GPL. (Incompatibilidad en el sentido de combinar dos archivos fuente, uno bajo GPL y otro bajo CDDL, para crear un ejecutable común). GPL es incompatible con la mayoría de las licencias, como la Licencia Pública de Mozilla, Apache y CDDL. GPL quiere que usted borre esas licencias y utilice GPL en ese lugar, mientras que estas licencias no permiten borrarlas. De ahí el punto muerto de la incompatibilidad.
Se seleccionó a Mozilla en parte porque no es compatible con la GPL. Eso fue parte del diseño cuando lanzaron OpenSolaris. ... los ingenieros que escribieron Solaris ... tenían algunos prejuicios sobre cómo debería ser lanzado, y hay que respetar eso.(URL alternativa, ver 27:27 a 28:24)
...tenemos a Danese Cooper en la sala, y ella es quien realmente escribió el CDDL...
En realidad, discrepo con Danese hasta cierto punto...
No obstante, se equivoca al caracterizar la opinión del equipo de ingeniería de Solaris de la forma en que lo hace. Habla de esta manera porque perdió una discusión dentro de Sun, no porque su punto de vista sea representativo de los puntos de vista de Sun o su personal en la forma en que afirma. Ella, junto con muchos ingenieros reales, era una defensora del uso de GPL para OpenSolaris, pero la necesidad de publicar en lugar de esperar a una de {GPL v3, revisión de la licencia de Mozilla, eliminación de cargas} significaba que esto no era posible. Todavía estoy furioso con ella por la declaración que hizo en DebConf, que fue rencorosa y un obstáculo para un movimiento FOSS unido.
: ¿Se diseñó el CDDL para evitar que las tecnologías de Sun ingresaran a Linux? - BC: Gran pregunta, y la respuesta fue que no lo sabíamos, pero la expectativa era que se trasladaría a Linux relativamente rápido. Recuerdo vívidamente estar de pie frente a una terminal con un grupo de personas mientras lanzábamos OpenSolaris (como, hicimos clic en retorno de carro para poner en línea el código de DTrace, que fue el primero en llegar), y el chico legal de Sun y yo estábamos charlando. Ambos nos preguntábamos si DTrace aparecería en Linux en un mes o si tomaría dos años. Pero eso era todo lo que podíamos adivinar: ninguno de nosotros creía que la comunidad Linux fuera a considerar a CDDL como un obstáculo y, desde luego, si me hubieran dicho que una década después, DTrace no estaría en Linux debido a la incertidumbre sobre las licencias
,
no les habría creído. Por supuesto, en retrospectiva, todo parece muy claro:
el NIH
es enormemente poderoso y fuimos unos tontos al descartarlo.
Laut Aussagen von Jörg Schilling sind die Lizenzen durchaus miteinander kompatibel. Die Regeln werden a menudo falsch ausgelegt. Die Aussagen der FSF-Verantwortlichen seien a menudo broadsprüchlich und in sich nicht schlüssig.
Históricamente, ha habido cosas como el módulo de sistema de archivos Andrew original: un sistema de archivos estándar que en realidad no fue escrito para Linux en primer lugar, y solo implementa un sistema de archivos UNIX. ¿Es eso derivado solo porque se portó a Linux que tenía una interfaz VFS razonablemente similar a lo que tenían otros UNIX? ... Personalmente, creo que ese caso no fue un trabajo derivado, y estaba dispuesto a decírselo a los muchachos de AFS.