Esta tradução pode não refletir as alterações feitas desde 2021-09-11 ao original em Inglês.

Você deveria dar uma olhada nas alterações. Por favor, veja o README de traduções para informações sobre a manutenção de traduções a este artigo.

Por que “Software Livre” é melhor que “Código Aberto”

Este artigo foi substituído por uma grande reescrita, “Código Aberto” não compartilha dos objetivos do Software Livre, que é muito melhor. Nós mantemos esta versão por razões históricas.


Enquanto o software livre por qualquer outro nome lhe daria a mesma liberdade, faz uma grande diferença o nome que usamos: palavras diferentes transmitem ideias diferentes.

Em 1998, algumas pessoas da comunidade de software livre começaram a usar o termo “software de código aberto” em vez de “software livre” para descrever o que eles fazem. O termo “código aberto” (open source) rapidamente se tornou associado a uma abordagem diferente, uma filosofia diferente, valores diferentes e até mesmo um critério diferente para o qual as licenças são aceitáveis. O movimento Software Livre e o movimento Código Aberto são hoje movimentos separados com visões e objetivos diferentes, embora possamos e trabalhemos juntos em alguns projetos práticos.

A diferença fundamental entre os dois movimentos está em seus valores, suas maneiras de ver o mundo. Para o movimento Código Aberto, a questão de se o software deve ser código aberto é uma questão prática, e não ética. Como uma pessoa colocou, “código aberto é uma metodologia de desenvolvimento; o software livre é um movimento social”. Para o movimento Código Aberto, o software não livre é uma solução abaixo do ideal. Para o movimento do Software Livre, o software não livre é um problema social e o software livre é a solução.

Relação entre o movimento de Software Livre e o movimento do Código Aberto

O movimento do Software Livre e o movimento do Código Aberto são como dois campos políticos dentro da comunidade de software livre.

Grupos radicais nos anos 60 desenvolveram uma reputação de facciosismo: as organizações se dividiram por causa de discordâncias em detalhes da estratégia e depois trataram umas às outras como inimigos. Ou, pelo menos, tal é a imagem que as pessoas têm delas, seja ou não verdadeira.

A relação entre o movimento Software Livre e o movimento Código Aberto é exatamente o oposto dessa imagem. Discordamos dos princípios básicos, mas concordamos mais ou menos nas recomendações práticas. Portanto, podemos e trabalhamos juntos em muitos projetos específicos. Nós não pensamos no movimento Código Aberto como um inimigo. O inimigo é o software privativo.

Nós não estamos contra o movimento Código Aberto, mas não queremos ser envolvidos com eles. Reconhecemos que eles contribuíram para nossa comunidade, mas criamos essa comunidade e queremos que as pessoas saibam disso. Queremos que as pessoas associem nossas conquistas com nossos valores e nossa filosofia, não com a deles. Queremos ser ouvidos, não obscurecidos por trás de um grupo com visões diferentes. Para evitar que as pessoas pensem que somos parte delas, nos esforçamos para evitar o uso da palavra “aberto” para descrever o software livre, ou seu contrário, “fechado”, ao falar sobre software não livre.

Então, por favor, mencione o movimento do Software Livre quando você fala sobre o trabalho que fizemos, e o software que desenvolvemos – como o sistema operacional GNU/Linux.

Comparando os dois termos

O resto deste artigo compara os dois termos “software livre” e “código aberto”. Ele mostra por que o termo “código aberto” não resolve nenhum problema, e de fato cria alguns.

Ambiguidade

O termo “free software” tem um problema de ambiguidade: um significado não intencional, “Software que você pode obter pelo preço zero”, se encaixa no termo tão bem quanto o significado pretendido, “software que dá ao usuário certas liberdades”. Abordamos esse problema publicando uma definição mais precisa de software livre, mas essa não é uma solução perfeita; ela não consegue eliminar completamente o problema. Um termo correto sem ambiguidade seria melhor, se não tivesse outros problemas.

Infelizmente, todas as alternativas em inglês têm problemas próprios. Vimos muitas alternativas sugeridas pelas pessoas, mas nenhuma é tão claramente “correta” que mudar para ela seja uma boa ideia. Cada substituto proposto para o “software livre” tem um tipo semelhante de problema semântico, ou pior – e isso inclui “software de código aberto”.

A definição oficial de “software de código aberto”, como publicada pela Open Source Initiative, está muito próxima da nossa definição de software livre; no entanto, é um pouco mais flexível em alguns aspectos, e eles aceitaram algumas licenças que consideramos inaceitavelmente restritivas dos usuários. No entanto, o significado óbvio para a expressão “software de código aberto” é “Você pode ver o código-fonte”. Este é um critério muito mais fraco que o software livre; inclui software livre, mas também alguns programas privativos, incluindo Xv e Qt sob sua licença original (antes da QPL).

Esse significado óbvio para “código aberto” não é o significado que seus defensores pretendem. O resultado é que a maioria das pessoas entende mal o que esses defensores estão defendendo. Aqui está como o escritor Neal Stephenson definiu “código aberto”:

Linux é software de “código aberto”, o que significa, simplesmente, que qualquer um pode obter cópias de seus arquivos de código-fonte.

Eu não acho que ele deliberadamente procurou rejeitar ou contestar a definição “oficial”. Acho que ele simplesmente aplicou as convenções da língua inglesa para chegar a um significado para o termo. O estado do Kansas publicou uma definição semelhante:

Faça uso de software de código aberto (OSS). OSS é um software para o qual o código-fonte é livre e está publicamente disponível, embora os acordos de licenciamento específicos variem quanto ao que é permitido fazer com esse código.

É claro que o pessoal do código aberto tentaram lidar com isso publicando uma definição precisa para o termo, assim como fizemos para o “software livre”.

Mas a explicação para o “software livre” é simples – uma pessoa que compreendeu a ideia de “liberdade de expressão, não cerveja gratuita” não vai errar de novo. Não existe uma maneira tão sucinta de explicar o significado oficial de “código aberto” e mostrar claramente porque a definição natural é a errada.

Medo de liberdade

O principal argumento para o termo “software de código aberto” é que “software livre” deixa algumas pessoas inquietas. Isso é verdade: falar sobre liberdade, sobre questões éticas, sobre responsabilidades e também sobre conveniência, é pedir às pessoas que pensem sobre coisas que preferem ignorar. Isso pode desencadear desconforto, e algumas pessoas podem rejeitar as ideias sobre isso. Não é verdade que a sociedade estaria melhor se parássemos de falar sobre essas coisas.

Anos atrás, os desenvolvedores de software livre notaram essa reação de desconforto, e alguns começaram a explorar uma abordagem para evitá-la. Eles concluíram que, ao manter silêncio sobre ética e liberdade e falar apenas sobre os benefícios práticos imediatos de certos softwares livres, eles poderiam ser capazes de “vender” o software de forma mais eficaz para determinados usuários, especialmente comerciais. O termo “código aberto” é oferecido como uma maneira de fazer mais disso – uma maneira de ser “mais aceitável para os negócios”. As visões e valores do movimento Código Aberto derivam dessa decisão.

Essa abordagem se mostrou eficaz, em seus próprios termos. Hoje muitas pessoas estão migrando para o software livre por razões puramente práticas. Isso é bom, até onde vai, mas isso não é tudo que precisamos fazer! Atrair usuários para o software livre não é todo o trabalho, apenas o primeiro passo.

Mais cedo ou mais tarde, esses usuários serão convidados a voltar ao software privativo por alguma vantagem prática. Inúmeras empresas procuram oferecer essa tentação e por que os usuários recusariam? Somente se eles aprenderam a valorizar a liberdade que o software livre lhes dá, por si só. Cabe a nós espalhar essa ideia – e, para fazer isso, temos que falar sobre liberdade. Uma certa quantidade da abordagem de “manter silêncio” para os negócios pode ser útil para a comunidade, mas também precisamos ter muita conversa sobre liberdade.

No momento, temos muito do “manter silêncio”, e não liberdade suficiente para falar. A maioria das pessoas envolvidas com o software livre fala pouco sobre liberdade – geralmente porque elas procuram ser “mais aceitáveis para os negócios”. Distribuidores de software mostram especialmente esse padrão. Algumas distribuições do sistema operacional GNU/Linux adicionam pacotes privativos ao sistema livre básico e convidam os usuários a considerarem isso uma vantagem, em vez de um passo para trás da liberdade.

Estamos fracassando em acompanhar o fluxo de usuários de software livre, deixando de ensinar as pessoas sobre liberdade e nossa comunidade tão rápido quanto elas entram nela. É por isso que software não livre (que era o Qt quando se tornou popular) e distribuições de sistemas operacionais parcialmente não livres, encontram terreno fértil. Parar de usar a palavra “livre” agora seria um erro; precisamos falar mais, e não menos, sobre liberdade.

Se aqueles que usam o termo “código aberto” atraírem mais usuários para nossa comunidade, isso é uma contribuição, mas o resto de nós terá que trabalhar ainda mais para levar a questão da liberdade à atenção desses usuários. Temos que dizer: “É um software livre e dá liberdade a você!” – mais e mais alto do que nunca.

Uma marca registrada ajudaria?

Os defensores do “software de código aberto” tentaram torná-lo uma marca registrada, dizendo que isso lhes permitiria evitar o uso indevido. Esta iniciativa foi posteriormente abandonada, sendo o termo muito descritivo para se qualificar como marca registrada; assim, o status legal de “código aberto” é o mesmo que o de “software livre”: não há uma restrição legal para usá-lo. Eu ouvi relatos de várias empresas chamando pacotes de software “código aberto” mesmo que não se encaixassem na definição oficial; eu mesmo observei alguns exemplos.

Mas teria sido uma grande diferença usar um termo que é uma marca registrada? Não necessariamente.

As empresas também fizeram anúncios que dão a impressão de que um programa é um “software de código aberto” sem explicitamente dizer isso. Por exemplo, um anúncio da IBM, sobre um programa que não se encaixava na definição oficial, dizia isso:

Como é comum na comunidade de código aberto, os usuários da ... tecnologia também poderão colaborar com a IBM ...

Isso na verdade não dizia que o programa era “código aberto”, mas muitos leitores não notaram esse detalhe. (Devo observar que a IBM estava sinceramente tentando tornar este programa software livre e, mais tarde, adotou uma nova licença para torná-lo software livre e de “código aberto”, mas quando esse anúncio foi feito, o programa não se qualificava como um deles.)

E aqui está como a Cygnus Solutions, que foi formada para ser uma empresa de software livre e posteriormente ramificada (por assim dizer) em software privativo, anunciou alguns produtos de software privativo:

A Cygnus Solutions é líder no mercado de código aberto e acaba de lançar dois produtos no mercado [GNU/]Linux.

Ao contrário da IBM, a Cygnus não estava tentando fazer com que esses pacotes fossem livres, e os pacotes não chegaram perto de se qualificar como tal. Mas Cygnus realmente não disse que estes são “softwares de código aberto”, eles apenas fizeram uso do termo para dar aos leitores descuidados essa impressão.

Essas observações sugerem que uma marca registrada não teria realmente impedido a confusão que vem com o termo “código aberto”.

Mal-entendidos(?) de “Código Aberto”

A definição de Código Aberto é clara o suficiente, e está bastante claro que o programa não livre típico não se qualifica. Então, você pensaria que uma “empresa de Código Aberto” significaria uma empresa cujos produtos são software livre (ou próximo a ele), certo? Infelizmente, muitas empresas estão tentando dar um significado diferente.

No encontro “Open Source Developers Day” em agosto de 1998, vários desenvolvedores comerciais disseram que pretendem fazer apenas parte de seu trabalho software livre (ou “código aberto”). O foco de seus negócios está no desenvolvimento de complementos privativos (software ou manuais) para vender aos usuários deste software livre. Eles nos pedem para considerar isso como legítimo, como parte de nossa comunidade, porque parte do dinheiro é doado para o desenvolvimento de software livre.

Na prática, essas empresas buscam obter o favorável selo de “código aberto” para seus produtos de software privativo – mesmo que esses não sejam “softwares de código aberto”, porque eles têm alguma relação com o software livre ou porque a mesma empresa também mantém algum software livre. (Um fundador de empresa disse explicitamente que eles colocariam, no pacote livre que eles apoiam, o mínimo do trabalho que a comunidade exigiria.)

Ao longo dos anos, muitas empresas contribuíram para o desenvolvimento de software livre. Algumas dessas empresas desenvolveram principalmente software não livre, mas as duas atividades eram separadas; Assim, poderíamos ignorar seus produtos não livres e trabalhar com eles em projetos de software livre. Então poderíamos sinceramente agradecê-las depois por suas contribuições de software livre, sem falar sobre o resto do que elas fizeram.

Não podemos fazer o mesmo com essas novas empresas, porque elas não deixarão. Essas empresas convidam ativamente o público a reunir todas as suas atividades; elas querem que consideremos seu software não livre tão favoravelmente quanto consideramos uma contribuição real, embora não seja uma. Elas se apresentam como “empresas de código aberto”, esperando que tenhamos um sentimento caloroso para com elas, e que nós nos confundiremos em utilizar seus produtos.

Essa prática manipulativa não seria menos prejudicial se fosse feita usando o termo “software livre”. Mas as empresas não parecem usar o termo “software livre” dessa maneira; talvez sua associação com o idealismo pareça inadequada. O termo “código aberto” abriu a porta para isso.

Em uma feira no final de 1998, dedicada ao sistema operacional muitas vezes referido como “Linux”, o orador em destaque era um executivo de uma empresa de software proeminente. Ele provavelmente foi convidado por conta da decisão de sua empresa de “apoiar” esse sistema. Infelizmente, a forma deles de “apoiar” consiste em lançar software não livre que funciona com o sistema – em outras palavras, usar nossa comunidade como mercado, mas não contribuir para isso.

Ele disse: “Não há como tornar nosso produto de código aberto, mas talvez possamos torná-lo código aberto ‘interno’. Se permitirmos que nossa equipe de suporte ao cliente tenha acesso ao código-fonte, eles poderão corrigir erros para os clientes, e poderemos fornecer um produto melhor e um serviço melhor”. (Esta não é uma citação exata, já que eu não escrevi suas palavras, mas ela mostra a essência.)

As pessoas na plateia depois me disseram: “Ele simplesmente não entende”. Mas é isso? Que ponto ele não conseguiu entender?

Ele não entendeu errado o movimento Código Aberto. Esse movimento não diz que os usuários devem ter liberdade, mas apenas permitir que mais pessoas olhem para o código-fonte e ajudem a melhorá-lo, tornando o desenvolvimento mais rápido e melhor. O executivo compreendeu esse ponto completamente; Não querendo realizar essa abordagem na íntegra, os usuários incluídos, ele estava pensando em implementá-lo parcialmente, dentro da empresa.

O ponto que ele não entendeu é o ponto em que “código aberto” foi concebido para não levantar: o ponto que os usuários merecem liberdade.

Espalhar a ideia de liberdade é um grande trabalho – precisamos da sua ajuda. É por isso que nos ateremos ao termo “software livre” no Projeto GNU, para que possamos ajudar nesse trabalho. Se você acha que a liberdade e a comunidade são importantes para seu próprio bem – não apenas para a conveniência que elas trazem – junte-se a nós usando o termo “software livre”.

Nota

O artigo sobre a motivação dos desenvolvedores de software livre, de Lakhani e Wolf, diz que uma fração considerável deles é motivada pela visão de que o software deveria ser livre. Isso ocorreu apesar do fato de que eles pesquisaram os desenvolvedores no SourceForge, um site que não apoia a visão de que essa é uma questão ética.