Free Software vs Open Source: estamos no lado errado da história?

Em meados dos anos 80, Richard Stallmand fundou o Projeto GNU e a Free Software Foundation (FSF), além de estabelecer as bases do Software Livre, formar uma comunidade incrível de colaboradores e criar uma série de softwares essenciais para o ecossistema que se formou em volta dele (GNU Bash, GNU Emacs, GNU Compiler Collection e o GNU Debugger, entre outros), sob os termos da licença GNU General Public License (GPL). Já nos anos 90, Linus Torvalds criou kernel Linux, que por sua vez se estabeleceu como um componente fundamental do sistema operacional GNU, idealizado alguns anos antes pelo próprio Stallman…

Daí, surgiram os sistemas GNU/Linux e posteriormente, um monte de distros…

+30 anos depois, a indústria da Tecnologia da Informação sofreu profundas transformações ao longo do tempo, graças a uma série de (re)evoluções tecnológicas, a popularização do acesso a Internet de banda-larga e a ascensão da Computação na Nuvem. O Software Livre não só se tornou um dos pilares desta indústria, como também promoveu uma grande influência na indústria do software e como resultado, surgiram novas filosofias (que nem sempre, são totalmente compatíveis com os seus princípios). Dentre elas, está a do Código Aberto que na minha opinião, se tornou uma concepção bem mais ampla e diversificada.

Para um programa ser classificado como Software Livre, 4 liberdades precisam estar alinhadas aos seus princípios: 1) a liberdade de executar o programa como você desejar, para qualquer propósito; 2) a liberdade de estudar como o programa funciona, e adaptá-lo às suas necessidades; 3) a liberdade de redistribuir cópias, de modo que você possa ajudar outros; 4) a liberdade de distribuir cópias de suas versões modificadas a outros. Porém, nem todos os obedecem a todos estes critérios, apesar de terem o seu código ser aberto e disponível. Esta, é a principal diferença entre o Software Livre e o Código Aberto.

Porque muitos optam pelos princípios do Código Aberto, ao invés do Software Livre? Simples: em muitos casos, as obrigações impostas pelas licenças livres (especialmente a GNU GPL) vão de encontro aos interesses e as necessidades de muitas organizações e indivíduos. Dentre elas, estão os aspectos relacionados aos direitos autorais e a distribuição de programas. Muitas empresas querem tirar proveito das comunidades de desenvolvedores que se formam em torno de um projeto, as quais geralmente fazem muitas contribuições para os softwares em questão e não raro, são convertidos para softwares proprietários e/ou restringindo a sua distribuição, para atender as suas necessidades.

Por isto, as licenças de Código Aberto geralmente são classificadas como dotadas de fraco copyleft (um trocadilho para o copyright), que ao contrário daquelas classificadas como Software Livre (como a GNU GPL), permite a realização de tais conversões, deixando muitas comunidades de colaboradores furiosas com estas práticas. Exemplos são inúmeros, tendo projetos como o Elasticsearch & Kibana, a HashiCorp Terraform, o Redis (apenas os módulos) e o MongoDB, os casos mais recentes. No entanto, tais ações acabam desestimulando a colaboração em geral e por isto, muitas empresas acabam adotando um sistema de duplo licenciamento.

No duplo licenciamento, a base (núcleo) do projeto se torna licenciada sob os termos de uma licença livre (geralmente de Código Aberto) para que possa ser disponibilizado como uma edição comunitária, ao passo que a edição comercial (proprietária) geralmente traz serviços e outros adicionais integrados, para se tornar mais atrativa para os clientes e interessados. Esta sim, é uma prática que tem sido cada vez mais frequente e que atende aos interesses e as necessidades de todas as partes envolvidas. E por incrível que pareça, as licenças dotadas de copyleft forte (que eu saiba) não são compatíveis com esta prática. Ao menos, não tenho visto projetos dotados destas edições com elas.

Esta simbiose, iremos explorar mais em uma próxima oportunidade… &;-D

Leave a Comment