- Le projet PHP discute d'une RFC visant à unifier la licence historique propre à PHP, complexe et incompatible, ainsi que la licence du Zend Engine sous BSD 3-Clause (licence BSD modifiée)
- Le nouveau cadre de licence s'appliquerait à partir de PHP 9.0 ; BSD 3-Clause serait alors reflétée dans l'ensemble du code source, des en-têtes et de la documentation, tandis que les clauses spéciales historiques et les restrictions liées à la marque disparaîtraient
- L'approbation par l'OSI et la FSF, ainsi que la compatibilité GPL, apporteraient une clarté juridique, sans modifier les droits garantis aux contributeurs et aux utilisateurs
- Pour modifier la licence, l'accord officiel du PHP Group et de Perforce Software (anciennement Zend) est nécessaire ; après les discussions communautaires, une période de débat de plus de six mois et une procédure de vote sont prévues
- Ce changement recommande aussi aux projets externes comme PECL/les extensions d'opter pour BSD 3-Clause, et déconseille l'usage de la « licence PHP »
Vue d'ensemble
- Le projet PHP traîne depuis longtemps confusion et controverses à cause de sa propre licence open source et de la Zend Engine License
- En particulier, la Zend Engine License appliquée au code source du répertoire Zend ajoute de la complexité car elle n'est pas approuvée par l'OSI
- Cette RFC propose une simplification pragmatique des licences qui préserve les droits d'auteur de tous les contributeurs PHP tout en accordant aux utilisateurs les mêmes droits que les licences actuelles
- L'objectif est d'adopter BSD 3-Clause (licence BSD modifiée) comme nouvelle licence officielle afin de conserver les droits et conditions d'usage tout en réduisant la complexité et les malentendus
Proposition et principaux changements
- Le cœur de la proposition consiste à publier de nouvelles versions de la PHP License et de la Zend Engine License afin d'adopter officiellement la Modified BSD License (BSD-3-Clause, approuvée à la fois par l'OSI et la FSF)
- La PHP License existante (version 3.01) et la Zend Engine License (version 2.00) sont en pratique équivalentes à la Modified BSD, à l'exception de clauses particulières, sans changement substantiel des autorisations
- Après cette mise à jour des licences :
- aucun changement dans les droits accordés aux contributeurs et aux utilisateurs
- suppression, en coopération avec le PHP Group et Perforce Software, des clauses propres à certains groupes
- PHP et Zend Engine seraient distribués sous une licence approuvée par l'OSI et compatible GPL
- L'utilisation de l'ancienne PHP License et de la Zend Engine License est désormais déconseillée
- Le fichier LICENSE et les en-têtes de licence dans le code source seraient eux aussi remplacés par un nouveau format
Résumé du texte de la licence
- BSD 3-Clause autorise librement la copie, la modification et la redistribution, à condition de conserver les mentions de copyright et de non-responsabilité, ainsi que l'interdiction d'utiliser sans autorisation les noms et marques
- BSD-3-Clause est une licence de logiciel libre approuvée à la fois par l'OSI (Open Source Initiative) et la FSF, et elle est compatible GPL
Processus de modification et approbation
- La RFC sera tranchée par un vote après une discussion publique au sein de la communauté, puis appliquée après accord officiel et validation du vote
- La modification de licence requiert l'accord officiel du PHP Group et de Perforce Software
- Les droits des anciens contributeurs au code source restent inchangés, et la modification ne porte pas atteinte aux droits existants
- Une période de discussion de plus de six mois sera accordée à la communauté avant le vote final
- Le changement doit être officiellement intégré à PHP 9.0
Contexte et historique
- Aux débuts, PHP 1 et 2 étaient sous GPL, avant d'évoluer via la licence Apache puis une licence fondée sur une BSD personnalisée
- Le Zend Engine a conservé une licence distincte, mais il est aujourd'hui considéré de fait comme faisant partie d'un seul et même projet, impossible à dissocier
- Les restrictions d'usage du nom dans l'ancienne licence PHP, ainsi que les clauses de protection de marque, posent depuis longtemps des problèmes de compatibilité et de distribution avec d'autres projets open source
Impact sur le code existant, les extensions et la documentation
- Cette RFC s'applique à l'ensemble de
php-src (hors code dont une licence distincte est explicitement indiquée), et recommande aussi l'adoption de BSD 3-Clause pour PECL/les extensions
- Elle concerne l'ensemble du code, nouveau ou existant, dans les dépôts de code source PHP utilisant la PHP License ou la Zend Engine License
- Les licences existantes distinctes (par ex.
timelib et autres codes sous licence séparée) ne sont pas concernées par ce changement
- Le manuel PHP continuerait à relever de la licence Creative Commons Attribution 3.0 ou ultérieure
- Les modules d'extension et logiciels existants se verraient offrir le choix d'appliquer PHP License v4 (Modified BSD)
- Pour les futures extensions et les nouveaux projets, il est recommandé d'utiliser des licences reconnues récentes comme BSD/Apache
Conclusion
- La structure de licence de PHP et du Zend Engine serait simplifiée en une BSD 3-Clause, ce qui devrait renforcer la clarté, la compatibilité, l'usage commercial et la sécurité juridique dans l'écosystème open source
- Si cette proposition est approuvée et appliquée, les utilisateurs pourront utiliser librement PHP et le Zend Engine selon les termes de BSD-3-Clause
- L'application officielle est prévue après l'accord des contributeurs du projet, de la communauté et des principales entreprises concernées, ainsi qu'après la procédure de vote
1 commentaires
Avis sur Hacker News
zval***) ; il raconte avoir ensuite fait toutes sortes de choses avec PHP, y compris participer à des concours de programmation au lycée en utilisant PHP en environnement CLI, mais avoir été éliminé parce que les encadrants ne connaissaient ni le langage ni l’environnement ; il remercie PHP pour les possibilités que cela lui a offertes à l’époquestruct, mais qu’ajouter de la complexité gratuitement lui paraît déraisonnable ; il se souvient qu’un proche répétait souvent : « pourquoi ce n’est pas plus simple ? »