Buenas Humberto, esse é um tema interessante,
Limitar instalação apenas na máquina desejada: Infelizmente nada que é liberado pra nós (usuário comuns do Profitchart) permite fazer algum tipo de controle específico, por exemplo verificar conta de usuário, etc. A única maneira seria desenvolver sua própria aplicação pra fazer esse controle e verificação.
Loja Profitchart: A loja da própria nelógica no momento me parece a única forma nativa de controlar inscrições, por exemplo, com cobranças mensais. Talvez aqui o problema seja que não é possível controlar exatamente quem irá contratar o código.
Então depende um pouco do quanto você quer “investir” nessa infra-estrutura pra controlar as inscrições, pagamento e distribuição das versões atualizadas do código.
Há uns 2 anos atrás eu pensei em desenvolver algo nesse sentido, não é a melhor solução mas é forma de tentar manter o processo relativamente simples e de baixa manutenção, lembrando que proteção contra pirataria é sempre uma relação de esforço vs benefício, e que é de fato tema recorrente em desenvolvimento profissional, a questão sempre é, é melhor investir tempo e recursos em proteger o código ou gastar esse tempo e recurso em melhorar o software? sabendo que pirataria é algo inevitável, encontrar o equilíbrio é a grande questão.
Minha idéia
Criar em um arquivo separado, no próprio profitchart, uma função que funciona como um “ativador” do indicador original, ou seja, seu usuário precisa preencher como parâmetro o número da “conta” dele (que você define) e um token no indicador original, o indicador original então “chama” essa “função externa” (esse arquivo separado), pra verificar o número do cliente com o token e simplesmente retorna 1
ou 0
, ou seja, sim ou não, se a verificação foi aprovada, e se for, o indicador original faz a plotagem, (por exemplo).
- O token seria um valor numérico de, por exemplo, 6 dígitos que é gerado, usando um algoritmo que usa o ID do cliente e a data atual pra gerar um número “pseudo-aleatório”.
- Dessa forma você poderia gerar tokens que são válidos, pro dia, pro mês, pro ano, por exemplo, dependendo do nível de proteção que você quer.
- Nesse formato você pode produzir e distribuir vários “indicadores” que usam o mesmo “ativador”.
A questão aqui é como distribuir o gerador de tokens
- Você poderia enviar pros clientes que confirmaram o pagamento o novo gerador de token todo mês, precisaria ser uma aplicação desenvolvida separada do Profitchart, em c#, python, etc. é mais trabalhoso e usuários com acesso ao programa, é possível que tentarão “quebrar” o código pra conseguir acesso a fórmula matemática pra gerar os tokens.
- Você poderia hospedar o gerador de token online, numa página na internet usando uma linguagem de servidor, por exemplo php, (quase impossível de quebrar o código) porém aqui você precisa adicionar um nível de controle de acesso a essa página, com login e senha, e alguma validação de pagamentos,
- Você poderia usar um método “híbrido” do anterior, hospedar essa página que contém o gerador de token online num novo endereço todo mês, assim você pode fazer o controle manual de quem pagou e de requem recebe o novo link por email talvez.
- Uma última forma, eu pensei que talvez daria pra fazer algo com o google planilhas, onde você pode criar fórmulas matemáticas pra gerar o token e compartilhar o documento, e controlar quem tem acesso ao documento manualmente, quem não pagou sai da lista de acesso ao gerador de token, mas na época não lembro se encontrei uma forma eficiente de proteger a fórmula em si na planilha, faz tempo, talvez hoje seja mais fácil.
Eu cheguei a criar o “ativador” e gerador de tokens que funcionam, mas cada um teria que encontrar uma forma de hospedar seus geradores de token, eu até pensei em desenvolver um sistema pra isso, mas a verdade é que é uma responsabilidade grande, afinal o usuário final depende desse gerador de token pra ter acesso, não é um serviço que eu vejo como vantajoso, já que a cobrança teria que ser baixa, e o risco e responsabilidade alto, também não vi uma alta demanda, principalmente depois que a nelógica criou a “loja”.
Você vê que no final das contas não tem solução final, e depende de quanto esforço e investimento você quer colocar.
Eu acho que vou fazer um vídeo sobre isso, apesar da demanda ser relativamente baixa, é sempre recorrente, sempre perguntam sobre isso.