O fim da licença PHP: projeto abandona modelo próprio e adota BSD 3-Clause

O fim da licença PHP: projeto abandona modelo próprio e adota BSD 3-Clause

Mudanças estruturais em grandes projetos de software costumam acontecer aos poucos, quase sempre invisíveis para quem está fora. Por isso chama atenção quando uma decisão afeta um dos pilares mais antigos e menos discutidos (ao menos pelo público) do ecossistema: a licença.

Foi exatamente isso que aconteceu com o PHP. Após mais de duas décadas, o projeto decidiu aposentar sua licença própria e adotar a BSD 3-Clause, uma das licenças permissivas mais amplamente utilizadas no mundo open source. Trata-se de um ajuste que resolve problemas antigos e alinha o projeto com práticas modernas de desenvolvimento e distribuição.

Um legado que começou nos anos 90

Para entender o impacto, é preciso voltar ao fim dos anos 1990. Criado por Rasmus Lerdorf, o PHP surgiu como uma linguagem simples para páginas dinâmicas, mas rapidamente se transformou em um dos pilares da web. Hoje, continua sendo a base de plataformas como WordPress e de uma parcela significativa da internet.

A licença original do PHP apareceu com a versão 3, em 1998. Era uma adaptação da licença Apache 1.0, com modificações específicas para o projeto. Anos depois, com o PHP 4, surgiu um segundo modelo: a Zend Engine License, aplicada ao motor interno da linguagem.

Durante muito tempo, com esse arranjo, desenvolvedores e empresas ignoraram as nuances jurídicas e seguiram usando o software normalmente. O problema é que essas “nuances” começaram a pesar.

Licenças que envelheceram mal

O diagnóstico veio de dentro. Ao revisar o modelo, o time percebeu que as duas licenças carregavam elementos que já não faziam sentido.

O primeiro ponto era histórico. A Zend Engine License existia porque o motor da linguagem, em tese, poderia ser um componente separado. Na prática, isso nunca aconteceu. Após 25 anos, PHP e Zend Engine se tornaram inseparáveis.

O segundo problema era jurídico. Nenhuma das duas licenças era plenamente compatível com a GPL, o que sempre gerou atrito em ambientes que exigem compatibilidade total com esse modelo.

Além disso, havia restrições específicas que criavam ambiguidade. Um exemplo clássico era a cláusula que limitava o uso do nome “PHP” em projetos derivados, algo que complicava a vida de distribuições Linux como Debian, que frequentemente modificam e redistribuem o software.

Por fim, havia um problema mais amplo: o PHP estava mantendo duas licenças próprias que, no fundo, eram variações de algo que já existia. Quando se removiam as cláusulas específicas, o que sobrava era essencialmente a BSD 3-Clause.

A conclusão foi inevitável.

Em vez de manter versões personalizadas com pequenas diferenças, o projeto decidiu adotar diretamente a BSD 3-Clause como base legal. A mudança não altera o espírito do PHP. Direitos de uso, modificação e distribuição continuam os mesmos. O que muda é a forma como esses direitos são definidos.

A nova licença é reconhecida por organizações como a Open Source Initiative (OSI) e a Free Software Foundation (FSF), possui identificador padrão (SPDX) e é amplamente suportada por ferramentas de compliance. Isso elimina uma série de fricções que existiam principalmente em ambientes corporativos.

Um processo longo e incomum

Esse tipo de mudança não acontece por decreto. A licença PHP 3.01 dava ao PHP Group o poder de atualizar seus termos, mas isso exigia um passo adicional: obter consentimento formal dos membros originais do grupo. Todos foram contatados e aprovaram.

Do lado da Zend Engine, foi necessário envolver a Perforce Software, atual responsável pelos direitos relacionados ao componente. A empresa também formalizou apoio à mudança. Além disso, o processo incluiu uma revisão jurídica independente e um período de discussão pública de seis meses dentro da comunidade. A aprovação final veio de forma unânime.

Para a maioria dos desenvolvedores, a mudança será invisível no dia a dia. Os códigos continuam funcionando da mesma forma, APIs não mudaram, nada quebrou. Mas, nos bastidores, o impacto é relevante.

Empresas que antes precisavam justificar o uso de uma licença não totalmente alinhada com suas políticas agora deixam de ter esse problema. Projetos que dependem de compatibilidade com o GPL passam a integrar o PHP com menos restrições. Distribuições Linux também ganham clareza jurídica ao empacotar e redistribuir a linguagem.

E, talvez mais importante, o PHP abandona uma prática que a própria comunidade open source tenta evitar há anos: a proliferação de licenças quase idênticas, com pequenas diferenças e grandes implicações.

A Open Source Initiative sempre defendeu o princípio de, em vez de criar uma nova licença, usar uma que já exista. O PHP levou mais de 20 anos para seguir esse caminho.

Fique por dentro das principais novidades da semana sobre tecnologia e Linux: receba nossa newsletter!