Askimet não é um bom exemplo. Isto porque o serviço deles não é mais que uma API - o valor não está no "plugin", está sim no mecanismo que eles desenvolveram para detectar SPAM (e que está alojado apenas e só nos servidores deles, não é distribuído).
PHP é interpretado, a linguagem nem sequer é compilada. A única maneira de protegeres o código é ofuscando-o: podes inventar 30 por uma linha, códigos de activação (em que o tema só é disparado se se conseguir autenticar contra um servidor teu), ficheiros que funcionem como um certificado (que sigam um qualquer tipo de encriptação teu, o qual tenha de ser válido para o tema correr).
No fim do dia, como tens de oferecer o código do tema, qualquer tipo que saiba PHP com um maior ou menor esforço consegue ultrapassar a protecção (nem é necessário reverse engineering, basta encontrar o pedaço de código que trata disso e alterar-lhe a lógica).
A única solução +/- eficiente são algumas soluções comerciais para ofuscares código. Já utilizei
Zen Guard e
IonCube. A ideia é ofuscares partes do código críticas para a validação de autenticidade do software e algum código essencial ao funcionamento do tema.
Esta solução tem claras desvantagens e não me parece ser (nada) viável para a comercialização de um tema:
- O facto de ter de recorrer a uma API tua para ter de instalar ou utilizar o tema, para mim, seria factor imediato para não comprar o que quer que fosse. Quem me diz que amanhã não "desapareces" e o dinheiro que investi no tema, capuff...
- O facto de ofuscares código impossibilita-me de o alterar. É um modelo de licenciamento perfeitamente válido, no entanto pela natureza do software que é (um tema) eu vou querer alterar coisas. Não o poder fazer seria suficiente para descartar imediatamente a tua solução.
Voltamos à velha história, para travares cópias ilegais vais ter de retirar valor ao teu produto (e imenso valor, no teu caso). E a verdade é que ao fim do dia, se o teu tema for realmente bom e se alguém tiver interessado em o distribuir - mesmo recorrendo a IonCube ou ao que tu quiseres, haverá sempre alguém que consegue contornar o sistema.
Dito isto, não me parece que seja solução para o teu problema. Se no entanto é um caminho que queiras explorar, algumas alternativas:
http://www.phpclasses.org/package/2298-PHP-Generate-PHP-application-license-keys.htmlhttp://www.phplicengine.com/Boa sorte!