Validação de licença e chamada para casa

10

Estou desenvolvendo um aplicativo que, quando comprado, pode ser ativado usando uma licença.

Atualmente, estou fazendo a validação offline, o que é um pouco preocupante para mim. Estou ciente de que não há nada a fazer contra rachaduras (binários modificados), no entanto, estou tentando desencorajar a pirataria de chaves de licença. Aqui está o meu plano atual:

  • Quando o usuário ativa o software e após a validação offline ter êxito, ele tenta ligar para casa e validar a licença. Se a casa aprovar a licença ou se a casa estiver inacessível, ou se o usuário estiver offline, a licença será aprovada . Se chegar em casa e informar que a licença é inválida, a validação falhará.
  • O aplicativo licenciado liga para casa da mesma maneira todas as vezes durante a inicialização (em segundo plano). Se a licença for revogada (ou seja, licença pirateada ou gerada via keygen), a licença será desativada.

Isso deve ajudar na pirataria de licenças - uma licença inválida será desativada e uma licença válida pirateada poderá ser revogada (e seu proprietário legal será fornecido com nova licença). Os usuários piratas serão forçados a usar a versão crackeada, que geralmente é específica e é mais difícil de alcançar.

Embora geralmente pareça bom para mim, tenho algumas preocupações:

  • Os usuários tendem a não gostar de chamadas domésticas e validação online. Esse tipo de validação o incomodaria? Mesmo que em caso de offline / falha, o aplicativo permaneça licenciado?
  • É claro que todo o esquema pode ser frustrado ficando offline / firewall / etc. Penso que o incômodo de executar uma dessas ações é ótimo o suficiente para desencorajar o compartilhamento ocasional de licenças, mas não tenho certeza.
  • Como geralmente ocorre com as variações de licenciamento e DRM, não tenho certeza de que o tempo gasto nesse tipo de proteção não seja melhor gasto com a melhoria do meu produto.

Eu apreciaria sua opinião e pensamentos.

Obrigado!

VitalyB
fonte
5
Se a casa estiver inacessível e aprovada, o desenvolvimento será um total desperdício de dinheiro e recursos. Clique com o botão direito, desative a rede, instale. Todo mundo pode fazer isso. Você precisa da ativação do telefone, mas é super irritante para os usuários.
Coder
2
Você deve levar em consideração que está entrando em uma área cinza legal se estiver "ligando para casa" sem o conhecimento do usuário. AFAIK, você precisa informar ao usuário que seu programa enviará dados para outro lugar.
AndrewC
Se o seu produto for caro o suficiente, você poderá usar chaves de hardware .
liori 19/09/11
2
eles editam o arquivo hosts para bloquear o seu IP e ele nunca vai encontrar casa e, portanto, nunca será invalidado ...
Drew
11
Muito facilmente ignorado. E se você o intensificou - bem, eu já tive experiências ruins o suficiente com a ativação que preciso de um motivo extremamente convincente para comprar algo que precisa de ativação e, mesmo assim, procurarei um hack de pirata, mesmo que tenha pago. Se uma empresa como a Adobe não pode garantir que a ativação funcione e não se incomode em atender chamadas de suporte, e se uma empresa como a Macromedia puder ser comprada para que seus sistemas de ativação deixem de existir, que chance você tem de me convencer? pode confiar no seu processo de ativação? E se é facilmente ignorado, qual é o objetivo?
precisa saber é o seguinte

Respostas:

13

Esta não é realmente uma guerra que você pode vencer com a abordagem que você definiu. Como outros já apontaram, simplesmente desabilitar a rede ou clicar em "não" quando o firewall perguntar se você deve ou não permitir que seu aplicativo ligue para casa, ignorará a casa. Além disso, os usuários absolutamente odeiam esse tipo de coisa, e você pode ser solicitado a marcar explicitamente uma caixa de seleção, dizendo que eles entendem o que o sistema está prestes a ligar para casa (de acordo com a lei em alguns países).

Então o que você pode fazer? Meu conselho seria:

  • Tente recompensar seus clientes pagantes com agregações de valor (atualizações frequentes, tutoriais on-line etc.), em vez de puni-los efetivamente.
  • Não se preocupe muito com piratas. Em muitos casos, é improvável que eles tenham comprado seu software, o mínimo que podem fazer é divulgar o seu aplicativo.
  • Se você realmente não consegue lidar com o fato de o seu software ser pirateado, torne-o um aplicativo on-line (se a natureza do software for tal que isso seja possível). Houve um artigo interessante de um desenvolvedor que fez essa mudança e descobriu que sua versão da Web vendia muito melhor, era muito mais fácil identificar quais recursos os usuários realmente usavam (já que não é realmente uma ligação para casa, se você já estiver no servidor), e havia muito menos relutância em as pessoas sacarem seus cartões de crédito (desculpe - não consigo encontrar o link).
Daniel B
fonte
2
"O único movimento vencedor é não jogar" - Jogos de guerra, 1983
Warren P
Os usuários não apenas odeiam esse tipo de coisa (ou pelo menos se sentem fortemente contra) que alguns setores, devido à natureza específica de seu trabalho, mantêm o dev. máquinas fora da rede. E nesses casos, independentemente do software que você precisa, na maioria das vezes você não muda suas políticas. O CATIA teve problemas semelhantes.
Rook
11

Com algo assim, você deve se perguntar (ou ao seu chefe) a seguinte pergunta:

Os custos de desenvolvimento e manutenção de um esquema antipirataria são menores ou maiores que os prejuízos causados ​​pela pirataria?

Se eles são menos, então, por todos os meios, vá em frente. Nesse caso, suponho que o seu software seja de alto valor (como o Microsoft Word ou o AutoCAD) e as pessoas não se preocupem com a possibilidade de ligar para casa de vez em quando.

Se eles forem maiores, sugiro que você não implemente nada muito complexo (ou mesmo nada) e se esforce para ganhar dinheiro com o software de outras maneiras. Você pode cobrar pelo suporte, ou pelo pessoal do programa para desenvolvedores, ou qualquer outra coisa.

Outra coisa a ter em mente é que, se alguém estiver determinado a piratear o seu software, ele adicionará mais camadas e não os interromperá, mas incomodará seus usuários legítimos.

ChrisF
fonte
11
+1 no último parágrafo. Cuidado com os retornos decrescentes da implementação de sistemas de licenciamento caros e complexos!
FrustratedWithFormsDesigner
4
Não é apenas uma questão de valor, mas também se a empresa de software realmente deseja que seu software seja "difícil de decifrar". O Word e o ACAD não se tornaram padrões do setor porque apenas usuários licenciados aprenderam e usaram.
Rook
5
Rook, afirmo até hoje que o Word se tornou dominante porque o Word 2.0, compactado, se encaixava perfeitamente em um único disquete de 1,44mb.
GrandmasterB
11
@GrandmasterB - Praticamente, sim. O que é mais interessante, essa pequena coisa fez quase tudo que eu precisava em um processador de texto.
Rook
6

Uma preocupação que não parece ser abordada aqui é "você saiu do negócio". Embora isso possa parecer uma variação de "a rede está inativa", é uma situação mais permanente. Eu me deparei com isso em vários produtos para desenvolvedores.

Tangurena
fonte
Bem, neste caso, o software é aprovado automaticamente. Portanto, isso não é um problema, todos que compraram ainda podem usá-lo.
VitalyB
Bom ponto e um recurso para procurar em um Serviço de ativação de licença. Também é bom mencionar no processo de compra para tranquilizar seus clientes.
CAD bloke
1

Minha observação é que depende muito do mercado vertical em que você está distribuindo seu aplicativo. Alguns são muito mais propensos à pirataria e outros usos não autorizados do que outros. Por exemplo, nunca lançarei outro produto no mercado de marketing na Internet e SEO sem fazer uma "casa telefônica" e outras proteções. A pirataria generalizada e casual é a regra nesse nicho. Em outros nichos de mercado em que trabalhei, como processamento de reclamações médicas, eu ficaria mais à vontade com a proteção mais flexível contra cópias.

Como Daniel B mencionou, mover o aplicativo on-line, no todo ou em parte, é uma opção em potencial. Este é o meu plano atual para um novo aplicativo no qual estou na fase de design agora.

jfrankcarr
fonte
0

Das desvantagens dos dongles :

Algumas desvantagens familiares são as seguintes:

  • O fornecedor do software precisa comprar, armazenar e entregar um hardware para cada cliente
  • Os clientes precisam esperar para executar sua licença, mas hoje os usuários esperam a entrega quase instantânea de software
  • Os clientes precisam manter um dispositivo USB inserido em sua máquina (saindo na frente ou na lateral, onde pode ser danificado)
  • Se um cliente desejar transferir a licença para outra máquina, ele deverá enviar o dongle.
Dominic
fonte
11
Links nus não são boas respostas. Se a página vinculada a desaparecer, sua resposta se tornará inútil. Resuma a página aqui (não basta recortar e colar).
ChrisF