Licencia pública de Mozilla
El Mozilla Public License ()MPL) es una licencia libre y de código abierto copyleft débil para la mayoría de software Mozilla Foundation como Firefox y Thunderbird. La licencia MPL es desarrollada y mantenida por Mozilla, que busca equilibrar las preocupaciones de los desarrolladores de código abierto y propietario; se distingue de otros como un terreno intermedio entre el software permisivo licencias de estilo BSD y la Licencia Pública General. Por lo tanto, bajo los términos del MPL, permite la integración del código con licencia MPL en bases de código patentadas, pero sólo a condición de que estos componentes sigan siendo accesibles.
MPL ha sido utilizado por otros, como Adobe para obtener la licencia de su línea de productos Flex y The Document Foundation para obtener la licencia de LibreOffice 4.0 (también en LGPL 3+). La versión 1.1 fue adaptada por varios proyectos para formar licencias derivadas como Sun Microsystems' Licencia Común de Desarrollo y Distribución. Ha pasado por dos revisiones: la actualización menor 1.1 y una actualización importante, versión 2.0, acercándose a los objetivos de mayor simplicidad y mejor compatibilidad con otras licencias.
Términos
El MPL define los derechos como pasar de los "contribuyentes", que crean o modifican código fuente, a través de un distribuidor auxiliar opcional (sí mismo un licenciatario), al licenciatario. Concede licencias liberales de copyright y patentes que permiten el libre uso, modificación, distribución y "exploit[ation]" del trabajo, pero no otorga al licenciatario ningún derecho a las marcas de un contribuyente. Estos derechos terminarán si el licenciatario no cumple con los términos y condiciones de la licencia, pero un licenciatario que devuelve el cumplimiento recupera sus derechos, e incluso recibir aviso escrito de un contribuyente resultará en perder derechos sólo al código de ese contribuyente. Se incluye una cláusula de represalia de patente, similar a la de la Licencia Apache, para proteger a los nuevos receptores de un distribuidor auxiliar contra el trolling de patentes. Los contribuyentes rechazan la garantía y la responsabilidad, pero permiten a los distribuidores auxiliares ofrecer tales cosas en su propio nombre.
A cambio de los derechos otorgados por licencia, el licenciatario debe cumplir ciertas responsabilidades relativas a la distribución del código fuente con licencia. Los archivos de código fuente cubiertos deben permanecer bajo el MPL, y los distribuidores "no pueden intentar alterar o restringir los derechos de los receptores" a él. El MPL trata el archivo de código fuente como el límite entre partes licenciadas por MPL y patentadas, lo que significa que todo o ninguno de los códigos en un archivo fuente dado cae bajo el MPL. Se puede sublicenciar un ejecutable que consista únicamente en archivos cubiertos por MPL, pero el licenciatario debe garantizar el acceso o proporcionar todo el código fuente dentro de él. Los destinatarios pueden combinar código fuente licenciado con otros archivos bajo una licencia diferente, incluso patentada, formando así un "trabajo más grande" que se puede distribuir bajo cualquier términos, pero de nuevo los archivos de código fuente cubiertos por MPL deben estar disponibles libremente. Esto hace que el MPL sea un compromiso entre las licencias MIT o BSD, lo que permite que todos los trabajos derivados sean relicenciados como propietarios, y la GPL, lo que requiere que el trabajo derivado en su conjunto sea licenciado bajo la GPL. Al permitir que los módulos patentados en proyectos derivados, al tiempo que requieren que los archivos básicos permanezcan de código abierto, el MPL está diseñado para motivar tanto a las empresas como a la comunidad de código abierto para ayudar a desarrollar software básico.
La única excepción a los archivos fuente cubiertos que permanecen bajo MPL ocurre cuando el código de la versión 2.0 o posterior se combina con archivos de código separados bajo GNU GPL, GNU Lesser GPL (LGPL) o Affero GPL (AGPL). En este caso, el programa en su totalidad estará bajo la licencia GNU elegida, pero los archivos cubiertos por MPL tendrán doble licencia, de modo que los destinatarios puedan optar por distribuirlos bajo esa licencia GNU o MPL. El autor inicial del código MPL puede optar por no participar en esta compatibilidad con GPL agregando un aviso a sus archivos fuente.
Se concede explícitamente que el código cubierto por MPL se pueda distribuir según los términos de la versión de licencia bajo la cual se recibió o cualquier versión posterior. Si el código de la versión 1.0 o 1.1 se actualiza a la versión 2.0 mediante este mecanismo, el código cubierto por 1.x debe marcarse con el aviso de incompatible con GPL antes mencionado. La MPL puede modificarse para formar una nueva licencia, siempre que dicha licencia no haga referencia a Mozilla o Netscape.
Historia
La versión 1.0 de MPL fue escrita por Mitchell Baker en 1998 mientras trabajaba como abogado en Netscape Communications Corporation. Netscape esperaba que una estrategia de código abierto para desarrollar su propio navegador web Netscape le permitiera competir mejor con el navegador de Microsoft, Internet Explorer. Para cubrir el código del navegador, la compañía redactó una licencia conocida como Netscape Public License (NPL), que incluía una cláusula que permitía, en teoría, volver a licenciar como propietario incluso el código desarrollado abiertamente.
Sin embargo, al mismo tiempo, Baker desarrolló una segunda licencia similar a la NPL. Se llamó Licencia Pública de Mozilla por el nombre del proyecto de Netscape para la nueva base de código de fuente abierta y, aunque originalmente solo estaba destinada a software que complementara los módulos principales cubiertos por la NPL, se volvería mucho más popular que la Licencia Pública de Mozilla. NPL y eventualmente obtener la aprobación de la Open Source Initiative.
Menos de un año después, Baker y la organización Mozilla hicieron algunos cambios en MPL, lo que dio como resultado la versión 1.1, una actualización menor. Esta revisión se realizó a través de un proceso abierto que consideró comentarios de contribuyentes tanto institucionales como individuales. Los objetivos principales eran aclarar los términos relacionados con las patentes y permitir múltiples licencias. Esta última característica estaba destinada a fomentar la cooperación con los desarrolladores que preferían licencias más estrictas como la GPL. No sólo muchos proyectos derivarían sus propias licencias de esta versión, sino que su estructura, precisión legal y términos explícitos para los derechos de patente influirían fuertemente en revisiones posteriores de licencias populares como la GPL (versión 3).
Ambas versiones 1.0 y 1.1 son incompatibles con la GPL, lo que llevó a la Free Software Foundation a desaconsejar el uso de la versión 1.1. Por estos motivos, se lanzaron versiones anteriores de Firefox con múltiples licencias: MPL 1.1, GPL 2.0 y LGPL 2.1. Algunos programas antiguos, como Mozilla Application Suite, todavía se encuentran bajo las tres licencias. Por ello, a principios de 2010, después de más de una década sin modificaciones, se inició un proceso abierto para la creación de la versión 2.0 del MPL. Durante los siguientes 21 meses, la MPL no sólo se cambió para hacer la licencia más clara y fácil de aplicar, sino también para lograr compatibilidad con las licencias GPL y Apache. El equipo de revisión fue supervisado por Baker y dirigido por Luis Villa con el apoyo clave de Gervase Markham y Harvey Anderson. Publicarían tres borradores alfa, dos borradores beta y dos versiones candidatas para comentar antes de publicar el borrador final de la versión 2.0 el 3 de enero de 2012.
Usuarios destacados
- Apache Flex (conocido como Adobe Flex)
- Armadillo
- Boulder, el software que ejecuta la autoridad de certificado de Let's Encrypt
- El Cairo
- Celtx
- Eigen
- H2 (DBMS)
- Consorcio de Sistemas de Internet
- LibreOffice
- Mozilla Firefox
- OpenMRS
- Sincronización
- Servo
- Navegador de freno
- MonetDB (marcado como "Incompatible con licencias secundarias")
- RabbitMQ
- VLC (versión iOS)
Licencias basadas en versiones anteriores a MPL 2.0
- AROS Public License 1.1 (basada en MPL 1.1)
- Common Development and Distribution License
- Licencia de Atribución Pública Común
- Erlang Public License 1.1 (modified MPL 1.0, donde "los desacuerdos se resuelven bajo la ley sueca en inglés")
- Licencia pública del desarrollador inicial de Firebird (basado en MPL v1.1)
- Sun Public License
- Licencia pública
- Licencia pública Openbravo de Openbravo (basada en MPL v1.1)