Skip to content

PHPAY-80: migrar para Business Source License 1.1 com CLA - #82

Merged
mariolucasdev merged 1 commit into
developfrom
feat/phpay-80
Sep 21, 2026
Merged

mariolucasdev merged 1 commit into
developfrom
feat/phpay-80

Conversation

@mariolucasdev

Copy link
Copy Markdown
Collaborator

Closes #80

Migra o PHPay para a Business Source License 1.1 a partir da v2.0.0.

Este commit fazia parte do #81, mas o merge de lá pegou só até o commit do README — o push da licença chegou logo depois. É só o commit que ficou de fora.

A licença

Source-available, com uma única restrição comercial:

Usar em produção, inclusive em software fechado e comercial
Processar pagamentos seus ou dos seus clientes
Modificar, forkar, estudar e redistribuir
Oferecer o PHPay, ou um derivado, como biblioteca/SDK/serviço de integração de pagamentos concorrente

Quem integra pagamentos no próprio produto não é afetado. A restrição atinge só quem quiser revender o próprio PHPay.

Em 2030-09-20 converte automaticamente para MIT, e cada versão converte no máximo quatro anos após ser publicada.

Por que BSL e não Elastic License 2.0

A ELv2 proíbe essencialmente "oferecer como serviço gerenciado" — o que quase não morde numa biblioteca embarcada. Restringiria pouco na prática e ainda assim afastaria jurídico corporativo. A BSL permite escrever a restrição exata no Additional Use Grant.

MIT como Change License por ser a licença original do projeto e por satisfazer a Covenant 1 da BSL, que exige compatibilidade com GPL-2.0.

As v1.0.x continuam MIT

Licença nova não é retroativa: quem baixou a 1.0.0 ou a 1.0.1 mantém os direitos MIT daquelas versões para sempre, e pode forkar a partir delas. O texto fica preservado em LICENSE-MIT.md, e isso está dito explicitamente no README e na própria LICENSE.md.

CLA e template de pull request

CLA.md com aceite por checkbox no novo template de PR. O contribuidor mantém a titularidade do próprio código; o que concede é o direito de sublicenciar junto com o projeto — sem isso, a conversão automática para MIT na Change Date exigiria localizar cada contribuidor individualmente.

Notas de registro

Contribuições anteriores. evandrosystems tem 9 commits, e parte do código dele segue em Efi\Resources\Charge\Chargecancel(), confirmReceipt(), updateDueDate() e updateMetadata(). Não havia CLA à época, então foram enviadas sob MIT. O CLA vale a partir de 2026-09-20 e não retroage. Registrado para referência futura.

Este PR não é parecer jurídico. O Additional Use Grant é a cláusula que de fato determina o que é permitido; vale uma revisão jurídica antes de a licença valer para um público amplo.

Verificação

composer validate OK com o identificador SPDX BUSL-1.1. 151 testes, PHPStan nível 9 e Pint seguem limpos — a mudança não toca código.

… CLA

A partir da v2.0.0 o PHPay passa a ser source-available sob BSL 1.1, com uma
única restrição comercial: ninguém pode oferecer o PHPay, ou um derivado, como
biblioteca, SDK ou serviço de integração de pagamentos que concorra com ele.
Usar em produção, inclusive em software fechado e comercial, continua liberado
— quem integra pagamentos no próprio produto não é afetado.

Em 2030-09-20 a licença converte automaticamente para MIT, e cada versão
converte no máximo quatro anos após ser publicada. Escolhi MIT como Change
License por ser a licença original do projeto e satisfazer a Covenant 1 da BSL,
que exige compatibilidade com GPL-2.0.

Preferi BSL a Elastic License 2.0 porque a ELv2 proíbe essencialmente "oferecer
como serviço gerenciado", o que quase não morde numa biblioteca embarcada:
restringiria pouco na prática e ainda assim afastaria jurídico corporativo. A
BSL permite escrever a restrição exata no Additional Use Grant.

As versões 1.0.0 e 1.0.1 foram publicadas sob MIT e permanecem sob MIT — uma
licença nova não é retroativa, e quem já baixou mantém aqueles direitos. O
texto original fica preservado em LICENSE-MIT.md, e tanto o README quanto a
própria LICENSE.md dizem isso explicitamente.

Adiciona CLA.md, com aceite por checkbox no template de pull request que também
passa a existir. O contribuidor mantém a titularidade do próprio código; o que
concede é o direito de sublicenciar junto com o projeto, sem o qual a conversão
automática para MIT exigiria localizar cada contribuidor individualmente.

O composer.json passa a declarar BUSL-1.1, que é um identificador SPDX válido —
composer validate aceita.
@mariolucasdev
mariolucasdev merged commit b8fd293 into develop Sep 21, 2026
6 checks passed
@mariolucasdev
mariolucasdev deleted the feat/phpay-80 branch September 21, 2026 07:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reestruturar o README: assimetria entre gateways, markdown quebrado e lacunas que causam erro de cobrança

1 participant