# Mozilla Public License

La licencia pública de Mozilla es una licencia de software libre, de código abierto y detallada desarrollada y mantenida por la Fundación Mozilla. Se caracteriza por ser un híbrido de la Licencia BSD modificada y GNU General Public License (GPL) que busca equilibrar los intereses de los desarrolladores de código abierto y propietario.
Ha sufrido dos revisiones, la más recientemente es la versión 2.0 cuyos objetivos son una mayor simplicidad y mejor compatibilidad con otras licencias.
La MPL es la licencia de Mozilla Firefox, Mozilla Thunderbird y la mayoría de otros softwares de Mozilla, pero ha sido utilizada por otros, tales como Adobe para licenciar su línea de productos Flex y The Document Foundation para licenciar LibreOffice 4.0 (también en LGPL 3+). La versión 1.1 fue también notablemente adaptada por empresas para formar licencias derivadas como la Common Development and Distribution License de Sun Microsystems.
Fue desarrollada originalmente por Netscape Communications Corporation (una división de la empresa América Online), y más tarde su control fue traspasado a la Fundación Mozilla.
La licencia MPL cumple completamente con la definición de software de código abierto de la Open Source Initiative (OSI) y con las cuatro libertades del software libre enunciadas por la Free Software Foundation (FSF). Sin embargo la MPL deja abierto el camino a una posible reutilización no libre del software, si el usuario así lo desea, sin restringir la reutilización del código ni el relicenciamiento bajo la misma licencia.
El hecho de que Netscape pueda sacar versiones revisadas de la licencia en un futuro no es muy importante ya que es posible seguir empleando la versión actual de la licencia si se desea.
Aunque el uso principal de la Mozilla Public License es servir como licencia de control para el navegador web Mozilla y el software relacionado con él (el navegador Firefox o el cliente de correo Mozilla Thunderbird, por ejemplo), esta licencia es ampliamente utilizada por desarrolladores y programadores que quieren liberar su código.
En la licencia MPL se han basado multitud de licencias posteriores. La última aprobada recientemente por la OSI es la licencia CDDL de SUN, que permite una mayor libertad aunque la propia MPL, en la utilización de cualquier código bajo cualquier tipo de licencia dentro de un mismo proyecto de software libre, manteniendo siempre el proyecto bajo licencia de software libre.

## Términos

La MPL ha sido aprobada como una licencia de software libre por la Free Software Foundation y una licencia de software de código abierto por la Open Source Initiative. La MPL permite que código fuente cubierto pueda ser mezclado con otros archivos bajo una licencia diferente, incluso privativa. Sin embargo, los archivos de código licenciados bajo la MPL deben permanecer bajo la MPL y libremente disponibles en formato de origen. Esto hace que la MPL tenga relación con las licencias MIT o BSD, que permiten que los trabajos derivados sean relicenciados como propietario, y la GPL, que requiere que la obra derivada en su conjunto, incluso nuevos componentes, permanezcan bajo la GPL. Al permitir módulos propietarios en proyectos derivados pero exigir que los archivos bases permanezcan abiertos, la MPL está diseñada para motivar a los negocios y la comunidad open-source a desarrollar software base.
Los derechos otorgados por la licencia pública de Mozilla se definen principalmente como pasar de colaboradores, que crean o modifican código fuente, a titular de la licencia. En ausencia de patentes, el código con licencia MPL puede ser libremente utilizado, modificado y redistribuido. Las versiones con código patentado todavía pueden ser utilizadas, transferidas y vendidas incluso, pero no pueden ser modificadas sin permiso especial. Además, la MPL no otorga al licenciatario los derechos de las marcas de los colaboradores.
Para cumplir con los términos de la MPL, el titular de la licencia debe cumplir con ciertas responsabilidades, sobre todo con respecto a la distribución de software. El titular de la licencia debe garantizar el acceso a o proporcionar todos los archivos de código fuente cubiertos por la MPL, incluso si el software es ofrecido en formato ejecutable o combinado con código bajo una licencia privativa. La única excepción a archivos cubiertos bajo la MPL se produce cuando se combinan con código bajo la GNU General Public License, GNU Lesser General Public License (LGPL) o GNU Affero General Public License GPL (AGPL). En este caso, el creador del software combinado puede elegir distribuir todo el trabajo bajo las más estrictas licencias basadas en GPL.

## Historia

La versión 1.0 de la MPL fue escrita por Mitchell Baker en 1998 mientras trabajaba como abogado en Netscape Communications Corporation. Netscape buscaba una estrategia de código abierto para desarrollar su propio navegador de web Netscape que les permitiría competir mejor con el navegador de Microsoft, Internet Explorer. Para cubrir el código del navegador, la compañía formuló una licencia conocida como Netscape Public License (NPL), que incluía una cláusula que permite incluso que el código abierto desarrollado pueda ser cambiado a propietario. La posibilidad de que Netscape aceptara código de otros solo para reclamarlo exclusivamente con una licencia nueva recibió una amplia crítica de la comunidad de código abierto.
Sin embargo, al mismo tiempo, Baker desarrolló una segunda licencia similar a la NPL, pero con características Copyleft para asegurar contribuciones seguían siendo código abierto. Se llamó la Mozilla Public License y aunque originalmente fue pensado solo para software que complementa los módulos del núcleo cubiertos por la NPL, se convierte en mucho más popular que la NPL e incluso gana la aprobación de la Open Source Initiative.
Menos de un año más tarde, Baker y la organización Mozilla harían algunos cambios a la MPL, resultando en la versión 1.1, una actualización menor. Esta revisión se realizó mediante un proceso abierto que consideraba los comentarios de los colaboradores institucionales e individuales. Los objetivos primarios fueron aclarar términos sobre las patentes y el permiso de múltiples licencias. Esta última característica fomentaba la cooperación con los desarrolladores que preferían licencias más estrictas como la GNU General Public License. No solo muchos proyectos derivaría sus propias licencias de esta versión, pero su estructura, precisión jurídica y términos explícitos de los derechos de patente influiría fuertemente en revisiones más adelante de populares licencias como la GNU General Public License (versión 3).
A principios de 2010, después de más de una década sin modificación, se abre un proceso para la creación de la versión 2.0 de la MPL. Durante los próximos 21 meses, la MPL no cambió solo para hacer la licencia más clara y más fácil de aplicar, sino también para lograr la compatibilidad con las licencias GNU General Public License y Apache License. El equipo de revisión fue supervisado por Baker y encabezado por Luis Villa con el apoyo clave de Gervase Markham y Harvey Anderson. Se publican tres versiones alfa, dos versiones beta y liberaron dos versiones candidatas para comentarlas antes de lanzar la versión final 2.0 el 3 de enero de 2012.

## Compatibilidad con otras licencias

A diferencia de las licencias copyleft fuertes, el código bajo la licencia MPL se puede combinar con archivos bajo cualquier licencia en un "trabajo mayor", que cumpla las condiciones para la MPL para componentes "cubiertos" (apartado 3.3 de la licencia). La MPL trata el archivo de código fuente como el límite entre las partes con licencia MPL y propietarias, lo que significa que todo o nada del código en un archivo fuente determinado cae bajo la MPL.
La MPL es una licencia copyleft simple. El Copyleft a "nivel de archivos" de la MPL está diseñado para fomentar que los colaboradores puedan compartir las modificaciones que hacen a su código, mientras que les permite combinar su código con código bajo otras licencias (libre o propietario) con restricciones mínimas.
MPL versión 2.0 es compatible con la licencia de Apache y por defecto "la versión GNU General Public License 2.0, la versión de GNU Lesser General Public License 2.1, la versión 3.0 de la GNU Affero General Public License y todas las versiones posteriores de estas licencias". La versión 1.1 tenía "algunas restricciones complejas" que resultaba incompatible con la GNU General Public License por defecto. Aunque la MPL 1.1 incluía una disposición (sección 13) para proporcionar un trabajo bajo una licencia secundaria (incluyendo la GNU General Public License o compatibles con la GNU General Public License), el código GNU General Public License y solamente bajo la MPL 1.1 con ninguna opción de GNU General Public License no podrían "legalmente ser ligada", animando a la Free Software Foundation para desalentar el uso del MPL 1.1. Por estas razones, las versiones anteriores de Mozilla Firefox fueron liberadas bajo licencias múltiples: el MPL 1.1, GNU General Public License 2.0 y GNU Lesser General Public License 2.1. Algunos viejos programas como la Mozilla Application Suite todavía están bajo las tres licencias.

## Licencias basadas en pre-MPL 2.0

* AROS Public License 1.1 (basada en la MPL 1.1)
* Celtx Public License (Ahora usa MPL 2.0 sin cambios)
* Common Development and Distribution License (basada en la MPL 1.1)
* Common Public Attribution License
* Erlang Public License 1.1 (MPL 1.0 modificada, donde "los desacuerdos se resuelven según la legislación sueca en inglés")
* Firebird's Initial Developer's Public License (basada en la MPL v1.1)
* gSOAP Public License 1.3b (basada en la MPL 1.1 o GPLv2 para todos los componentes)
* MonetDB Public License (basada en la MPL 1.1)
* OpenMRS Public License (ahora usa MPL 2.0 sin cambios)
* OpenELIS Public License (basada en la MPL 1.1 y/o GNU Affero General Public License version 3)
* SugarCRM Public License (Sugar cambió a GPLv3 y en la versión 6.0.0 a GNU Affero General Public License version 3)
* Sun Public License
* Yahoo! Public License