- El proyecto PHP está debatiendo un RFC para unificar la compleja e incompatible licencia propia de PHP y la licencia de Zend Engine bajo BSD 3-Clause (licencia BSD modificada)
- La nueva licencia se aplicaría a partir de PHP 9.0, y BSD 3-Clause se reflejaría en el código fuente, encabezados y documentación en general, eliminando cláusulas especiales del pasado y restricciones relacionadas con la marca
- Con ello se logra claridad legal gracias a la aprobación de OSI y FSF, además de compatibilidad con GPL, y se garantizan los mismos derechos actuales para contribuidores y usuarios
- Para cambiar la licencia se requiere el consentimiento oficial de PHP Group y Perforce Software (antes Zend), y tras la discusión comunitaria se seguirá un proceso de debate y votación de más de 6 meses
- Este cambio también recomienda a proyectos externos como PECL/extensiones elegir BSD 3-Clause, y desaconseja el uso de la “licencia PHP”
Resumen general
- Durante mucho tiempo, el proyecto PHP ha mantenido confusión y controversia debido a su propia licencia de código abierto y a la licencia de Zend Engine
- En particular, la Zend Engine License aplicada al código fuente del directorio Zend añade complejidad porque no es una licencia aprobada por la OSI
- Este RFC propone una simplificación práctica de licencias que preserva el copyright de todos los contribuidores de PHP y al mismo tiempo otorga a los usuarios los mismos derechos que las licencias actuales
- El objetivo es adoptar BSD 3-Clause (licencia BSD modificada) como nueva licencia oficial para mantener los derechos y condiciones de uso, mientras se reduce la complejidad y los malentendidos
Propuesta y cambios principales
- La esencia del problema es publicar una nueva versión de la PHP License y de la Zend Engine License para adoptar oficialmente la Modified BSD License (BSD-3-Clause, aprobada tanto por OSI como por FSF)
- La PHP License actual (version 3.01) y la Zend Engine License (version 2.00) son prácticamente iguales a la Modified BSD salvo por algunas cláusulas especiales, por lo que no hay cambios sustanciales en los permisos
- Después de la actualización de licencia:
- No habrá cambios en los derechos otorgados a contribuidores y usuarios
- En colaboración con PHP Group y Perforce Software, se eliminarán cláusulas específicas de ciertos grupos
- PHP y Zend Engine se ofrecerán bajo licencias aprobadas por OSI y compatibles con GPL
- El uso de la antigua PHP License y la Zend Engine License deja de recomendarse
- El archivo LICENSE y los encabezados de licencia dentro del código fuente también se reemplazarán por un nuevo formato
Resumen del texto de la licencia
- BSD 3-Clause permite copiar, modificar y redistribuir libremente, siempre que se mantengan los avisos de copyright y exención de responsabilidad, así como la prohibición de uso no autorizado de nombres y marcas
- BSD-3-Clause es una licencia de software libre aprobada tanto por la OSI (Open Source Initiative) como por la FSF, y además es compatible con GPL
Proceso de cambio y aprobación
- El RFC se definirá mediante votación tras una discusión pública en la comunidad, y su aplicación avanzará después del consentimiento oficial y la votación
- El cambio de licencia requiere el consentimiento oficial de PHP Group y Perforce Software
- Los derechos de contribuidores del código fuente histórico se mantienen intactos, y el cambio no vulnera los derechos existentes
- Se dará a la comunidad un período de discusión de más de 6 meses antes de definirlo por votación
- El cambio se reflejaría oficialmente en PHP 9.0
Antecedentes y contexto histórico
- En sus inicios, PHP 1 y 2 usaban GPL, y después evolucionó pasando por la licencia Apache y una licencia basada en BSD personalizada
- Zend Engine mantuvo una licencia separada, pero hoy se considera en la práctica parte de un solo proyecto inseparable
- Las restricciones de uso del nombre y las cláusulas de protección de marca de la licencia PHP existente han provocado de forma continua problemas de compatibilidad y distribución frente a otros proyectos de código abierto
Impacto en código existente, extensiones y documentación
- Este RFC se aplicaría a todo
php-src (excepto el código con una licencia separada explícita), y también recomienda adoptar BSD 3-Clause para PECL y extensiones
- Afecta a todo el código dentro de los repositorios de PHP, tanto nuevo como existente, que use la PHP License o la Zend Engine License
- Las licencias existentes (p. ej., código con licencia separada como timelib) no están sujetas a este cambio
- El manual de PHP seguirá manteniendo la licencia Creative Commons Attribution 3.0 o superior
- Los módulos de extensión y el software existentes tendrán la opción de aplicar PHP License v4 (Modified BSD)
- Para futuras extensiones y nuevos proyectos, se recomienda usar licencias reconocidas actuales como BSD o Apache
Conclusión
- Se espera que la estructura de licencias de PHP y Zend Engine se simplifique a BSD de 3 cláusulas, reforzando la claridad, compatibilidad, uso comercial y seguridad jurídica dentro del ecosistema de código abierto
- Si esta propuesta se aprueba y aplica, los usuarios podrán usar libremente PHP y Zend Engine bajo los términos de BSD-3-Clause
- Está previsto que se aplique oficialmente una vez que se completen el consenso de contribuidores, la comunidad y las empresas clave, junto con el proceso de votación
1 comentarios
Opiniones en Hacker News
zval***). Desde entonces hizo muchas cosas con PHP, e incluso en la preparatoria participó en una competencia de programación usando PHP en entorno CLI, pero lo descalificaron porque el staff no estaba familiarizado con el lenguaje ni con el entorno; aun así, agradece las posibilidades que PHP le permitió en esa época.struct, pero agregar complejidad porque sí le parece irracional. Recuerda que un conocido suyo decía seguido: “¿por qué no es simple?”.