Software livre e código aberto: liberdades e oportunidades

com a maturidade no entendimento de Software Livre (Free Software), um novo modelo surgiu. Nasce, então, o Código Aberto (Open Source)

Author Photo
6:17 pm - 18 de janeiro de 2022

No início da década de 80, o cientista da computação Richard M. Stallman deu início ao movimento do Software Livre (Free Software). Em 1985, o renomado cientista fundou a Free Software Foundation, uma organização sem fins lucrativos que, no ano seguinte, criou o conceito das quatro liberdades de software:

  1. Liberdade para executar o programa como quiser e para qualquer propósito.
  2. Liberdade de estudar como o programa funciona e alterá-lo para que ele faça o que você deseja.
  3. Liberdade de redistribuir cópias para que você possa ajudar seu vizinho.
  4. Liberdade de distribuir cópias de suas versões modificadas para terceiros. 

Nasceu, assim, o conceito de Software Livre (Free Software), que tinha o intuito de evitar que apenas as empresas fossem as detentoras das tecnologias criadas, bem como de promover a liberdade e os direitos de usuários de software.
O que aconteceria se uma empresa que oferta determinado serviço de armazenamento de dados ou que oferece um serviço de streaming via cliente de API, por exemplo, fechasse suas portas? E, se por qualquer motivo, decidisse encerrar o fornecimento desses serviços de forma abrupta?
Ora, as aplicações instaladas em seus smartphones e as aplicações que rodam no browser simplesmente não funcionariam mais. O Software Livre (Free Software) veio, então, também com o intuito de prevenir e evitar essas situações.
Ocorre que há décadas o Software Livre (Free Software) tem sido tema de calorosos debates, que levantam problemas em sua utilização, e deve ser, portanto, um ponto de atenção para qualquer empresa que desenvolva software.
No ano de 1998, com a maturidade no entendimento de Software Livre (Free Software), um novo modelo surgiu. Nasce, então, o Código Aberto (Open Source). Neste modelo, o código crítico dos produtos é mantido fechado (em muitos casos, rodando em seus servidores) e apenas os desenvolvimentos periféricos são abertos para a utilização de suas soluções – e, desse modo, se beneficiando de contribuições externas.
Um exemplo conhecido é a aplicação Dropbox. Através de repositórios públicos é possível clonar suas APIs que fazem interface com a solução que roda em seus servidores. Assim, ele consegue expandir o uso. Entretanto, a finalidade continua sendo a mesma: armazenamento de dados. Mas todo o código responsável pelo armazenamento em si continua sendo de propriedade e de acesso restrito apenas à empresa. 
Um outro exemplo muito conhecido é o Kernel do Linux. Através da Linux Foundation, o custo de desenvolvimento do Kernel é compartilhado por grandes empresas (como IBM, Microsoft, Intel, Oracle, Red Hat, Google), que possuem interesse em financiar esse desenvolvimento através de seus desenvolvedores ou de desenvolvedores patrocinados, com o objetivo de cobrir seus interesses.
Um marco importante em prol da contribuição massiva no Software Livre e no Código Aberto – FOSS (Free and Opens Source Software) foi a criação da ferramenta de controle de versão de código Git. Inicialmente projetada por Linus Torvalds, tendo sua primeira versão publicada em 2005, essa ferramenta facilitou a contribuição de qualquer desenvolvedor em projetos FOSS.
Muitas tecnologias, startups, softwares e aplicações surgiram com a utilização e colaboração de códigos já escritos e disponibilizados através de gerenciadores de pacotes, como o NPM do Javascript e o PIP do Python.
O SaaS (Software as a Service), por exemplo, aproveita do que conhecemos hoje como uma brecha na licença GPL, conhecida como GPL Loophole. A Licença GPL (General Public License) especifica que, ao copiar um software com essa licença, as modificações realizadas também sejam disponibilizadas com o código aberto.
No entanto, os produtos SaaS, como o próprio nome diz, comercializam o software como serviço e não disponibilizam seus códigos inerentes ao core dos produtos, que por sua vez são executados dentro de servidores.
Notando a brecha referente à licença GPL, foi criada, em 2002, a licença AGPL (Aphero GPL). Sua principal diferença, se comparada com a GPL, é de que essa licença prevê a disponibilização completa do código em casos de software construído no modelo de negócio SaaS (Software as a Service).
Desse modo, o consumo de bibliotecas e pacotes passa a ser um ponto crítico à comercialização de produtos, dado que eventualmente possa se fazer uso de alguma biblioteca ou pacote com licenças do tipo GPL ou AGPL, o que comprometeria toda a aplicação. 
Por esse motivo, grandes empresas possuem departamentos responsáveis pela análise de código e licenças utilizadas em suas soluções para que nenhuma parte delas contenha código com licenças restritivas, como as acima citadas. E as empresas menores, como startups, devem redobrar a atenção nesse ponto.
Por outro lado, existe um universo de código que conta com licenças permissivas, por exemplo, as licenças MIT, BSD, Apache, Apple Public, Eclipse Public, Mozilla Public, entre outras. Essas licenças permissivas são largamente adotadas no movimento Código Aberto (Open Source) e são utilizadas pelas grandes empresas, como na linguagem Go do Google, que utiliza uma licença similar à BSD; no framework React do Facebook e na IDE da Microsoft VS Code, que utilizam a licença MIT.
Em conclusão, o movimento de Software Livre (Free Software) deu origem ao movimento Código Aberto (Open Source) que possibilitaram grandes oportunidades tanto para empresas, quanto para a comunidade de desenvolvedores.
No que tange ao mundo corporativo, as empresas recebem colaboração em suas tecnologias, seus códigos e seus softwares; e, ainda, possibilita que a comunidade estude e se capacite em suas tecnologias – formando candidatos experientes em suas tecnologias e linguagens de programação, caso abra futuras vagas em seu time.
Já para a comunidade de cientistas desenvolvedores, o Software Livre e o Código Aberto possibilitaram, sobretudo, um universo de aprendizagem sem precedentes, com a chance de receber feedback de colegas tão ou mais capacitados, sobre seus próprios trabalhos.
* Rafael Mendonça é CTO na 4intelligence, startup de soluções que apoiam a tomada de decisão por meio da análise de dados. 

Newsletter de tecnologia para você

Os melhores conteúdos do IT Forum na sua caixa de entrada.