Chaves de registro de software

O software é totalmente digital e, no entanto, há um aspecto inevitável da instalação do software que permanece totalmente analógico: inserir a chave de registro.

exemplo de chave de registro de software nº 1

exemplo de chave de registro de software nº 2

exemplo de chave de registro de software nº 3

exemplo de chave de registro de software nº 4

O agravamento é intencional. As chaves de registro exclusivas existem apenas para evitar a pirataria. Como todas as soluções de pirataria – exceto aplicativos e jogos totalmente hospedados em servidores, em que a pirataria significa que o senhor teria que hospedar seu próprio servidor desonesto – é uma solução incompleta do lado do cliente. Qual é a eficácia dessa solução? Um fornecedor implementou um código para detectar chaves de registro falsas e telefonam para casa com algumas informações básicas, como o endereço IP, quando essas chaves falsas são inseridas. Aqui está o que eles encontraram:

Conectividade de software Proporção de software pirata
para chaves legítimas
não é necessária conexão com a Internet 45 : 1
é necessária uma conexão ocasional com a Internet 60 : 1
a internet deve estar “sempre ativa” 110 : 1

Não tenho ideia de quão confiáveis são esses dados. O fornecedor nunca é nomeado e, como o título do URL é sharewarejustice.com/software-piracy.htm, eu esperaria que ele fosse tendencioso. Mas são dados e, sem o conceito de chave de registro (e a conectividade generalizada com a Internet), não teríamos dados para quantificar a quantidade de pirataria que realmente existe. A BSA estimou que 35% de todo o software foi pirateado em 2006, mas isso é apenas isso: uma estimativa. Escolherei dados tendenciosos em vez de nenhum dado, sempre.

Não tenho problemas com as chaves de registro. O senhor poderia, de fato, argumentar que a validação da chave de registro realmente funciona. A Microsoft declarou recentemente que a taxa de pirataria do Vista é metade da do XPem grande parte devido aos aprimoramentos em seus Programa Windows Genuine Advantage— Serviço de validação de chave de registro global da Microsoft.

Como desenvolvedor de software, posso ter certa empatia com a Microsoft. A menos que o senhor se oponha ao próprio conceito de software comercial, tem que haver algum tipo de fiscalização em vigor. A natureza digital do software torna fácil e impessoal para as pessoas evitarem pagar (observe que eu não disse “roubar”), o que é uma combinação irresistível para muitos. A menos que o senhor ofereça algum desestímulo, é exatamente isso que as pessoas farão – elas não pagarão nada pelo seu software.

A história da Microsoft com a pirataria vem de muito, muito tempo atrás – desde os microcomputadores originais. O senhor pode testemunhar o que Bill Gates disse Carta aberta aos hobbistas, escrita em 1976.

Há quase um ano, Paul Allen e eu, esperando que o mercado de hobby se expandisse, contratamos Monte Davidoff e desenvolvemos o Altair BASIC. Embora o trabalho inicial tenha levado apenas dois meses, nós três passamos a maior parte do último ano documentando, aprimorando e adicionando recursos ao BASIC. Agora temos o 4K, 8K, EXTENDED, ROM e DISK BASIC. O valor do tempo de uso do computador que utilizamos ultrapassa US$ 40.000.

O feedback que recebemos das centenas de pessoas que dizem estar usando o BASIC foi positivo. No entanto, duas coisas surpreendentes são evidentes: 1) A maioria desses “usuários” nunca comprou o BASIC (menos de 10% de todos os proprietários de Altair compraram o BASIC) e 2) O valor dos royalties que recebemos das vendas para amadores faz com que o tempo gasto com o Altair BASIC valha menos de US$ 2 por hora.

Por que isso acontece? Como a maioria dos amadores deve saber, a maioria dos senhores rouba seu software. O hardware deve ser pago, mas o software é algo a ser compartilhado. Quem se importa se as pessoas que trabalharam nele são pagas?

Isso é justo? Uma coisa que o senhor não faz ao roubar um software é se vingar da MITS por algum problema que possa ter tido. A MITS não ganha dinheiro vendendo software. Os royalties que nos são pagos, o manual, a fita e as despesas gerais fazem com que a operação não seja lucrativa. Uma coisa que o senhor faz é impedir que um bom software seja escrito. Quem pode se dar ao luxo de fazer um trabalho profissional de graça? Que hobbista pode dedicar três anos à programação, encontrar todos os bugs, documentar seu produto e distribuí-lo gratuitamente? O fato é que ninguém além de nós investiu muito dinheiro em software para hobby. Escrevemos o 6800 BASIC e estamos escrevendo o 8080 APL e o 6800 APL, mas há muito pouco incentivo para disponibilizar esse software para amadores. Mais diretamente, o que o senhor faz é roubo.

Embora os computadores tenham mudado radicalmente nos últimos trinta anos, o comportamento humano não mudou. (Como alternativa, o senhor poderia argumentar que a economia da computação e o surgimento de um ecossistema de software suportado por anúncios mudaram fundamentalmente as regras do jogo desde 1976. Mas esse é um tópico para outra postagem no blog).

Aceito isso as chaves de registro de software são um mal necessário para o software comerciale eu me resigno a controlá-las e digitá-las manualmente. Mas por que elas têm de ser tão dolorosas? O senhor do O senhor percebe que um ser humano tem que digitar essas coisas, certo? Aqui estão algumas coisas que vi os fornecedores errarem no processo da chave de registro:

  1. Usar caracteres comumente errados na chave

    Rápido! Isso é um “O” ou um “0”? Um “6” ou um “G”? Um “I” ou um “l”? Um “B” ou um “8”? Pelo menos, tenha a cortesia de remover do conjunto de caracteres da chave de registro os caracteres que são comumente confundidos com outros caracteres. E, por favor, imprima a chave em uma fonte que minimize as chances de confusão.

  2. Teclas excessivamente longas

    A mais rudimentar compreensão da matemática nos diz que uma chave de registro alfanumérica conservadora de 10 caracteres é boa para 197 trilhões de usuários únicos. Até mesmo levando em conta o princípio do pombal, podemos estimar cerca de 14 milhões de combinações aleatórias de chaves de registro antes de termos um risco de 50% de colisão. Então, por que os desenvolvedores de software insistem em chaves de registro com mais de 20 caracteres? Isso é ridículo. Será que eles estão planejando vender licenças para cada grão de areia de cada praia?

  3. Não separar a chave em blocos

    Em vez de esmagar sua chave em uma longa cadeia de caracteres, faça dela um grupo de pequenos 4 a 5 caracteres, separados por um delimitador. Essa é a mesma razão pela qual os números de telefone são listados como 404-555-1212 e não como 4045551212: As pessoas têm mais facilidade para lidar e lembrar de pequenos pedaços de informações.

  4. Dificultando a inserção da chave

    Se não for possível fornecer a cada cliente um prático leitor de código de barras USB, pelo menos torne o formulário de entrada da chave de registro o mais amigável possível:

    • Permita que o usuário insira a chave em qualquer formato. Com traços, sem traços, usando espaços, o que for. Seja flexível. Aceite uma variedade de formatos.
    • Não forneça cinco caixas de entrada que exijam que façamos tabulação em cada uma delas para inserir a chave. Isso é morte por mil caixas de texto minúsculas.
    • O senhor me avisa assim que eu inserir um valor incorreto na chave. Por que eu teria que voltar e examinar minha entrada para descobrir qual letra ou número eu errei? O senhor é o computador, lembra-se? É nisso que o senhor é bom.
    • Aceitar colar da área de transferência. Depois de instalarmos o software, provavelmente o instalaremos novamente, e ninguém gosta de digitar essas chaves de registro irritantes mais de uma vez. Já vi alguns softwares inteligentes que verificam proativamente a área de transferência e inserem a chave automaticamente se a encontrarem lá. (Parabéns ao senhor, Além do Compare.)
    • Não me informe de forma passivo-agressiva que “a chave que o senhor digitou aparece ser válido”. Será que é? Ou não? Qual é a utilidade de chaves de registro exclusivas se o senhor não pode ter certeza? Acho que não se pode confiar nos clientes pagantes.
  5. Onde está a chave %*@#?

    A chave é importante. Sem ela, não é possível instalar ou usar o software. Então, por que ela está enterrada na parte de trás do manual ou em uma borda interna da embalagem que pode ser facilmente ignorada? Torne-a fácil de encontrar e difícil de perder. Forneça várias cópias da chave em locais diferentes, talvez até como um adesivo destacável que possa ser colocado em algum lugar útil. E se o software foi entregue digitalmente, mantenha o controle da chave para nós. Somos esquecidos.

As chaves de registro de software são um obstáculo analógico desconcertante que forçamos os usuários a passar quando usam software comercial. Além disso, as chaves de registro geralmente são a primeira experiência do usuário com nosso software— e as primeiras impressões são importantes. Se estiver fornecendo um software que dependa de chaves de registro, leve em consideração essa parte da experiência. Qualquer sentimento negativo gerado por um processo de entrada de chave de registro desnecessariamente oneroso tenderá a influenciar a percepção dos usuários sobre o seu software.