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

por Richard Stallman

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.