Blog

Qual a diferença entre software livre e software de código aberto?

Escrito por

14 de janeiro de 2019

Os movimentos de software livre e software de código aberto (open source) têm muito em comum. Ambos valorizam o compartilhamento do código-fonte dos programas, por exemplo. Não é raro que programas considerados software livre sejam também open source, embora esse nem sempre seja o caso. Muitas pessoas são simpáticas a ambos os movimentos e participam das atividades dos dois. Mas se há tanto em comum entre eles, o que diferencia um do outro?

O post de hoje explora as diferenças e conexões entre os movimentos de software livre (SL) e open source (OS). E para entender isso, é necessário voltar aos contextos de origem dos dois movimentos.

Da cultura de colaboração à restrição de acesso

Quando os primeiros computadores modernos estavam sendo desenvolvidos nos anos 1950, havia muita demanda por progresso rápido e pouca mão de obra. Além disso, muitos programadores eram formados em meio a uma tradição científica em que se valorizava práticas de cooperação intelectual e revisão por pares. Esses fatores favoreceram uma cultura de colaboração que marcou projetos históricos, como o sistema operacional Unix.

Esse ambiente colaborativo começou a mudar em função do crescimento da indústria de software na década de 1970. Um marco dessa transição foi uma carta aberta de Bill Gates aos “entusiastas” que programavam por hobby em 1976. Na carta, ele criticava o compartilhamento do programa Altair BASIC da Microsoft entre eles e os acusava de roubar software. Outro marco foi a fragmentação do código do Unix conforme diferentes projetos comerciais com base nele passavam a disputar entre si.

Segundo os pesquisadores Maria Carlotto e Pablo Ortellado, esse período sinaliza uma transição de um regime “público/científico” para um regime “privado/empresarial” de desenvolvimento de software. O novo regime era marcado pela adoção de medidas mais duras em relação à distribuição dos programas e pela restrição do acesso a seus códigos-fonte por parte das empresas.

“Carta aberta aos Hobbystas”. Fonte: Wikipedia

Software Livre, Copyleft e o surgimento do GNU/Linux

Alguns programadores que viam essa mudança acontecer queriam preservar a cultura de colaboração e de liberdade do usuário para ler e mudar o código. Um deles foi um programador do MIT chamado Richard Stallman, que em 1983 iniciou um projeto colaborativo de sistema operacional com base nesses valores: o GNU. A sigla significava GNU’s Not Unix (GNU Não é Unix) porque ele executaria programas do Unix, mas seria um sistema distinto e protegido contra a fragmentação do código que o Unix havia sofrido.

Em 1985, o Stallman funda a Free Software Foundation (FSF) e lança o Manifesto GNU, documento que apresentava os ideais por trás do projeto e convidava outros programadores a participar. Para garantir que esses ideais teriam proteção jurídica, as ferramentas do GNU eram produzidas sob uma licença especial chamada General Public License (GPL). Ela permitia que o programa fosse utilizado, modificado, copiado e distribuído (tanto em sua forma original quanto modificada), desde que essas mesmas liberdades fossem preservadas em todas as cópias.

Essa regra funcionou como método para bloquear a restrição do acesso ao código e ficou conhecida como copyleft, num jogo de palavras com copyright. Nos anos 1980, diversas ferramentas associadas ao GNU foram desenvolvidas com a GPL, mas ainda faltava um kernel (parte do sistema que faz a comunicação entre software e hardware). Isso foi resolvido em 1992, quando o finlandês Linus Torvalds tornou a licença de um kernel que ele vinha desenvolvendo, o Linux, compatível com a do GNU. Assim nasceu o sistema GNU/Linux, cuja eficiência e estabilidade ficaram conhecidas durante os anos 1990.

Símbolos do GNU e do Linux. Fonte: Wikipédia

O nascimento do Open Source

O sucesso do GNU/Linux atraiu o interesse do setor empresarial pelo modo como o  sistema havia sido desenvolvido. Um marco para aumentar esse interesse ainda mais foi a palestra “A catedral e o bazar” que o programador Eric Raymond deu num evento de software livre em 1997. Seu argumento era que o modelo de desenvolvimento do kernel Linux era intrinsecamente mais eficiente que o modelo predominante tanto na produção de  software proprietário quanto no projeto GNU.

No desenvolvimento do GNU, mesmo que o código-fonte do programa fosse liberado a cada versão, as mudanças entre versões ficavam restritas a alguns programadores. Cada versão, dizia Raymond, era como uma catedral construída lentamente por um grupo centralizado e isolado. Na criação do kernel Linux, por outro lado, todas as alterações eram publicadas na web instantaneamente e qualquer pessoa podia dispor delas e sugerir novas mudanças, como num bazar caótico. Para Raymond, o “modelo do bazar” era tecnicamente superior por facilitar a detecção e correção rápida de erros e problemas.

Dentre os impactos dessa palestra, um dos principais foi ter influenciado a Netscape, principal concorrente da Microsoft no ramo de navegadores na época, a anunciar que tornaria público o código do seu navegador em 1998. Dias após esse anúncio, algumas lideranças do software livre se reuniram e decidiram substituir o termo “software livre” por Open Source Software (software de código aberto). O novo movimento tinha um discurso focado em eficiência técnica e buscava proximidade com o mercado. Um mês depois seria fundada sua principal representante, a Open Source Initiative (OSI).

Isso porque a ambiguidade do termo free software incomodava empresários, já que free em inglês pode ser tanto “livre” quanto “grátis”. O mal-entendido persistia, embora Stallman reafirme com frequência que o termo free está no sentido de free speech (livre expressão), não de free beer (cerveja grátis). Além disso, o foco político-moral do software livre nas liberdades dos usuários afastava a indústria. Essa atitude era vista como excessivamente política e combativa.

Mas afinal, qual a diferença?

Com base no que foi exposto, concluímos que as diferenças entre software livre e open source são históricas e ideológicas. Essa é a posição do antropólogo Rafael Evangelista, para quem os movimentos se distinguem sobretudo nas estratégias, discursos e organizações que cada um deles mobiliza para buscar seus objetivos. O SL tem um foco político-moral na liberdade, não raramente incentiva o uso exclusivo de software livre e é muito associado à FSF. O OS, por sua vez, admite coexistir com software proprietário, se pauta pela qualidade técnica de seu modelo produtivo é comumente conectado à OSI.

É importante entender também que esses movimentos não são homogêneos e nem estanques, ganhando conotações diferentes em diferentes países e regiões, por exemplo. Nesse sentido, a antropóloga Gabriela Coleman nota um “agnosticismo político” predominante nos movimentos de open source e software livre nos EUA. Já no Brasil, país-sede do Fórum Internacional de Software Livre desde 2000, Evangelista entende que o movimento de software livre foi conectado a outros ideais de transformação social.

Agora que você entendeu o que é software livre e open source, entenda mais sobre implicações técnicas de publicizar ou não o código em nosso post sobre transparência em algoritmos de distribuição de processo.

Escrito por

É diretor do Instituto de Referência em Internet e Sociedade. Mestrando em Divulgação Científica e Cultural pela Universidade Estadual de Campinas (Unicamp) e bacharel em Antropologia, com habilitação em Antropologia Social, pela Universidade Federal de Minas Gerais (UFMG). Membro do núcleo de coordenação da Rede de Pesquisa em Governança da Internet e alumni da Escola de Governança da Internet no Brasil (EGI). Seus interesses temáticos são antropologia do Estado, privacidade e proteção de dados pessoais, sociologia da ciência e da tecnologia, governança de plataformas e políticas de criptografia e cibersegurança.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *