Uma retrospectiva de 40 anos do GNU e da Free Software Foundation

Retrospective of 40 years of GNU and the Free Software Foundation

Você acreditaria que quase toda a tecnologia que você usa hoje está aqui por causa de uma impressora problemática? Acredite.

No início dos anos 1980, um programador do Laboratório de Inteligência Artificial do MIT chamado Richard M. Stallman (RMS) estava tendo problemas com uma impressora notoriamente pouco confiável, uma Xerox 9700. Ele queria modificar o software dela para notificar os usuários sobre suas frequentes travadas. Ótima ideia, mas ele não conseguia acessar o código-fonte para fazer essas alterações. Isso ia contra o ethos aberto do laboratório. Então, ele decidiu que o código de software deveria ser livre. Não livre no sentido de cerveja grátis, mas livre no sentido de liberdade de expressão.

Também: O fundador do Debian Linux, Ian Murdock, ficaria impressionado com seu legado

Além disso, RMS ficou chateado porque, em 1982, o MIT comprou um computador DEC PDP-10 com o sistema de compartilhamento de tempo proprietário da Digital em vez do sistema de compartilhamento de tempo incompatível e livre (ITS).

Indignado, RMS queria que os usuários fossem livres para usar, modificar e distribuir software. Em 1983, essa visão já tinha se cristalizado em uma missão: criar um sistema operacional livre semelhante ao Unix. Assim, nasceu o GNU, que significa “GNU’s Not Unix”.

Como RMS escreveu na época, “A partir deste Dia de Ação de Graças, vou escrever um sistema de software Unix completo chamado GNU (para GNU’s Not Unix) e distribuí-lo gratuitamente para todos que puderem usar. Contribuições de tempo, dinheiro, programas e equipamentos são muito necessárias.”

Seu sonho de escrever um sistema operacional nunca se concretizou. O projeto do kernel do sistema operacional, GNU Hurd, continua inacabado. Mas, inspirado por sua ideia de que o sistema social de software proprietário é antissocial, antiético e simplesmente errado, ele e outros começaram a construir a família de software GNU. A partir dela, surgiriam inúmeros outros programas.

Dito isso, RMS nem sempre foi honesto sobre seu trabalho. Por exemplo, ele afirma ser o “inventor do editor EMACS original muito imitado”. Na verdade, o crédito para o EMACS vai para David A. Moon e Guy L. Steele Jr. como um conjunto de macros do editor TECO.

Também: O Google faz 25 anos: De startup de garagem a gigante global

James Gosling, mais conhecido como o criador da linguagem Java, então pegou a ideia do EMACS, o adaptou para o Unix e melhorou seu desempenho na exibição. Em seguida, diante da escolha de “ou eu sou o Sr. EMACS para sempre ou eu me formo”, ele decidiu terminar seu trabalho na pós-graduação e deu a uma empresa de garagem chamada Unipress os direitos de suporte e venda do EMACS. RMS então, como conta a história Gosling, “pirateou” e “pegou todo o código-fonte”.

Stallman reescreveu o código ofensivo após um processo entre IBM e DEC vs. Unipress e muitas palavras duras entre Gosling e RMS. Ironicamente, foi dessa briga desagradável que RMS criaria sua maior conquista: a Licença Pública Geral GNU (GPL).

RMS percebeu que, sob as regras informais da comunidade do EMACS, também conhecida como Comuna do EMACS, ele não podia controlar nem mesmo sua própria versão do EMACS. RMS e seus colegas decidiram que os usuários poderiam alterar o código do GNU EMACS desde que publicassem suas modificações, e suas obras “derivadas” também teriam a mesma Licença GNU EMACS. Os primeiros passos em direção à Licença Pública Geral GNU (GPL) estavam sendo dados.

Também: Você conhece a história de origem da Apple, mas conhece a da Samsung? É quase difícil de acreditar

A ideia radical de que as pessoas eram livres para alterar o código, desde que o compartilhassem como Software Livre, foi a base do código aberto. Agora, a ideia de software livre é muito mais antiga do que o Software Livre. No início da computação, o software era simplesmente compartilhado. Como efeito colateral inesperado do processo antitruste dos EUA contra a IBM em 1969, no entanto, mainframes e minicomputadores, como DEC e IBM, pararam de incluir software livre e começaram a vender sistemas operacionais e programas proprietários. No final dos anos 70 e início dos anos 80, o software proprietário estava se tornando o novo normal.

Com a ajuda dos advogados de Propriedade Intelectual (PI) Mark Fischer e Jerry Cohen, e de John Gilmore, um desenvolvedor de software livre e co-fundador da Electronic Frontier Foundation (EFF), RMS percebeu que a Licença GNU EMACS era muito limitada. Fischer havia encorajado RMS a usar direitos autorais como base para a licença, enquanto Gilmore sugeriu: “Você deve provavelmente remover “EMACS” da licença e substituí-lo por “SOFTWARE” ou algo assim. Em breve, esperamos, o Emacs não será a maior parte do sistema GNU, e a licença se aplicará a tudo.”

Também: Neutralidade de rede: O que é e por que estamos falando sobre isso novamente

Com base nessas ideias, RMS criou a primeira versão da GPL: “O copyleft usado pelo projeto GNU é feito a partir de uma combinação de um aviso de direitos autorais e a Licença Pública Geral GNU. O aviso de direitos autorais é o tipo usual. A Licença Pública Geral é uma licença de cópia que basicamente diz que você tem as liberdades que queremos que você tenha e que você não pode tirar essas liberdades de mais ninguém.”

Essas quatro liberdades agora são fundamentais para todo o Software Livre e licenças de código aberto. São elas:

  • A liberdade de executar o programa como desejar para qualquer finalidade.

  • A liberdade de estudar como o programa funciona e modificá-lo para que ele funcione de acordo com suas necessidades de computação. O acesso ao código-fonte é uma condição prévia para isso.

  • A liberdade de redistribuir cópias para ajudar os outros.

  • A liberdade de distribuir cópias de suas versões modificadas para outros. Ao fazer isso, você pode dar à comunidade inteira a chance de se beneficiar de suas alterações. O acesso ao código-fonte é uma condição prévia para isso.

A GPL evoluiria ao longo dos anos e ganharia importância. A GPLv2 é talvez a mais importante de suas variantes, uma vez que é a licença do Linux. A versão mais atual, GPLv3, estendeu os conceitos de Software Livre para abranger a gestão de direitos digitais (DRM) e patentes.

Para ajudar no desenvolvimento de programas GNU, em 1985, a Free Software Foundation (FSF) foi estabelecida para apoiar e promover a GPL e os programadores do movimento de software livre. O próximo marco significativo foi o desenvolvimento do Compilador C GNU (GCC) em 1987. O GCC não era apenas gratuito, mas também superava muitos compiladores contemporâneos, o que lhe rendeu uma rápida adoção e contribuiu para o impulso do projeto.

Também: Por que o código aberto é o berço da inteligência artificial

O GCC é amplamente considerado como a maior realização do GNU e de Stallman no mundo da programação. Michael Tiemann, programador de software e fundador da primeira empresa de código aberto, Cygnus Support, proclamou o GCC como uma “bomba”. Assim como todo escritor sonha em escrever o grande romance americano, todo programador nos anos 80 falava sobre escrever o grande compilador americano. De repente, Stallman havia feito isso. Foi muito humilhante.”

Há outros programas GNU. Estes incluem o Depurador do Projeto GNU (Gdb), o bootloader GRUB e o GNU Common Lisp.

Um ponto delicado é que RMS nunca conseguiu criar um sistema operacional. É verdade que, no início dos anos 90, o Projeto GNU havia reescrito com sucesso grande parte do sistema Unix. Mas ainda havia uma exceção gritante: um kernel de sistema operacional.

Surge Linus Torvalds, um estudante finlandês de ciência da computação que, em 1991, começou a trabalhar em um kernel de sistema operacional como um projeto de hobby. Esse kernel, chamado Linux, combinado com o sistema GNU, criou um sistema operacional totalmente livre. Até hoje, Stallman e a FSF insistem que o Linux deve ser conhecido como “GNU/Linux”.

Também: Por que mais pessoas não usam o Linux desktop? Tenho uma teoria que você pode não gostar

Se algo, como um leitor do Linux Weekly News (LWN) recentemente colocou, “GNU e RMS merecem crédito por ver o que era possível e desenvolver gcc, glibc e um monte de utilitários do zero. Mas eles passaram 30 dos últimos 40 anos tentando pegar crédito pelo Linux. O primeiro lançamento de Linus em 1991 pode ter dependido muito do GNU, mas o desenvolvimento do software GNU nos últimos 30 anos tem dependido e sido impulsionado pelo Linux e sua comunidade.”

Também não ajudou o GNU que, ao longo dos anos, RMS desenvolveu uma reputação controversa. Isso atingiu o auge em 2019, quando sua defesa do falecido Marvin Minsky, pioneiro da IA e associado do notório pedófilo bilionário Jeffrey Epstein, levou à sua renúncia como presidente da FSF. Depois, em 2021, RMS retornou ao Conselho da FSF, o que também gerou oposição tanto de dentro como de fora da FSF.

Hoje, em 2023, RMS ainda é membro do Conselho da FSF. A FSF também patrocina o Projeto GNU, que continua tentando criar um sistema operacional completo de software livre. A FSF também detém os direitos autorais de muitos dos programas GNU.

Além disso: 8 coisas que você pode fazer com o Linux que não pode fazer com o MacOS ou o Windows

À medida que os anos passavam, alguns desenvolvedores e empresas sentiram que a GPL era muito restritiva. Isso levou ao surgimento de licenças alternativas, como a Licença Apache e a Licença MIT, que ofereciam termos mais permissivos. Essas tensões contribuíram para o surgimento do código aberto, que muitos veem como uma abordagem mais pragmática para a liberdade de software.

No entanto, apesar das oposições enfrentadas pelo GNU e RMS e dos problemas que tiveram, os fatos fundamentais são que eles mudaram o mundo. Para os desenvolvedores, o legado do GNU continua sendo um testemunho duradouro da ideia de que o software deveria capacitar, e não restringir, seus usuários.

Para o mundo em geral, suas contribuições foram profundas. Sem a GPL, não existiria software livre ou software de código aberto. De fato, é quase impossível imaginar como seriam nossas vidas sem isso. Quase tudo o que você usa em um computador hoje, desde a internet até seus serviços de nuvem e jogos, deve uma dívida ao GNU e ao seu trabalho pioneiro.