Pular para o conteúdo
getnextpdf.com

Premium edição

Dois canais de entrega: ionCube e código-fonte assinado

O NextPDF Pro e o Enterprise são entregues em duas formas, e você pode pensar nelas como dois canais para o mesmo produto:

  • Codificado com ionCube — PHP instalável cujo código-fonte é codificado e executado por meio do ionCube Loader em tempo de execução.
  • Código-fonte assinado em texto puro — código-fonte PHP legível, assinado criptograficamente para que você possa verificar que ele é genuíno e não modificado.

Ambos os canais carregam a mesma licença e os mesmos direitos (o NextPDF Commercial License Agreement rege os dois, e o acesso ao código-fonte legível nunca é permissão para copiá-lo ou redistribuí-lo). Eles existem porque dois tipos de cliente têm dois problemas diferentes a resolver, e definimos o preço de cada canal de modo a refletir a contrapartida que ele carrega — não porque um tenha mais recursos do que o outro. Esta página explica o raciocínio, para que você possa escolher de olhos abertos. Para a configuração prática da versão codificada, consulte Configurar o ionCube Loader.

Por que proteger o código-fonte é um problema real em PHP

Seção intitulada “Por que proteger o código-fonte é um problema real em PHP”

O PHP é distribuído e executado como código-fonte. Ao contrário de linguagens que compilam para um binário opaco ou para bytecode antes de serem distribuídas, o código-fonte de trabalho de um pacote PHP é aquilo que você instala — o runtime o lê diretamente. Essa é uma das grandes forças do PHP: ele é transparente, fácil de inspecionar, fácil de corrigir, e boa parte da razão de seu ecossistema de código aberto ser tão vibrante.

É também por isso que um projeto PHP comercial tem um problema de proteção mais difícil do que seus equivalentes em outros lugares. O investimento que entra em um mecanismo profundo e especializado — os anos de trabalho com padrões, os casos extremos, as suítes de teste — vive em código-fonte que, por padrão, trafega de forma aberta. Esse investimento é um segredo comercial: o conhecimento prático que financia o desenvolvimento contínuo e um ativo que a lei reconhece e protege. Protegê-lo não tem a ver com se esconder dos usuários; tem a ver com manter o trabalho financeiramente viável.

É também por isso que a proteção do código-fonte é simplesmente mais fácil em ecossistemas que distribuem artefatos compilados ou em bytecode — Java é o exemplo comum: a forma distribuída já está a um passo de distância do código-fonte de trabalho, de modo que um fornecedor comercial tem menos a proteger. Isso tornou mais simples financiar ferramentas comerciais profundas e especializadas por lá, ao passo que boa parte do trabalho sério em PHP dependeu, em vez disso, da boa vontade da comunidade de código aberto. Não achamos que isso seja uma lei da natureza. O PHP também merece ferramentas profissionais, ativamente mantidas e à altura dos padrões — e tornar o código-fonte defensável é o que torna o financiamento desse trabalho sustentável.

A resposta do NextPDF é o núcleo aberto com um premium pago. O mecanismo sobre o qual você constrói — nextpdf/core — é Apache-2.0 e permanece aberto; você pode lê-lo, fazer um fork e distribuí-lo comercialmente. O NextPDF Pro e o Enterprise são as edições privadas, e a receita deles é o que paga a manutenção ativa, a conformidade com padrões e os próximos recursos. Essa divisão é deliberada: ela nos permite atender equipes que precisam de capacidades profissionais, de nível B2B, e permanecer amigáveis para desenvolvedores individuais, porque nós mesmos começamos como desenvolvedores solo que amam software livre. O raciocínio por trás da metade aberta é abordado em Núcleo aberto, sem aprisionamento; esta página trata de como a metade paga chega até você.

O canal ionCube — proteção que mantém o preço baixo

Seção intitulada “O canal ionCube — proteção que mantém o preço baixo”

Para a maioria dos clientes, o canal codificado com ionCube é o padrão. Codificar o código-fonte — uma forma reconhecida de elevar o custo de adulteração e apropriação indevida — nos permite proteger o código premium com muito menos sobrecarga: menos tratamento de código-fonte sob medida, menos administração de distribuição e acesso e um ônus legal e de fiscalização mais leve do que salvaguardar código-fonte em texto puro em escala. Essas economias são reais, e nós as repassamos.

A contrapartida é um modesto custo em tempo de execução: o Loader decodifica os arquivos codificados conforme o PHP é executado, o que adiciona alguma sobrecarga. Refletimos essa contrapartida no preço para que você possa avaliá-la honestamente, em vez de descobri-la mais tarde. Na prática, a sobrecarga costuma ser pequena e muitas vezes desprezível em implantações típicas — e praticamente irrelevante em um host que já executa o ionCube Loader para outros softwares. Cargas de trabalho sensíveis a desempenho devem compará-la com seu próprio perfil; para a grande maioria das implantações, o canal codificado é simplesmente a opção de menor custo — exatamente o encontro entre oferta e demanda que queremos que ele seja. Configurar o Loader é uma etapa única, documentada em Configurar o ionCube Loader.

O canal de código-fonte assinado — para regulamentação, auditoria e garantia da cadeia de suprimentos

Seção intitulada “O canal de código-fonte assinado — para regulamentação, auditoria e garantia da cadeia de suprimentos”

Alguns clientes não podem aceitar código codificado em seu runtime. Organizações sob forte regulamentação, ou com requisitos rigorosos de segurança da cadeia de suprimentos e de auditoria, precisam ler, revisar e verificar o que executam — e normalmente têm o orçamento que esses requisitos implicam. Para elas, oferecemos o canal de código-fonte assinado em texto puro: as mesmas edições entregues como código-fonte legível, assinado criptograficamente para que sua origem e integridade possam ser verificadas.

Isso corresponde diretamente à forma como a segurança moderna da cadeia de suprimentos espera que o software seja tratado: código-fonte entregue em um pacote assinado digitalmente, assinaturas verificadas antes do uso e código-fonte revisável preferido a um artefato opaco para garantia e auditoria (NIST SP 800-204D). Aqui o código não é protegido por codificação — ele é protegido por lei e contrato: ele permanece o segredo comercial confidencial da PATEON, a empresa por trás do NextPDF, e o que você pode e não pode fazer com ele é estabelecido pelo NextPDF Commercial License Agreement. Poder ler o código-fonte nunca é permissão para copiá-lo, redistribuí-lo ou relicenciá-lo.

Esse canal custa mais, e o motivo é o inverso do canal ionCube: ele remove a sobrecarga em tempo de execução, mas desloca o ônus da proteção de volta para o contrato, a confiança e a administração — que é o custo que assumimos para que clientes sujeitos a conformidade possam cumprir suas obrigações.

Os canais também diferem em como a licença é verificada enquanto sua aplicação é executada, e para implantações offline ou air-gapped esse costuma ser o fator decisivo.

O canal ionCube verifica sua licença periodicamente online. Uma versão premium entregue pelo canal codificado contata o serviço de licenças do NextPDF em uma cadência regular — aproximadamente uma verificação a cada 7 dias que renova um arrendamento de cerca de 14 dias. Enquanto a implantação conseguir alcançar o serviço dentro dessa janela, tudo funciona normalmente. Se ela permanecer offline além do arrendamento, os recursos premium são pausados e o mecanismo recai para o Core gratuito — ele não para, não gera erro nem trava — e eles são retomados automaticamente assim que a conectividade retorna. Esse arrendamento online é também o que torna o número de assentos licenciado aplicável e permite que uma revogação entre em vigor dentro da janela do arrendamento (cerca de 14 dias, mais um breve período de tolerância). Uma verificação envia apenas um identificador de licença e um hash de impressão digital com sal — nunca o conteúdo dos seus documentos, e nunca uma impressão digital bruta ou um endereço IP.

O canal de código-fonte assinado pode ser executado totalmente offline. Como sua licença assinada é um artefato autocontido que o mecanismo verifica localmente, o canal de código-fonte assinado não precisa de nenhuma conectividade periódica e é adequado a implantações air-gapped, limitado apenas pela própria validade da licença. Aqui o número de assentos é um limite contratual definido pelo seu acordo, e não algo aplicado em tempo de execução; uma revogação se aplica na próxima verificação online ou por meio de uma atualização do produto; e uma implantação puramente offline não envia nada.

Dois relógios distintos — não os confunda. O arrendamento de ~14 dias do canal ionCube diz respeito à conectividade — por quanto tempo uma implantação tolera ficar offline. Ele é independente do período de tolerância de ~30 dias que qualquer dos canais concede após a data de término de uma assinatura, durante o qual os recursos premium continuam funcionando enquanto você renova, antes que o mecanismo recaia para o Core. Um vencimento de arrendamento e a expiração de uma assinatura são eventos diferentes em cronômetros diferentes.

Qualquer que seja o canal que você execute, o modo de falha é o mesmo e sempre seguro: o NextPDF rebaixa para o Core gratuito e de código aberto. Ele nunca inutiliza nada, nunca impede seu acesso a software que você já implantou e nunca para no meio da execução.

Os dois canais não são dois produtos. Eles conferem direitos de licença idênticos e o mesmo software; a diferença está em como o código-fonte é protegido, como a licença é verificada em tempo de execução e quanto isso custa:

Codificado com ionCubeCódigo-fonte assinado em texto puro
O que você executaPHP codificado, via ionCube LoaderCódigo-fonte PHP legível e assinado
Como o código-fonte é protegidoCodificação (uma medida tecnológica) mais a licençaA licença e a lei de segredo comercial (sem codificação)
Mais indicado paraA maioria das implantações; menor custoNecessidades reguladas / de auditoria / de segurança da cadeia de suprimentos
Custo em tempo de execuçãoUma pequena sobrecarga do Loader (muitas vezes desprezível; faça benchmark se for sensível a desempenho)Nenhum adicionado por nós
Verificação online da licençaPeriódica (verificação a cada ~7 dias, arrendamento de ~14 dias)Opcional; verifica localmente e é executada offline
Offline / air-gappedAté a janela do arrendamento; depois os recursos premium são pausados para o Core (retomada automática ao reconectar)Totalmente suportado; sem conectividade periódica
Número de assentosAplicado por meio do arrendamento onlineContratual (conforme seu acordo); não aplicado em tempo de execução
Revogação entra em vigorDentro da janela do arrendamento (~14 dias + breve tolerância)Na próxima verificação online, ou por meio de uma atualização do produto
Dados de licença enviadosApenas ID de licença + hash de impressão digital com sal (nunca conteúdo, IP ou impressão digital bruta)Nada quando totalmente offline
DireitosIdênticos — consulte o EULAIdênticos — consulte o EULA

O preço reflete essa contrapartida entre proteção e tempo de execução, não uma lacuna de recursos. Para preços e edições atuais, consulte Compra e licenciamento e a página de preços vinculada a partir dela; esta página de documentação deliberadamente não reitera preços nem termos de licença.

Preferimos que o ecossistema PHP tivesse mais ferramentas sérias, bem financiadas e mantidas profissionalmente — e menos projetos que se esgotam silenciosamente porque não havia uma forma sustentável de financiar a profundidade de que precisavam. Proteger o código-fonte é o que nos permite investir nessa profundidade, mantendo o núcleo aberto e o canal codificado acessível. E porque a confiança se conquista, procuramos ser transparentes exatamente quanto a isto: o que cada canal protege, quanto ele custa para você e por quê — para que a contrapartida seja sua para ponderar, não nossa para esconder.