Oi pessoal,
Vou trazer para este tópico uma discussão iniciada pelo @ferluccabar no tópico de perguntas do Módulo 2 do curso ‘Publicadores de Dados’.
Basicamente, é um questionamento sobre a obrigatoriedade de publicação do código para softwares livres, com base em alguns pontos do site da licença GPL. Recomendo a leitura do link acima para conferir a excelente pergunta, antes de passarmos aos textos abaixo. Existem também questões relevantes sobre comercialização de software livre e a diferença entre software público e software livre.
Para responder às questões, vou começar com algumas definições para entendermos melhor as diferenças de cada termo:
- Software livre: é um conceito amplamente difundido no mundo e com fundamentos sólidos. Ele foi criado nos anos 1980 e tem como princípio 4 liberdades, incluindo…
“a liberdade de estudar como o programa funciona, e adaptá-lo às suas necessidades. Para tanto, acesso ao código-fonte é um pré-requisito”
Fonte: www.gnu.org
-
GPL (General Public License): é um tipo de licença baseadas nos princípios de software livre.
-
Software público: este conceito é uma criação mais recente da administração pública brasileira. Basta ver que existem pouquíssimas referências internacionais sobre o conceito de “public software”.
A definição do site gov.br para o termo é:
“O Software Público Brasileiro é um tipo específico de software livre que atende às necessidades de modernização da administração pública de qualquer dos Poderes da União, dos Estados, do Distrito Federal e dos Municípios e é compartilhado sem ônus no Portal do Software Público Brasileiro, resultando na economia de recursos públicos e constituindo um recurso benéfico para a administração pública e para a sociedade. O que rege o Software Público Brasileiro atualmente é a Portaria N° 46 de 28 de setembro de 2016, que dispõe sobre os procedimentos para o desenvolvimento, a disponibilização e o uso do Software Público Brasileiro”.
Portanto, não compartilhar o código-fonte de um software livre fere a liberdade 1 dos princípios do software livre, que foi destacada acima. A referência do FAQ da GPL citada para apoiar a afirmação de que “não compartilhar o código é um direito” e que o código não precisa estar público se refere às versões modificadas ou cópias do software.
Ou seja, você pode ter acesso a um código e fazer modificações para executá-lo localmente ou ainda fazer cópias, sem republicar o código modificado. Mas se o código não for jamais publicados inicialmente, você não poderá modificá-lo e ele não poderá ser considerado livre.
Como o @herrmann lembrou em uma conversa aqui sobre este tema, a obrigatoriedade da publicação de versões modificadas depende do tipo de licença adotada. Na Affero GPL (AGPL3), que é citada na resposta da @Fernanda_Campagnucci neste tópico anteriormente, por exemplo, se for disponibilizado algum um serviço publicamente, então, o código também deve ser publicado.
Sobre a questão da comercialização, sim, você tem razão, a definição de software livre obriga que as versões modificadas possam ser utilizadas inclusive para fins comerciais.
Aproveito para marcar também o @vitorbaptista, além das @s já mencionadas, que talvez também possa acrescentar novos elementos e visões a esse debate.