Um documento digital não é papel. É um software.
O paralelo HTML
A maneira mais clara de ver isso é pensar em uma página da web. Quando você visita um site, seu navegador recebe um arquivo – um documento HTML – e o executa. Ele analisa a marcação, aplica regras de estilo, executa scripts incorporados, obtém recursos adicionais e reúne o resultado em algo que você pode ler. A página que você vê na tela não é uma imagem estática transmitida do servidor, é a saída de um pequeno programa que seu navegador executava em seu nome.
Ninguém contesta que um navegador da Web é um software. No entanto, o arquivo HTML que consome também é, em um sentido significativo, um software: um conjunto de instruções descrevendo o que deve acontecer quando o arquivo é aberto. Altere as instruções e a página renderizada muda. Reter a especificação de como as instruções devem ser interpretadas, e apenas a parte que detém a especificação pode garantir uma renderização fiel.
Vale lembrar que a abertura do HTML não aconteceu por acidente, e quase se perdeu. No início dos anos 2000, o Internet Explorer 6 comandava cerca de noventa por cento do mercado de navegadores, e a Microsoft usava esse domínio para empurrar extensões proprietárias para HTML, CSS e o modelo de documento: tags, comportamentos e filtros não padronizados que funcionavam apenas em seu navegador.
Os desenvolvedores da Web, desesperados para alcançar os usuários, começaram a codificar tanto para o Internet Explorer quanto para o padrão, carregando o custo desse trabalho duplo, enquanto o fornecedor colheu o benefício do bloqueio de qualquer maneira. A web aberta não se fragmentou, mas apenas porque os desenvolvedores absorveram o custo de mantê-la unida. Se eles tivessem parado, o HTML teria se tornado silenciosamente o que a Microsoft enviou a seguir.
Foi preciso um esforço sustentado pelo W3C, por navegadores concorrentes, como o Firefox, e pela comunidade de desenvolvedores conscientes de padrões para puxar a web de volta para o terreno aberto. Se esse esforço tivesse falhado, o HTML hoje não seria uma linguagem compartilhada, mas um produto da Microsoft. A web sobreviveu porque o padrão foi defendido. Os formatos de documentos nem sempre tiveram tanta sorte.
Um documento de escritório – um DOCX, um ODT, um PPTX, um PDF – funciona exatamente da mesma maneira. É um arquivo estruturado contendo instruções: este texto nesta fonte neste tamanho, esta imagem incorporada aqui, esta tabela disposta desta forma, este campo recalculou automaticamente, esta macro executada na abertura. Quando você “abre” o documento, um aplicativo lê essas instruções e as executa. A página que você vê na tela é a saída de um programa – o pacote de escritório – executando as instruções contidas no documento.
O documento é o código. A suíte do escritório é o intérprete. Juntos, eles são um sistema de software, e o usuário é o único que o executa, geralmente sem perceber.
Por que isso importa: lock-in é uma propriedade de software
Depois de ver um documento como software, a questão dos formatos de arquivo se torna a questão das linguagens de programação. Um formato de arquivo proprietário é uma linguagem de programação cuja especificação é de propriedade, controlada e modificável à vontade por um único fornecedor. Os “programas” escritos nesse idioma – seus contratos, suas faturas, seus livros, seus arquivos da administração pública – só podem ser executados de forma confiável por software que o fornecedor autoriza.
Este é o mecanismo estrutural do lock-in. Não é um efeito colateral do hábito do usuário ou do custo de treinamento. É a consequência direta de escrever seus documentos em uma língua cuja gramática pertence a outra pessoa. No momento em que o fornecedor muda a gramática – e os formatos proprietários mudam constantemente, pelo menos a cada lançamento de novo produto, mas muitas vezes com ainda mais frequência – seus documentos existentes podem render de forma diferente, perder recursos ou parar de abrir completamente. Você não possui a linguagem em que seus próprios registros são escritos.
Padrões abertos, como o ODF, existem precisamente para quebrar essa dependência. O ODF é um formato publicamente especificado, mantido de forma independente, cuja gramática não pertence a nenhum fornecedor único. Qualquer desenvolvedor pode construir um intérprete fiel. Seus documentos, escritos em um idioma aberto, permanecem legíveis, independentemente do que qualquer empresa decidir.
Por que isso importa: a superfície de ataque é uma propriedade de software
A segunda consequência é a segurança. O software tem vulnerabilidades, o papel não. No momento em que admitimos que um documento é um software, o longo catálogo de avisos de segurança relacionados ao OOXML não é surpreendente e inevitável.
Os formatos de documentos do Office são ferozmente complexos. OOXML em particular é executado em milhares de páginas de especificação, com linguagens macro, objetos OLE incorporados, referências externas, lógica de formatação condicional e uma camada substancial de compatibilidade de legado binário. Cada um deles é uma maneira de um atacante. Um documento que chega por e-mail e “apenas abre” pode executar código oculto, baixar conteúdo malicioso da internet, explorar fraquezas em como o arquivo é lido e, a partir daí, assumir o controle do próprio computador. O padrão se repete ano após ano, vulnerabilidade após vulnerabilidade, porque o documento está fazendo o que o software faz: em execução.
Um formato mais simples e mais rigorosamente especificado é mais difícil de armar. Esta não é uma garantia – qualquer formato suficientemente expressivo tem riscos – mas o princípio se mantém: a complexidade é o amigo do atacante, e a complexidade proprietária, nunca totalmente documentada para partes externas, é o melhor amigo de todos.
Por que isso importa: liberdade é uma propriedade de software
Se um documento digital é um software, então a estrutura que aplicamos à ética do software se aplica aos documentos. A Free Software Foundation define quatro liberdades: a liberdade de usar o programa para qualquer finalidade, de estudá-lo e modificá-lo, redistribuir cópias e distribuir versões modificadas. O segundo e o quarto – Liberdade 1 e Liberdade 3 – exigem acesso à fonte.
Um documento em um formato proprietário viola essas liberdades exatamente da maneira que o software proprietário faz. Você não pode estudar completamente como ele será interpretado, porque a especificação do formato é secreta, parcial ou sujeita a alterações unilaterais. Você não pode criar ou compartilhar ferramentas modificadas de forma confiável para interpretá-lo, porque o proprietário do formato mantém o direito de declarar seu intérprete não-conforme. O “código fonte” do documento – a especificação completa e estável do que suas instruções significam – não está em suas mãos.
Isto não é uma metáfora. É a mesma dependência, estruturalmente, que torna o software proprietário inaceitável para qualquer organização séria sobre a soberania digital. O documento, como software, herda a política do formato em que está escrito.
A conclusão é inevitável
Um documento digital é um programa pequeno. Funciona sempre que é aberto. A linguagem em que é escrito determina quem a controla, quem pode atacá-la e se seus leitores são livres.
Tratar documentos como papel permitiu que uma geração de formuladores de políticas, administradores públicos e até mesmo tecnólogos ignorassem o fato de que a escolha do formato de documento é uma escolha de dependência de software, e uma escolha de cuja gramática governa nosso registro escrito. Não há formato neutro, assim como não há linguagem de programação neutra. Existem apenas formatos cujas especificações são abertas, estáveis e coletivamente governadas, e formatos que não são.

Comentários
Postar um comentário