Esta é uma tradução da página original em Inglês.

O que significa para você que seu computador seja leal?

Dizemos que executar software livre no seu computador significa que sua operação está sob seu controle. Implicitamente, isso pressupõe que o seu computador fará o que seus programas lhe dizem para fazer, e não mais. Em outras palavras, que seu computador será leal a você.

Em 1990, nós tomamos isso como uma coisa certa; hoje em dia, muitos computadores são projetados para serem desleais com seus usuários. Tornou-se necessário esclarecer o que significa o seu computador ser uma plataforma leal que obedece às suas decisões, as quais você expressa dizendo a ele para executar certos programas.

Nossa tentativa de definição consiste nesses princípios.

Instalabilidade

Qualquer software que possa ser substituído por outra pessoa, o usuário deve estar autorizado a substituí-lo.

Assim, se o computador exigir uma senha ou algum outro segredo para substituir alguns dos softwares nele contidos, quem lhe vender o computador também deverá informar esse segredo.

Neutralidade para softwares

O computador executará, sem prejuízo, qualquer software que você instalar nele, e permitirá que o software faça o que seu código disser.

Um recurso para verificar assinaturas nos programas executados é compatível com este princípio, desde que a verificação de assinatura esteja totalmente sob o controle do usuário. Quando isso acontece, o recurso ajuda a implementar as decisões do usuário sobre quais programas executar, em vez de frustrar as decisões do usuário. Por outro lado, a verificação de assinatura que não está totalmente sob o controle do usuário viola esse princípio.

Neutralidade para protocolos

O computador se comunicará, sem prejuízo, através de qualquer protocolo que o software instalado implemente, com quaisquer usuários e quaisquer outros computadores em rede com os quais você o direcione para se comunicar.

Isso significa que o computador não impõe um serviço específico em vez de outro, ou um protocolo em vez de outro. Ele não exige que o usuário obtenha permissão de outra pessoa para se comunicar por meio de um determinado protocolo.

Neutralidade para implementações

Quando o computador se comunica usando qualquer protocolo, ele terá suporte a fazê-lo, sem prejuízo, através do código escolhido (presumindo que o código implemente o protocolo pretendido) e não ajudará em nada a outra parte da Internet a distinguir qual código você está usando ou quais alterações você pode ter feito nele, ou discriminar com base em sua escolha.

Isso implica que o computador rejeita a certificação remota, isto é, não permite que outros computadores determinem através da rede se o seu computador está executando uma carga de software específica. O atestado remoto fornece aos sites da Web o poder de obrigá-lo a se conectar a eles somente por meio de um aplicativo com DRM que você não pode violar, negando a você um controle efetivo sobre o software usado para se comunicar com eles.

Podemos compreender certificação remota como um esquema geral para permitir que qualquer site imponha tivoização ou “travamento” no software local com o qual você se conecta. A simples tivoização de um programa impede que as versões modificadas funcionem corretamente; isso faz com que o programa seja não livre. A certificação remota por sites webimpede que versões modificadas funcionem com aqueles sites que a usam, o que torna o programa efetivamente não livre quando usam estes sites. Se um computador permite que sites web o impeçam de usar um programa modificado com eles, ele será fiel a eles, não a você.

Neutralidade para dados comunicados

Quando o computador recebe dados usando qualquer protocolo, ele não limita o que o programa pode fazer com os dados recebidos através dessa comunicação.

Qualquer DRM no nível do hardware viola esse princípio. Por exemplo, o hardware não deve fornecer fluxos de vídeo criptografados de forma que somente o monitor possa descriptografá-los.

Depurabilidade

O computador sempre permite analisar a operação de um programa em execução.

Completude

Os princípios acima se aplicam a todas as interfaces de software do computador e a toda comunicação que o computador faz. O computador não deve ter nenhuma instalação programável desleal ou fazer qualquer comunicação desleal.

Por exemplo, a funcionalidade AMT em processadores Intel recentes executa software não livre que pode conversar remotamente com a Intel. A menos que seja desativado, isso torna o sistema desleal.

Para que um computador esteja totalmente ao seu serviço, ele deve vir com a documentação de todas as interfaces destinadas ao software em execução no computador para usar no controle do computador. Uma lacuna na documentação não significa que o computador seja ativamente desleal, mas significa que há algum aspecto dele que não está a seu serviço. Dependendo de qual é esse aspecto, isso pode ou não ser um problema real.

Pedimos que os leitores enviem críticas e sugestões sobre essa definição para <computer-principles@gnu.org>.

A lealdade, como definida aqui, é o critério mais básico que podemos imaginar como significativo. Não requer que todo o software do computador seja livre. No entanto, a presença de software não livre no computador é um obstáculo para verificar se o computador é leal ou ter certeza de que ele assim permanecerá.

Histórico

Aqui está a lista de alterações substanciais nesta página.

  • Versão 1.6: Adiciona requisitos de instalabilidade.
  • Versão 1.5: Documentação completa não é um requisito para lealdade.