Free as in Freedom em português: Capítulo 7. O dilema da moral absoluta


Free as in Freedom em português: Capítulo 7. O dilema da moral absoluta

Free as in Freedom em português: Capítulo 1. A impressora fatal


Free as in Freedom em português: Capítulo 2. 2001: Odisséia Hacker


Free as in Freedom em português: Capítulo 3. O Retrato do Hacker na Juventude


Livre como na Liberdade em português: Capítulo 4. Desmistificando o deus


Free as in Freedom em português: Capítulo 5. O Riacho da Liberdade


Free as in Freedom em português: Capítulo 6. Comunidade Emacs

O dilema da ética absoluta

À meia-noite e meia do dia 27 de setembro de 1983, apareceu uma mensagem inusitada no grupo Usenet net.unix-wizards, assinada por rms@mit-oz. O assunto era curto e extremamente sugestivo: "Nova implementação do UNIX". Mas, em vez de uma nova versão pronta do Unix, o leitor encontrava um chamado:

Neste Dia de Ação de Graças, começo a escrever um novo sistema operacional completamente compatível com Unix, que se chamará GNU (GNU’s Not Unix). Vou distribuí-lo livremente para todos os interessados. Preciso muito do seu tempo, dinheiro, código, equipamentos - qualquer ajuda.

Aos olhos de um desenvolvedor experiente de Unix, a mensagem parecia uma mistura de idealismo com grande autoestima. O autor não estava apenas se propondo a recriar do zero um sistema operacional inteiro, muito avançado e poderoso, mas também a melhorá-lo. O sistema GNU deveria conter todos os componentes necessários, como editor de texto, shell, compilador, além de "várias outras coisas". Também prometia recursos extremamente atraentes que não estavam presentes nos sistemas Unix existentes: uma interface gráfica na linguagem de programação Lisp, um sistema de arquivos resistente a falhas e protocolos de rede baseados na arquitetura de rede MIT.

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

Prevendo a reação cética à sua mensagem, o autor adicionou um breve desvio autobiográfico sob o título: "Quem sou eu?":

Eu sou Richard Stallman, criador do editor original EMACS, um dos clones dos quais você provavelmente já encontrou. Trabalho no Laboratório de IA do Instituto de Tecnologia de Massachusetts. Tenho vasta experiência no desenvolvimento de compiladores, editores, depuradores, interpretadores de comandos, sistemas operacionais ITS e Lisp Machine. Implementei suporte de tela independente de terminais no ITS, além de um sistema de arquivos tolerante a falhas e dois sistemas de janelas para máquinas Lisp.

Aconteceu que o intricado projeto de Stallman não começou no Dia de Ação de Graças, como prometido. Apenas em janeiro de 1984, Richard mergulhou de cabeça no desenvolvimento de software ao estilo Unix. Do ponto de vista de um arquiteto de sistemas do ITS, isso era como passar da construção de palácios mouriscos para a construção de centros comerciais suburbanos. No entanto, o desenvolvimento do sistema Unix também trouxe vantagens. O ITS, apesar de sua potência, tinha um ponto fraco - funcionava apenas na máquina PDP-10 da DEC. No início dos anos 80, o laboratório abandonou o PDP-10, e o ITS, que os hackers comparavam a uma cidade vibrante, se tornou uma cidade fantasma. O Unix, por sua vez, foi originalmente desenvolvido com a portabilidade de uma arquitetura computacional para outra em mente, de modo que não enfrentava tais problemas. Desenvolvido por pesquisadores júnior da AT&T, o Unix passou despercebido pelos radares corporativos e encontrou um refúgio tranquilo no mundo não lucrativo dos centros de pesquisa. Com menos recursos do que seus irmãos hackers do MIT, os desenvolvedores do Unix adaptaram seu sistema para trabalhar em uma variedade de equipamentos. Principalmente no PDP-11 de 16 bits, que os hackers do laboratório consideravam inadequado para tarefas sérias, mas também em mainframes de 32 bits como o VAX 11/780. Até 1983, empresas como a Sun Microsystems criaram computadores de mesa relativamente compactos - "estações de trabalho", comparáveis em poder ao antigo mainframe PDP-10. Nessas estações de trabalho, também se alojou o onipresente Unix.

A portabilidade do Unix foi garantida por uma camada adicional de abstração entre os aplicativos e o hardware. Em vez de escrever programas em códigos de máquina específicos para um computador, como faziam os hackers do Laboratório ao desenvolver programas para o ITS no PDP-10, os desenvolvedores do Unix usaram a linguagem de programação de alto nível C, que não estava atrelada a uma plataforma de hardware específica. Durante esse processo, os desenvolvedores se concentraram na padronização das interfaces através das quais as partes do sistema operacional interagiam umas com as outras. Como resultado, surgiu um sistema onde qualquer parte poderia ser modificada sem impactar as demais e sem interromper seu funcionamento. Para transferir o sistema de uma arquitetura de hardware para outra, bastava reconfigurar apenas uma parte do sistema, ao invés de reescrever tudo. Os especialistas reconheceram esse nível fantástico de flexibilidade e conveniência, o que levou à rápida disseminação do Unix pelo mundo da computação.

Stallman decidiu criar o sistema GNU devido ao falecimento do ITS, a criação favorita dos hackers do Laboratório de IA. A morte do ITS foi um golpe para eles, inclusive para Richard. Se a história da impressora a laser Xerox o abriu os olhos para a injustiça das licenças proprietárias, a morte do ITS o impulsionou de um desprezo pelo software fechado para uma oposição ativa a ele.

As razões para a morte do ITS, assim como seu código, remontam a tempos longínquos. Até 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 lidar com dados cuja estrutura é desconhecida de antemão. Foi criada pelo pioneiro na pesquisa em inteligência artificial e o criador do próprio termo "inteligência artificial", John McCarthy, que trabalhou no MIT na segunda metade da década de 1950. O nome da linguagem é uma abreviação de "LISt Processing" ou "processamento de listas". Após McCarthy deixar o MIT para ir a Stanford, os hackers do Laboratório fizeram algumas mudanças no Lisp, criando seu dialeto local, o MACLISP, onde as três primeiras letras referem-se ao projeto MAC, que, de fato, deu origem ao Laboratório de IA no MIT. Sob a liderança do arquiteto de sistemas Richard Greenblatt, os hackers do Laboratório desenvolveram a máquina Lisp – um computador especial para executar programas na linguagem Lisp, além de um sistema operacional para esse computador – também, é claro, escrito em Lisp.

No início dos anos 80, grupos de hackers concorrentes fundaram duas empresas para a fabricação e venda de máquinas Lisp. A empresa de Greenblatt chamava-se Lisp Machines Incorporated ou simplesmente LMI. Ele esperava operar sem investidores externos e criar uma empresa puramente "hackers". Mas a maioria dos hackers se juntou à Symbolics, uma startup comercial convencional. Em 1982, eles já tinham deixado completamente o MIT.

Aqueles que ficaram podiam ser contados nos dedos de uma mão, então os programas e máquinas estavam sendo consertados cada vez mais lentamente, ou não eram consertados de jeito nenhum. E o que era pior, segundo Stallman – começaram a ocorrer "mudanças demográficas" no Laboratório. Os hackers, que antes já eram uma minoria, quase desapareceram, deixando o Laboratório totalmente sob a administração de professores e alunos, cuja atitude em relação ao PDP-10 era abertamente hostil.

Em 1982, o Laboratório de IA substituiu seu PDP-10 de 12 anos – DECSYSTEM 20. As aplicações escritas para o PDP-10 funcionavam no novo computador sem problemas, pois o DECSYSTEM 20 era, essencialmente, uma versão atualizada do PDP-10, mas o sistema operacional anterior não se adequava de forma alguma – o ITS precisava ser portado para o novo computador, o que significava reescrevê-lo quase completamente. E isso na época em que quase todos os hackers que poderiam ter feito isso já haviam deixado o laboratório. Assim, rapidamente, um sistema operacional comercial chamado Twenex se instaurou no novo computador. Os poucos hackers que permaneceram no MIT puderam apenas se conformar com isso.

«Sem os hackers que se dedicassem à criação e manutenção do sistema operacional, estamos condenados», diziam os professores e alunos, «precisamos de um sistema comercial, apoiado por alguma empresa, para que ela própria resolva os problemas com esse sistema». Stallman lembra que esse argumento se revelou um erro cruel, mas naquele momento soava convincente.

Inicialmente, os hackers viam o Twenex como uma nova manifestação da corporação autoritária que desejavam derrubar. A aversão dos hackers ao nome estava até refletida no próprio título – na verdade, o sistema se chamava TOPS-20, indicando uma continuidade com o TOPS-10, também um sistema comercial da DEC para o PDP-10. Mas, arquitetonicamente, o TOPS-20 não tinha nada em comum com o TOPS-10. Foi criado com base no sistema Tenex, desenvolvido pela empresa Bolt, Beranek and Newman para o PDP-10. Stallman começou a chamar o sistema de “Twenex” apenas para não ter que chamá-lo de TOPS-20. «O sistema estava longe de soluções de ponta, então eu não conseguia chamá-lo pelo nome oficial», lembra Stallman, «por isso adicionei a letra ‘w’ em ‘Tenex’, resultando em ‘Twenex’.» (Esse nome brinca com a palavra 'twenty', que significa 'vinte')

O computador que executava o Twenex/TOPS-20 era ironicamente chamado de «Oz». O fato é que o DECSYSTEM 20 precisava de uma pequena máquina PDP-11 para operar o terminal. Um hacker, ao ver pela primeira vez a conexão do PDP-11 a esse computador, comparou isso com a ostentação do Mágico de Oz. «Eu sou o grande e poderoso Oz!» – proclamou ele. – «Apenas não olhem para a insignificância da qual eu trabalho».

Mas não havia nada engraçado no sistema operacional do novo computador. A segurança e o controle de acesso foram incorporados no Twenex em um nível básico, e suas utilidades com aplicativos também foram desenvolvidas levando em consideração a segurança. As piadas condescendentes sobre os sistemas de segurança do Laboratório se transformaram em uma batalha séria pelo controle do computador. Os administradores afirmavam que sem os sistemas de segurança, o Twenex seria instável e vulnerável a falhas. Os hackers garantiam que a estabilidade e a confiabilidade poderiam ser alcançadas mais rapidamente editando o código-fonte do sistema. Mas havia tão poucos deles no Laboratório que ninguém dava ouvidos.

Os hackers pensaram que poderiam contornar as restrições de segurança concedendo a todos os usuários "privilégios de controle" - direitos elevados que permitiam fazer muitas coisas que um usuário comum não podia. Mas nesse caso, qualquer usuário poderia retirar os "privilégios de controle" de qualquer outro usuário, e este não poderia recuperá-los devido à falta de direitos de acesso. Portanto, os hackers decidiram assumir o controle do sistema retirando os "privilégios de controle" de todos, exceto de si mesmos.

A tentativas de força bruta e o uso do depurador durante a inicialização do sistema não deram resultados. Fracassando no "golpe de estado", Stallman enviou uma mensagem a todos os funcionários do Laboratório.

"Até agora, os aristocratas foram derrotados", escreveu ele, "mas agora eles estão no controle, e a tentativa de tomar o poder não teve sucesso." Richard assinou a mensagem: "Radio Free OZ", para que ninguém suspeitasse que era ele. Uma ótima disfarce, considerando que todos no Laboratório conheciam a posição de Stallman em relação aos sistemas de segurança e suas brincadeiras com senhas. No entanto, a aversão de Richard a senhas era conhecida muito além dos limites do MIT. Nos computadores do Laboratório, sob a conta de Stallman, circulava quase toda a ARPAnet — a precursora da internet da época. Um "turista" assim era, por exemplo, Don Hopkins, programador da Califórnia, que soube através do boca a boca hacker que era possível acessar o famoso sistema ITS do MIT simplesmente digitando 3 letras iniciais de Stallman como login e senha.

«Sou eternamente grato ao MIT por eu e muitas outras pessoas podermos usar seus computadores livremente», diz Hopkins. «Isso significou muito para todos nós».

Essa política 'turística' durou muitos anos, enquanto o sistema ITS estava ativo, e a administração do MIT a via com indulgência. Mas quando a máquina Oz se tornou a principal ponte do Laboratório para a ARPAnet, tudo mudou. Stallman ainda concedia acesso à sua conta com o conhecido login e senha, mas os administradores exigiram que ele mudasse a senha e não a desse a mais ninguém. Richard, referindo-se à sua ética, recusou-se a operar na máquina Oz.

«Quando senhas começaram a aparecer nos computadores do Laboratório de IA, decidi aderir à minha crença de que não deveria haver senhas», disse mais tarde Stallman, «e como acreditava que os computadores não precisavam de sistemas de segurança, eu não deveria apoiar essas medidas de implementação».

A recusa de Stallman em se submeter à grande e temida máquina Oz mostrava que havia uma tensão crescente entre os hackers e a administração do Laboratório. Mas essa tensão era apenas uma pálida sombra do conflito que fervia dentro do próprio grupo hacker, que se dividiu em 2 facções: LMI (Lisp Machines Incorporated) e Symbolics.

A Symbolics recebeu muitos investimentos externos, atraindo vários hackers do Laboratório. Eles trabalhavam no sistema da máquina Lisp tanto no MIT quanto 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. Os outros hackers, exceto Stallman, trabalhavam para a LMI. Richard decidiu não tomar partido, mantendo-se, como de costume, sozinho.

Nos primeiros tempos, os hackers contratados pela Symbolics continuaram trabalhando no MIT, aprimorando o sistema da máquina Lisp. Eles, assim como os hackers da LMI, utilizavam a licença MIT para seu código. Essa licença exigia que as alterações fossem devolvidas ao MIT, mas não exigia que o MIT distribuísse essas alterações. No entanto, ao longo de 1981, os hackers aderiram a um acordo de cavalheiros, no qual todas as suas melhorias eram incorporadas na máquina Lisp do MIT e distribuídas entre todos os usuários dessas máquinas. Essa situação ainda mantinha certa estabilidade no grupo hacker.

Mas no dia 16 de março de 1982 – Stallman se lembra bem desse dia, porque era seu aniversário – o acordo de cavalheiros chegou ao fim. Isso aconteceu por vontade da liderança da Symbolics, que queria sufocar seu concorrente – a LMI, que tinha muito menos hackers trabalhando. Os dirigentes da Symbolics raciocinaram assim: se a LMI tem muito menos funcionários, então isso significa que o trabalho em conjunto na máquina Lisp é vantajoso para ela, e se interrompermos essa troca de desenvolvimentos, a LMI será destruída. Com esse objetivo, eles decidiram abusar da letra da licença. Em vez de fazer alterações na versão do sistema do MIT, que poderia ser aproveitada pela LMI, começaram a fornecer ao MIT a versão da Symbolics do sistema, que podiam modificar como quisessem. O que se tinha era que qualquer teste ou edição do código da máquina Lisp no MIT servia apenas aos interesses da Symbolics.

Como a pessoa responsável pela manutenção da máquina Lisp de laboratório (nos primeiros meses, com a ajuda de Greenblatt), Stallman ficou furioso. Os hackers da Symbolics forneceram um código com centenas de alterações que causavam erros. Interpretando isso como um ultimato, Stallman desligou a linha de comunicação do laboratório com a Symbolics, prometeu nunca mais trabalhar nas máquinas dessa empresa e anunciou sua adesão ao trabalho na máquina Lisp do MIT para apoiar a LMI. "A meus olhos, o laboratório era um país neutro, como a Bélgica na Segunda Guerra Mundial", conta Stallman, "e se a Alemanha invade a Bélgica, ela declara guerra à Alemanha e se junta à Grã-Bretanha e à França".

Quando os líderes da Symbolics perceberam que suas últimas inovações ainda apareciam na versão do MTI da máquina Lisp, ficaram furiosos e começaram a acusar os hackers do Laboratório de roubo de código. Mas Stallman não estava infringindo a lei de direitos autorais. Ele analisou o código fornecido pela Symbolics e fez suposições lógicas sobre futuras correções e aperfeiçoamentos, que começou a implementar do zero para a máquina Lisp do MTI. Os líderes da Symbolics não acreditavam nisso. Eles instalaram um programa espião no terminal de Stallman, que registrava tudo o que Richard fazia. Assim, esperavam coletar evidências de roubo de código e apresentá-las à administração do MTI, mas mesmo no início de 1983, não havia quase nada para mostrar. Tudo o que tinham era uma dúzia de lugares onde o código dos dois sistemas parecia um pouco semelhante.

Quando os administradores do Laboratório mostraram as provas da Symbolics a Stallman, ele as refutou, dizendo que o código era semelhante, mas não idêntico. E virou a lógica da administração da Symbolics contra eles mesmos: se esses fragmentos de código semelhantes eram tudo o que conseguiram encontrar, isso apenas provava que Stallman na verdade não havia roubado código. Isso foi suficiente para que os gerentes do Laboratório aprovassem o trabalho de Stallman, e ele continuou até o final de 1983.

Mas Stallman mudou sua abordagem. Para se proteger ao máximo e proteger o projeto de reivindicações da Symbolics, ele parou completamente de olhar seus códigos-fonte. Começou a escrever código exclusivamente com base na documentação. As maiores inovações que Richard não esperava da Symbolics, mas as realizava por conta própria, depois apenas adicionava interfaces para compatibilidade com a implementação da Symbolics, com base em sua documentação. Ele também lia a lista de alterações no código da Symbolics para entender quais erros eles estavam corrigindo e consertava esses erros por conta própria, de outras maneiras.

O que estava acontecendo fortaleceu a determinação de Stallman. Criando análogos das novas funções da Symbolics, ele convenceu os funcionários do Laboratório a adotarem a versão do MTI da máquina Lisp, o que garantiu um bom nível de testes e busca de erros. A versão do MTI estava completamente aberta para a LMI. 'Eu queria punir a Symbolics a qualquer custo', diz Stallman. Essa declaração não apenas reflete que o caráter de Richard está longe do pacifismo, mas também que o conflito em torno da máquina Lisp o afetou profundamente.

A determinação desesperada de Stallman pode ser compreendida se considerarmos como os eventos pareciam para ele – como uma "destruição" de sua "casa", ou seja, da comunidade hacker e da cultura do Laboratório de IA. Mais tarde, Levy entrevistou Stallman por e-mail, onde Richard se comparou a Ishi – o último conhecido representante da etnia Yahi, que foi dizimada durante as guerras indígenas de 1860 a 1870. Esta analogia confere um caráter épico, quase mitológico, aos eventos relatados. Os hackers que trabalhavam na Symbolics viam isso de uma maneira um pouco diferente: a empresa não estava destruindo ou dizimando, mas apenas fazendo o que precisava ser feito há muito tempo. Ao transferir a máquina Lisp para o campo comercial, a Symbolics mudou a abordagem do design de software – em vez de moldes rígidos e inflexíveis usados pelos hackers, passaram a ser adotadas normas mais suaves e humanas dos gerentes. E Stallman era visto não como um adversário lutador pela causa justa, mas como um portador de um pensamento ultrapassado.

As rivalidades pessoais também aqueceram a situação. Mesmo antes do surgimento da Symbolics, muitos hackers evitavam Stallman, e agora a situação piorou drasticamente. "Eu não fui mais convidado para as viagens ao Chinatown – lembra Richard – Greenblatt começou o costume: quando você quer almoçar, você vai até os colegas e os convida para ir com você, ou manda uma mensagem. Por volta de 1980-1981, eu parei de ser convidado. Eles não apenas não me convidavam, mas, como um homem me confessou depois, pressionaram os outros para que ninguém falasse comigo sobre as viagens planejadas para o almoço."

Fonte: linux.org.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster