- O projeto PHP está discutindo uma RFC para unificar a licença própria do PHP e a licença do Zend Engine, que hoje são complexas e incompatíveis, sob a BSD 3-Clause (licença BSD modificada)
- A nova licença passaria a valer a partir do PHP 9.0, com a BSD 3-Clause aplicada ao código-fonte, cabeçalhos e documentação em geral, eliminando cláusulas especiais antigas e restrições relacionadas à marca
- Com isso, haveria aprovação da OSI e da FSF, compatibilidade com GPL e maior clareza jurídica, enquanto os direitos de contribuidores e usuários permaneceriam os mesmos
- Para a mudança de licença, é necessário o consentimento oficial do PHP Group e da Perforce Software (antiga Zend), além de um processo de discussão comunitária seguido de mais de 6 meses de debate e votação
- A mudança também recomenda que projetos externos, como PECL e extensões, adotem BSD 3-Clause, e desencoraja o uso da “licença PHP”
Visão geral
- O projeto PHP convive há muito tempo com confusão e controvérsia por causa de sua licença própria de código aberto e da Zend Engine License
- Em especial, a Zend Engine License aplicada ao código-fonte no diretório Zend aumenta a complexidade por não ser uma licença aprovada pela OSI
- Esta RFC propõe uma simplificação prática do licenciamento que preserva os direitos autorais de todos os contribuidores do PHP, ao mesmo tempo em que concede aos usuários os mesmos direitos da licença atual
- O objetivo é adotar a BSD 3-Clause (licença BSD modificada) como nova licença oficial, mantendo direitos e condições de uso enquanto reduz complexidade e mal-entendidos
Proposta e principais mudanças
- O ponto central da proposta é publicar novas versões da PHP License e da Zend Engine License para adotar oficialmente a Modified BSD License (BSD-3-Clause, aprovada por OSI e FSF)
- A PHP License atual (versão 3.01) e a Zend Engine License (versão 2.00) são na prática equivalentes à Modified BSD, exceto por cláusulas especiais, portanto não há mudança substancial de permissões
- Após a atualização da licença:
- não haverá mudança nos direitos concedidos a contribuidores e usuários
- em colaboração com o PHP Group e a Perforce Software, serão removidas cláusulas específicas desses grupos
- PHP e Zend Engine passarão a ser distribuídos sob licenças aprovadas pela OSI e compatíveis com GPL
- O uso da antiga PHP License e da Zend Engine License deixa de ser recomendado
- O arquivo LICENSE e os cabeçalhos de licença no código-fonte também serão substituídos por um novo formato
Resumo do texto da licença
- A BSD 3-Clause permite copiar, modificar e redistribuir livremente, desde que sejam mantidos os avisos de copyright e isenção de responsabilidade, além da proibição de uso não autorizado de nomes e marcas
- A BSD-3-Clause é uma licença de software livre aprovada tanto pela OSI (Open Source Initiative) quanto pela FSF e compatível com GPL
Processo de mudança e aprovação
- A RFC será definida por votação após discussão pública na comunidade, e a aplicação avançará depois do consentimento oficial e da votação
- A mudança de licença exige o consentimento oficial do PHP Group e da Perforce Software
- Os direitos dos contribuidores do código-fonte existente serão mantidos, e a mudança não viola permissões já concedidas
- A comunidade terá mais de 6 meses para discussão antes da votação final
- A mudança deve ser incorporada oficialmente no PHP 9.0
Contexto histórico
- Nas fases iniciais, o PHP 1 e o PHP 2 usavam GPL; depois, evoluíram passando por licenças Apache e por uma licença baseada em BSD customizada
- O Zend Engine manteve uma licença separada, mas hoje é visto na prática como parte de um único projeto inseparável
- As restrições de uso do nome e as cláusulas de proteção de marca da licença atual do PHP vêm causando problemas contínuos de compatibilidade e distribuição com outros projetos de código aberto
Impacto no código existente, extensões e documentação
- Esta RFC se aplica a todo o php-src (exceto códigos com licença separada explicitamente indicada), e também recomenda a adoção da BSD 3-Clause em projetos como PECL e extensões
- Afeta todo o código, novo e existente, dentro do repositório de código-fonte do PHP que hoje esteja sob a PHP License ou a Zend Engine License
- Códigos sob outras licenças existentes (por exemplo, timelib e outros componentes com licença própria) não são alvo desta mudança
- O manual do PHP continuará sob a licença Creative Commons Attribution 3.0 ou superior
- Módulos de extensão e softwares existentes terão a opção de adotar a PHP License v4 (Modified BSD)
- Para extensões futuras e novos projetos, recomenda-se o uso de licenças reconhecidas mais recentes, como BSD ou Apache
Conclusão
- A estrutura de licenciamento do PHP e do Zend Engine deve ser simplificada para a BSD de 3 cláusulas, o que tende a reforçar clareza, compatibilidade, uso comercial e segurança jurídica no ecossistema open source
- Se a proposta for aprovada e aplicada, os usuários poderão usar livremente PHP e Zend Engine com base na BSD-3-Clause
- A aplicação oficial está prevista após a conclusão do processo de consentimento e votação entre contribuidores, comunidade e empresas-chave
1 comentários
Opiniões do Hacker News
zval***); desde então fez várias coisas com PHP e até participou de competições de programação no ensino médio usando PHP em ambiente CLI, mas acabou eliminado porque a equipe do evento não conhecia bem a linguagem nem o ambiente, numa experiência engraçada e triste ao mesmo tempo; agradece pelas possibilidades que o PHP permitiu naquela épocastructé compreensível, mas adicionar complexidade à toa parece irracional; relembra que um conhecido costumava dizer: “por que não é simples?”