Livre como em Liberdade em Russo: Capítulo 7. O dilema da moralidade absoluta


Livre como em Liberdade em Russo: Capítulo 7. O dilema da moralidade absoluta

Livre como em Liberdade em Russo: Capítulo 1. A Impressora Fatal


Livre como em Liberdade em Russo: Capítulo 2. 2001: Uma Odisséia Hacker


Livre como em Liberdade em Russo: Capítulo 3. Retrato de um hacker em sua juventude


Livre como em Liberdade em Russo: Capítulo 4. Desmascarar Deus


Livre como em Liberdade em Russo: Capítulo 5. Um fio de liberdade


Livre como em Liberdade em Russo: Capítulo 6. Emacs Commune

O dilema da moralidade absoluta

Ao meio-dia e meia da noite de 27 de setembro de 1983, uma mensagem incomum apareceu no grupo Usenet net.unix-wizards assinado rms@mit-oz. O título da mensagem era curto e extremamente tentador: “Uma nova implementação do UNIX”. Mas em vez de alguma nova versão pronta do Unix, o leitor encontrou uma ligação:

Neste Dia de Ação de Graças, estou começando a escrever um novo sistema operacional totalmente compatível com Unix chamado GNU (GNU's Not Unix). Vou distribuí-lo gratuitamente para todos. Eu realmente preciso do seu tempo, dinheiro, código, equipamento - qualquer ajuda.

Para um desenvolvedor Unix experiente, a mensagem era uma mistura de idealismo e ego. O autor não só se comprometeu a recriar do zero todo um sistema operacional, muito avançado e poderoso, mas também a melhorá-lo. O sistema GNU deveria conter todos os componentes necessários, como um editor de texto, um shell de comando, um compilador, bem como “uma série de outras coisas”. Eles também prometeram recursos extremamente atraentes que não estavam disponíveis nos sistemas Unix existentes: uma interface gráfica na linguagem de programação Lisp, um sistema de arquivos tolerante a falhas, protocolos de rede baseados na arquitetura de rede do MIT.

“O GNU será capaz de executar programas Unix, mas não será idêntico ao sistema Unix”, escreveu o autor, “faremos todas as melhorias necessárias que amadureceram ao longo dos anos de trabalho em vários sistemas operacionais”.

Antecipando uma reação cética à sua mensagem, o autor complementou-a com uma breve digressão autobiográfica sob o título: “Quem sou eu?”:

Sou Richard Stallman, criador do editor EMACS original, um dos clones que você provavelmente já conheceu. Eu trabalho no Laboratório de IA do MIT. Tenho vasta experiência no desenvolvimento de compiladores, editores, depuradores, interpretadores de comandos, sistemas operacionais ITS e Lisp Machine. Implementado suporte de tela independente de terminal no ITS, bem como um sistema de arquivos tolerante a falhas e dois sistemas de janelas para máquinas Lisp.

Acontece que o intrincado projeto de Stallman não começou no Dia de Ação de Graças, como prometido. Foi somente em janeiro de 1984 que Richard mergulhou de cabeça no desenvolvimento de software no estilo Unix. Da perspectiva de um arquitecto de sistemas ITS, foi como passar da construção de palácios mouriscos para a construção de centros comerciais suburbanos. Contudo, o desenvolvimento do sistema Unix também ofereceu vantagens. O ITS, apesar de todo o seu poder, tinha um ponto fraco - só funcionava em um computador PDP-10 da DEC. No início da década de 80, o Laboratório abandonou o PDP-10, e o ITS, que os hackers compararam a uma cidade movimentada, tornou-se uma cidade fantasma. O Unix, por outro lado, foi originalmente projetado visando a portabilidade de uma arquitetura de computador para outra, portanto, tais problemas não o ameaçavam. Desenvolvido por pesquisadores juniores da AT&T, o Unix escapou do radar corporativo e encontrou um lar tranquilo no mundo sem fins lucrativos dos think tanks. Com menos recursos do que seus colegas hackers do MIT, os desenvolvedores do Unix adaptaram seu sistema para rodar em um zoológico de hardwares diferentes. Principalmente no PDP-16 de 11 bits, que os hackers do laboratório consideraram inadequado para tarefas sérias, mas também em mainframes de 32 bits como o VAX 11/780. Em 1983, empresas como a Sun Microsystems criaram computadores desktop relativamente compactos – “estações de trabalho” – comparáveis ​​em potência ao antigo mainframe PDP-10. O onipresente Unix também se instalou nessas estações de trabalho.

A portabilidade do Unix foi fornecida por uma camada adicional de abstração entre aplicativos e hardware. Em vez de escrever programas no código de máquina de um computador específico, como os hackers do Lab fizeram ao desenvolver programas para ITS no PDP-10, os desenvolvedores Unix usaram a linguagem de programação C de alto nível, que não estava vinculada a uma plataforma de hardware específica. Ao mesmo tempo, os desenvolvedores se concentraram na padronização das interfaces por meio das quais partes do sistema operacional interagiam entre si. O resultado foi um sistema onde qualquer peça poderia ser redesenhada sem afetar todas as outras peças e sem interromper o seu funcionamento. E para transferir um sistema de uma arquitetura de hardware para outra, bastava refazer apenas uma parte do sistema, e não reescrevê-lo totalmente. Os especialistas apreciaram esse nível fantástico de flexibilidade e conveniência, de modo que o Unix se espalhou rapidamente pelo mundo da informática.

Stallman decidiu criar o sistema GNU por causa do desaparecimento do ITS, a ideia favorita dos hackers do AI Lab. A morte de ITS foi um golpe para eles, inclusive para Richard. Se a história da impressora a laser Xerox abriu seus olhos para a injustiça das licenças proprietárias, então a morte do ITS o empurrou da aversão ao software fechado para a oposição ativa a ele.

As razões da morte do ITS, assim como o seu código, remontam ao passado. Em 1980, a maioria dos hackers do Laboratório já estava trabalhando em uma máquina Lisp e em um sistema operacional para ela.

Lisp é uma linguagem de programação elegante, perfeita para trabalhar com dados cuja estrutura é desconhecida antecipadamente. Foi criado pelo pioneiro da pesquisa em inteligência artificial e criador do termo “inteligência artificial” John McCarthy, que trabalhou no MIT na segunda metade da década de 50. O nome da linguagem é uma abreviatura de “LISt Processing” ou “list processing”. Depois que McCarthy trocou o MIT por Stanford, os hackers do Laboratório mudaram um pouco o Lisp, criando seu dialeto local MACLISP, onde as três primeiras letras representavam o projeto MAC, graças ao qual, de fato, surgiu o Laboratório de IA do MIT. Sob a liderança do arquiteto de sistemas Richard Greenblatt, os hackers do Laboratório desenvolveram uma máquina Lisp - um computador especial para executar programas em Lisp, bem como um sistema operacional para este computador - também, é claro, escrito em Lisp.

No início da década de 80, grupos concorrentes de hackers fundaram duas empresas que produziam e vendiam máquinas Lisp. A empresa de Greenblatt chamava-se Lisp Machines Incorporated, ou simplesmente LMI. Ele esperava dispensar investimentos externos e criar uma puramente “empresa hacker”. Mas a maioria dos hackers ingressou na Symbolics, uma típica startup comercial. Em 1982, eles deixaram completamente o MIT.

Aqueles que permaneceram podiam ser contados nos dedos de uma mão, então programas e máquinas demoravam cada vez mais para serem reparados, ou nem eram reparados. E o pior de tudo, segundo Stallman, “mudanças demográficas” começaram no Laboratório. Os hackers, que antes eram minoria, quase desapareceram, deixando o Laboratório à disposição de professores e alunos, cuja atitude em relação ao PDP-10 era abertamente hostil.

Em 1982, o AI Lab recebeu um substituto para seu PDP-12 de 10 anos - o DECSYSTEM 20. Os aplicativos escritos para o PDP-10 rodaram sem problemas no novo computador, porque o DECSYSTEM 20 era essencialmente um PDP atualizado -10, mas o antigo sistema operacional não era nada adequado - o ITS teve que ser portado para um novo computador, o que significa quase completamente reescrito. E isto num momento em que quase todos os hackers que poderiam fazer isso deixaram o Laboratório. Assim, o sistema operacional comercial Twenex rapidamente assumiu o controle do novo computador. Os poucos hackers que permaneceram no MIT só puderam aceitar isso.

“Sem hackers para criar e manter o sistema operacional, estamos condenados, "disseram professores e alunos. "Precisamos de um sistema comercial apoiado por alguma empresa para que ela possa resolver problemas com este sistema por si só." Stallman lembra que esse argumento acabou sendo um erro cruel, mas na época parecia convincente.

No início, os hackers viam a Twenex como mais uma encarnação de uma corporatocracia autoritária que queriam quebrar. Até o nome refletia a hostilidade dos hackers – na verdade, o sistema se chamava TOPS-20, indicando continuidade com o TOPS-10, também um sistema DEC comercial para o PDP-10. Mas arquitetonicamente, o TOPS-20 não tinha nada em comum com o TOPS-10. Foi feito com base no sistema Tenex, que Bolt, Beranek e Newman desenvolveram para o PDP-10. . Stallman começou a chamar o sistema de “Twenex” apenas para evitar chamá-lo de TOPS-20. “O sistema estava longe de ser uma solução de ponta, então não pude ousar chamá-lo pelo nome oficial”, lembra Stallman, “então inseri a letra ‘w’ em ‘Tenex’ para torná-lo ‘Twenex’”. (Este nome brinca com a palavra “vinte”, ou seja, “vinte”)

O computador que rodava o Twenex/TOPS-20 era ironicamente chamado de “Oz”. O fato é que o DECSYSTEM 20 exigia uma pequena máquina PDP-11 para operar o terminal. Um hacker, quando viu pela primeira vez o PDP-11 conectado a este computador, comparou-o a uma performance pretensiosa do Mágico de Oz. “Eu sou o grande e terrível Oz! – ele recitou. “Só não olhe para a fritura em que estou trabalhando.”

Mas não havia nada de engraçado no sistema operacional do novo computador. A segurança e o controle de acesso foram integrados ao Twenex em um nível básico, e seus utilitários de aplicação também foram projetados tendo a segurança em mente. Piadas condescendentes sobre os sistemas de segurança do Laboratório transformaram-se em uma séria batalha pelo controle do computador. Os administradores argumentaram que sem sistemas de segurança, o Twenex seria instável e sujeito a erros. Os hackers garantiram que a estabilidade e a confiabilidade poderiam ser alcançadas muito mais rapidamente editando o código-fonte do sistema. Mas já eram tão poucos no Laboratório que ninguém os ouvia.

Os hackers pensaram que poderiam contornar as restrições de segurança dando a todos os usuários “privilégios de direção” – direitos elevados que lhes dão a capacidade de fazer muitas coisas que o usuário médio está proibido de fazer. Mas, neste caso, qualquer usuário poderia retirar “privilégios de direção” de qualquer outro usuário e não poderia devolvê-los a si mesmo devido à falta de direitos de acesso. Portanto, os hackers decidiram obter o controle do sistema tirando “privilégios de direção” de todos, exceto deles próprios.

Adivinhar senhas e executar o depurador enquanto o sistema estava inicializando não adiantou nada. Tendo falhado em "golpe de Estado", Stallman enviou uma mensagem a todos os funcionários do Laboratório.

“Até agora, os aristocratas tinham sido derrotados”, escreveu ele, “mas agora ganharam vantagem e a tentativa de tomar o poder falhou”. Richard assinou a mensagem: “Radio Free OZ” para que ninguém adivinhasse que era ele. Um excelente disfarce, considerando que todos no Laboratório sabiam da atitude de Stallman em relação aos sistemas de segurança e de sua zombaria com as senhas. No entanto, a aversão de Richard a senhas era conhecida muito além do MIT. Quase toda a ARPAnet, protótipo da Internet daquela época, acessava os computadores do Laboratório por conta de Stallman. Tal “turista” foi, por exemplo, Don Hopkins, um programador da Califórnia, que através do boca a boca hacker aprendeu que era possível entrar no famoso sistema ITS do MIT simplesmente digitando 3 letras das iniciais de Stallman como login e senha.

“Sou eternamente grato pelo fato de o MIT ter dado a mim e a tantas outras pessoas a liberdade de usar seus computadores”, diz Hopkins, “Isso significou muito para todos nós”.

Esta política "turística" durou muitos anos enquanto o sistema ITS existiu, e a administração do MIT olhou para ela com condescendência. . Mas quando a máquina de Oz se tornou a principal ponte entre o Laboratório e a ARPAnet, tudo mudou. Stallman ainda forneceu acesso à sua conta usando um login e senha conhecidos, mas os administradores exigiram que ele alterasse a senha e não a informasse a mais ninguém. Richard, citando sua ética, recusou-se a trabalhar na máquina de Oz.

“Quando as senhas começaram a aparecer nos computadores do AI Lab, decidi seguir minha crença de que não deveria haver senhas”, disse Stallman mais tarde, “e como acreditava que os computadores não precisavam de sistemas de segurança, não deveria ter apoiado essas medidas para implementar eles."

A recusa de Stallman em se ajoelhar diante da grande e terrível máquina de Oz mostrou que as tensões estavam crescendo entre os hackers e os superiores do Laboratório. Mas esta tensão era apenas uma sombra pálida do conflito que assolava a própria comunidade hacker, que estava dividida em dois campos: LMI (Lisp Machines Incorporated) e Symbolics.

A Symbolics recebeu muitos investimentos externos, o que atraiu muitos dos hackers do Laboratório. Eles trabalharam no sistema de máquina Lisp no MIT e fora dele. No final de 1980, a empresa contratou 14 funcionários do Laboratório como consultores para desenvolver sua própria versão da máquina Lisp. O restante dos hackers, sem contar Stallman, trabalhava para a LMI. Richard decidiu não tomar partido e, por hábito, ficou sozinho.

No início, os hackers contratados pela Symbolics continuaram trabalhando no MIT, melhorando o sistema da máquina Lisp. Eles, assim como os hackers do LMI, usaram a licença do MIT para seu código. Exigia que as alterações fossem devolvidas ao MIT, mas não exigia que o MIT distribuísse as alterações. No entanto, durante 1981, os hackers aderiram a um acordo de cavalheiros no qual todas as suas melhorias foram escritas na máquina Lisp do MIT e distribuídas a todos os usuários dessas máquinas. Este estado de coisas ainda preservou alguma estabilidade do coletivo hacker.

Mas em 16 de março de 1982 – Stallman se lembra bem desse dia porque era seu aniversário – o acordo de cavalheiros chegou ao fim. Isto aconteceu a mando da administração da Symbolics; eles queriam estrangular o seu concorrente, a empresa LMI, que tinha muito menos hackers trabalhando para ela. Os líderes da Symbolics raciocinaram da seguinte forma: se o LMI tiver muito menos funcionários, então acontece que o trabalho geral na máquina Lisp é benéfico para ele, e se essa troca de desenvolvimentos for interrompida, o LMI será destruído. Para tanto, decidiram abusar da letra da licença. Em vez de fazer alterações na versão do sistema do MIT, que o LMI poderia usar, eles começaram a fornecer ao MIT a versão do sistema Symbolics, que eles poderiam editar como quisessem. Descobriu-se que qualquer teste e edição do código de máquina Lisp no MIT foi apenas a favor da Simbólica.

Como responsável pela manutenção da máquina Lisp do laboratório (com a ajuda de Greenblatt durante os primeiros meses), Stallman ficou furioso. Os hackers da Symbolics forneceram código com centenas de alterações que causaram erros. Considerando isso um ultimato, Stallman cortou as comunicações do Laboratório com a Symbolics, jurou nunca mais trabalhar nas máquinas daquela empresa e anunciou que se juntaria ao trabalho na máquina Lisp do MIT para apoiar o LMI. “A meu ver, o Laboratório era um país neutro, como a Bélgica na Segunda Guerra Mundial”, diz Stallman, “e se a Alemanha invadisse a Bélgica, a Bélgica declarava guerra à Alemanha e juntava-se à Grã-Bretanha e à França”.

Quando os executivos da Symbolics perceberam que suas últimas inovações ainda estavam aparecendo na versão MIT da máquina Lisp, eles ficaram furiosos e começaram a acusar os hackers do laboratório de roubar código. Mas Stallman não violou de forma alguma a lei de direitos autorais. Ele estudou o código fornecido pela Symbolics e fez suposições lógicas sobre futuras correções e melhorias, que começou a implementar do zero na máquina Lisp do MIT. Os executivos da Simbólica não acreditaram. Eles instalaram spyware no terminal de Stallman, que gravou tudo o que Richard fez. Então, eles esperavam coletar evidências de roubo de código e mostrá-las à administração do MIT, mas mesmo no início de 1983 não havia quase nada para mostrar. Tudo o que tinham era cerca de uma dúzia de lugares onde o código dos dois sistemas parecia um pouco semelhante.

Quando os administradores do laboratório mostraram as evidências da Symbolics a Stallman, ele as refutou, dizendo que o código era semelhante, mas não o mesmo. E ele virou a lógica da administração da Simbólica contra ele: se esses grãos de código semelhante são tudo o que conseguiram desenterrar sobre ele, então isso apenas prova que Stallman não roubou realmente o código. Isso foi suficiente para que os gestores do Laboratório aprovassem o trabalho de Stallman, que o continuou até o final de 1983. .

Mas Stallman mudou sua abordagem. Para proteger a si mesmo e ao projeto tanto quanto possível das reivindicações da Symbolics, ele parou completamente de olhar seus códigos-fonte. Ele começou a escrever código exclusivamente baseado em documentação. Richard não esperava as maiores inovações da Simbólica, mas as implementou ele mesmo, depois apenas adicionou interfaces para compatibilidade com a implementação da Simbólica, contando com sua documentação. Ele também leu o changelog do código da Symbolics para ver quais bugs eles estavam corrigindo e ele mesmo corrigiu esses bugs de outras maneiras.

O que aconteceu fortaleceu a determinação de Stallman. Tendo criado análogos das novas funções da Simbólica, convenceu o pessoal do Laboratório a utilizar a versão MIT da máquina Lisp, o que garantiu um bom nível de testes e detecção de erros. E a versão do MIT foi totalmente aberta ao LMI. “Eu queria punir a Symbolics a qualquer custo”, diz Stallman. Esta afirmação mostra não apenas que o personagem de Richard está longe de ser pacifista, mas também que o conflito sobre a máquina Lisp o tocou profundamente.

A determinação desesperada de Stallman pode ser compreendida quando você considera o que parecia para ele - a “destruição” de sua “casa”, ou seja, a comunidade hacker e a cultura do Laboratório de IA. Mais tarde, Levy entrevistou Stallman por e-mail, e Richard comparou-se a Ishi, o último membro conhecido do povo indígena Yahi, que foi exterminado nas Guerras Indígenas das décadas de 1860 e 1870. Essa analogia confere aos acontecimentos descritos um alcance épico, quase mitológico. Os hackers que trabalharam para a Symbolics viram isso sob uma luz um pouco diferente: sua empresa não destruiu ou exterminou, mas apenas fez o que deveria ter sido feito há muito tempo. Tendo transferido a máquina Lisp para o campo comercial, a Symbolics mudou sua abordagem ao design de programas - em vez de cortá-los de acordo com os padrões obstinados dos hackers, eles começaram a usar padrões de gerentes mais suaves e humanos. E consideravam Stallman não como um combatente adversário em defesa de uma causa justa, mas como um portador de pensamentos ultrapassados.

Os conflitos pessoais também acrescentaram lenha ao fogo. Mesmo antes do advento do Symbolics, muitos hackers evitavam Stallman, e agora a situação piorou muitas vezes. “Eu não era mais convidado para viajar para Chinatown”, lembra Richard, “Greenblatt iniciou o costume: quando você quer almoçar, você vai até seus colegas e os convida ou envia uma mensagem. Em algum lugar entre 1980 e 1981, eles pararam de me ligar. Não só não me convidaram, mas, como uma pessoa me admitiu mais tarde, pressionaram os outros para que ninguém me contasse sobre os comboios planeados para o almoço.”

Fonte: linux.org.ru

Adicionar um comentário