GNU versus Linux e a bateção de cabeça

GNU vs Linux

Uma das flamewars mais antigas do mundo “não-Windows” é a briga entre quem chama o sistema operacional baseado no kernel desenvolvido pelo Linus Torvalds de Linux ou de GNU/Linux.

Um pouco de história

Lá pelos idos de 1983, um certo Richard Stallman deu início a um projeto que ele chamou de “GNU” (Gnu is Not Unix), uma sigla recursiva e engraçadinha para designar um sistema operacional completo, composto única e exclusivamente por software livre. Em inglês a distinção é mais importante, porque “free” quer dizer “livre” mas também quer dizer “de graça”. Toda vez que se fala em “free software“, essa distinção aparece de um jeito ou de outro (mais notoriamente como “free as in freedom, not as in free beer“).

O Projeto GNU

O Stallman propunha que o software deve servir ao usuário, e não o contrário. Ele promove a idéia de que o usuário deve ter a liberdade de controlar tudo o que o software que funciona no seu computador faz, incluindo o direito de copiar, modificar e redistribuir da maneira que achar melhor. E para isso ele criou a GPL (GNU General Public License), que explicita que o software é livre e que é proibido deixar de distribuir o código-fonte ou quaisquer alterações feitas a ele (mas não é proibido ganhar dinheiro com ele).

O GNU pretende ser um sistema operacional completo, com todas as ferramentas necessárias pra realizar qualquer trabalho. E, de fato, desde aquela época um monte de ferramentas padrão já eram implementadas na forma de software livre, incluindo alguns pacotes bem conhecidos como por exemplo o coreutils, tar, make, gcc, bash, entre outros. Mas havia um problema: o núcleo do SO, o programa responsável por intermediar as comunicações entre os programas e o hardware, não existia. Várias idéias foram propostas, e muitas delas não foram em frente. Uma delas, o Hurd, avançou aos trancos e barrancos e está vivo até hoje, mas nunca se estabeleceu muito firmemente.

A chegada do Linux

Em 1991 um sujeito de Helsinki chamado Linus Torvalds publicou um kernel em que ele estava trabalhando, e quase que imediatamente outras pessoas começaram a colaborar com ele. Não demorou muito tempo para que começassem a surgir versões do GNU que utilizavam esse kernel, que eventualmente veio a se chamar “Linux” (segundo o próprio Linus, por falta de nome melhor).

O Linus gosta de uma boa briga (desde que seja por email), e arrumou encrenca com gente graúda como o Andrew Tannenbaum, autor do minix, que declarou que o Linux era um “natimorto”. No fim das contas, o minix (e o Tannenbaum) são notas de rodapé, e o Linux (de uma certa forma) que dominou o mundo: a Internet roda, principalmente, em computadores com Linux. Nesse sentido, até quem usa Windows usa Linux.

O ponto é que a chegada do Linux salvou o GNU: tendo um kernel funcional, agora era possível de fato montar um sistema operacional inteiro usando código aberto (afinal o próprio Linux está sob a GPLv2).

O debate A flamewar começa

Uma das primeiras distribuições a usar o Linux, chamada Yggdrasil, usou o termo Linux/GNU/X em 1992, e dali em diante o termo “GNU/Linux” começou a aparecer por todo lado. Não demorou muito para que o Stallman e a Free Software Foundation (que foi fundada por ele e publica a GPL) começassem a empreender uma campanha para deixar explícito que o sistema operacional que estava começando a crescer rapidamente deveria ser chamado de GNU/Linux, porque afinal de contas o Linux era apenas o kernel do sistema, e todo o resto era desenvolvido independentemente dele.

De um lado estavam os defensores do nome “completo”, que diziam que o crédito devido não estava sendo dado aos desenvolvedores que contribuíam para todas as ferramentas do GNU, chegando ao extremo de acusar o “outro lado” de estelionato (ou coisa pior). Do outro lado, quem defendia “Linux” dizia que começar a adicionar nomes iria complicar tudo, era desnecessário, era exagero “politicamente correto” e chegava ao extremo de acusar o “outro lado” de comunista. Quando a gente chega a esse ponto, é porque a coisa toda perdeu o sentido.

Esse debate incrivelmente irrelevante se arrastou por quase duas décadas, com posições ferrenhas de ambos os lados. Ele serve de exemplo para um do fatores negativos da comunidade de software livre/código aberto em geral. Muitas vezes uma decisão que não tem realmente muita relevância se torna um ponto de discussão tão enorme que outros problemas mais sérios recebem menos atenção que deveriam. Se menos debates assim tivessem existido, talvez hoje em dia o desktop Linux fosse uma realidade (mas isso é uma opinião minha).

Afinal, como chama esse negócio então?

No fim das contas, eu mesmo chamo de GNU/Linux. A maioria das pessoas chama de Linux, e tá bom também. No fim das contas, o kernel é a parte mais importante do sistema operacional e sem ele o GNU seria apenas uma coleção de ferramentas sem um kernel pra rodar (porque, vamos admitir, o Hurd até agora continua inútil). E o Linux, se não tivesse incorporado as ferramentas do GNU, teria incorporado outras e teria seguido em frente do mesmo jeito.

O GNU contribuiu para o sucesso do Linux? Sem dúvida que sim, e a FSF e o Stallman merecem todo o crédito por isso. Mas o crédito não está apenas no nome. Código fonte e documentação sempre trazem os créditos (que inclui páginas web, manuais, tutoriais e assim por diante). Querer fazer questão de ter o GNU obrigatoriamente associado ao nome do sistema operacional é mais uma questão de ego do que de crédito propriamente dito.

Afinal de contas, se fosse pra dar crédito, cada um ia ter um nome diferente, como Debian/GNU/Linux/X/GNOME/seilámaisoque. Em vez disso, eu falo que uso Debian. Pessoalmente, eu acho bem razoável chamar de Debian GNU/Linux quando falo “formalmente” a respeito. No dia-a-dia, é Debian ou Linux e o Stallman que se conforme.

Só pra complementar, e pra usar outro exemplo do mundo da informática, ninguém fala que usa o sistema operacional Windows/Adobe/Oracle/Office. O cara fala que usa “Windows”, e está implícito que há software de outras pessoas além da Microsoft. Por quê deveria ser diferente quando alguém fala que usa “Linux”?

Resumindo

No fim das contas, o ativismo do Stallman é uma coisa positiva. Ele contribui pra um sistema operacional que é melhor que o Windows em quase todos os critérios relevantes. Infelizmente a presença do Linux no desktop não é tão prolífera, sobretudo por causa da vantagem inicial da Microsoft. Além disso o Linux, apesar de tudo que avançou, ainda tem alguns problemas que impedem que ele “decole” (esse assunto fica pra outro dia, mas pra citar um exemplo: GNOME). Mas, como se diz em inglês, é bom tomar esse ativismo com um grão de sal. Nenhum tipo de extremismo é saudável, incluindo o extremismo “em prol da liberdade”. Ao longo dos anos, a insistência em “pureza” pode ter causado mais malefícios que benefícios. A evolução não nasce da intransigência, mas do diálogo.