Entendendo a GPL (GNU General Public License)

Após escrever sobre a Creative Commons e MIT License chegou a vez da GPL - ou GNU General Public License - a precursora das licenças livres para distribuição de software. De quebra você vai entender o que é Copyleft e quais as diferenças entre as 3 licenças que expliquei até agora.

Uma forma fácil de entender a necessidade da criação da GPL é conhecer sua história, ou melhor: o que aconteceu com Richard Stallman que o levou a dedicar boa parte do seu tempo a criar e espalhar a idéia do software livre.

Lisp MachineNos anos 80 Stallman trabalhava no laboratório do MIT e um de seus projetos era um interpretador para linguagem de programação Lisp. Dentro do mesmo laboratório surgiu uma empresa chamada Symbolics com o intuito de produzir computadores de alto desempenho para pesquisas e projetos de IA (Inteligência Artificial) - chamadas de Maquinas Lisp.

Na época ocorreu a seguinte mudança nas indústria de computadores: os softwares que antes eram feitos para rodar somente em certos computadores passaram a ter características mais genéricas que possibilitariam o seu uso em maquinas de modelos e fabricantes diferentes. Antes só existia a indústria de maquinas completas, então uma vez que o foco da indústria não era especificamente linhas de código, e sim circuitos eletrônicos os programadores compartilhavam seus códigos livremente. Com essa mudança de perspectiva tornou-se importante para a concorrência existirem programas melhores, em vez de somente maquinas melhores. Foi quando as empresas passaram a exigir de seus funcionários que não divulgassem informações (códigos) para outras pessoas, usando como artifício as leis de direitos autorais (copyright).

A Symbolics que tinha acesso aos códigos que estavam nos laboratórios do MIT - por ser uma empresa de programadores do mesmo laboratório - usou boa parte do trabalho de Richard Stallman no interpretador Lisp aperfeiçoando e estendendo o programa. Porém quando Richard quis ter acesso às modificações feitas pela empresa, ela negou.

Desde então - especificamente 1984 - Stallman vem lutando para evitar casos como esse, de uma empresa que se aproveita do conhecimento criado por uma comunidade para então criar algo que não beneficie tal comunidade.

GNUAchando muito difícil conseguir uma inversão de paradigmas somente mudando o pensamento dos programadores, Stallman decidiu se apoiar também nas leis de direitos autorais. Ele criou a Emacs General Public License que foi a primeira licença copyleft usada. E um pouco depois criou a GPL para ser usada no projeto GNU. Um licença de copyleft é a denominação para um tipo de direito autoral (sim, assim como as licenças de software proprietário se baseiam em leis de direitos autorais a GPL e outras licenças para software livre também!) que obriga a distribuição do código fonte de um programa derivado de outro que se encontrar sobre tal licença.

Espera! Essa é a alma do negocio, então eu preciso repetir.

Uma licença copyleft (assim como e principalmente a GPL) é a utilização das leis de direitos autorais para impedir que uma pessoa ou empresa se utilize de código aberto de software para criar/desenvolver um outro software derivado que seja proprietário, ou seja, que não disponibilize o seu código fonte na distribuição. Copyleft, Free Software ou Software Livre quer dizer uma mesma abordagem para evitar a necessidade de se pedir alguma autorização e enfrentar burocracias caso exista a necessidade ou vontade de melhorar, estudar, ampliar, adaptar um programa de computador.

Communist programmerMuitas pessoas podem confundir isso com software gratuito. Essas mesmas pessoas acham que programadores de projetos com código aberto (open source) são falsos comunistas, que dizem que é o software é livre querem mesmo é ganhar dinheiro. Que isso só aumenta as chances de sabotagem, e que não pode existir pessoas que trabalhem de graça.

Olha que viagem! Comunistas? Sabotador? Dá pra entender até onde vai as piras de quem não entende nadinha de uma boa sociedade baseada na livre circulação de conhecimento?

Chamar um software de livre não é necessariamente chama-lo de gratuito. Software livre como o nome diz está muito mais ligado em assegurar liberdades do que valores. Mais especificamente as liberdades podem ser resumidas para 4:


  • A liberdade para executar o programa, para qualquer propósito.

  • A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades. Acesso ao código-fonte é um pré-requisito para esta liberdade.

  • A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo.

  • A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie. Acesso ao código-fonte é um pré-requisito para esta liberdade.

Mas preste atenção: essa liberdades são asseguradas a quem adquirir uma copia do software.
Mas para adquirir uma copia do software você pode ter ou não que pagar por isso.

Ainda assim, se você pagar por isso poderá vender e até mesmo distribuir gratuitamente esse software. Por essa característica de dar a liberdade de "emprestar para seu vizinho" o programa pago, a maioria dos softwares livres já não são pagas desde sua primeira distribuição. E os desenvolvedores se utilizam de outras formas para criar uma cadeia econômica com o software livre. Como prestação de suporte e cobrança para aperfeiçoamentos e adaptações às características do comprador.

Caramba, você deve estar se perguntando quando eu vou começar a escrever sobre a GPL especificamente e parar com esse papo furado de software livre... Amigo, essa é a GPL (GNU General Public License)!

Claro que existem algumas diferenças entre outras licenças de código livre. Mas se você quer saber mesmo, ao se deparar com outra licença e tiver alguma duvida na diferença dela para a GPL, preste atenção no termo Copyleft. É esse termo que define a obrigatoriedade de se manter as 4 liberdades em trabalhos derivados.

Software é uma ferramenta para distribuição de conhecimento. impedir a livre distribuição de software é impedir o desenvolvimento das diversas áreas do conhecimento. viu como softwrare proprietário prejudica a economia?

Aproveitando o artigo, que uniu a explicação da GPL e do termo Copyleft gostaria de complementar as explicações que dei sobre Creative Commons e a Licença MIT (ou X11),

Creative Commons


Eu fiz uma certa confusão de palavras quando me referi ao uso da Creative Commons em projetos de código aberto e software livre.
O certo é entender que diferentemente do falado no artigo anterior código aberto não significa copyleft: obrigatoriedade em assegurar as 4 liberdades. Assim sendo, a Creative Commons pode ser utilizada sim em projetos de código aberto, porém não em softwares livres. Mais uma vez para reforçar: se o software é livre, ele deverá manter-se livre e a Creative Commons não obriga isso. Então ele é código aberto, mas pode deixar de ser...

Ainda relacionado a isso, existe um tipo de Creative Commons chamada Share-Alike. Ou compartilhamento sobre mesma licença. Ela chega mais próxima de ser livre, ao em vez de somente aberta. Porém como ela assegura somente que o projeto deverá ser redistribuído sobre a mesma licença e não necessariamente ter a mesmas liberdades, não podemos chamar nem mesmo a Creative Commons Share-Alike de copyleft.

Licença MIT


Diferentemente do que o artigo dá a entender, não é necessário somente incluir o aviso de copyright nas copias do software ou de seu código. Deve-se logicamente também seguir tais termos de copyright! (Veja a licença).

Complementando, a Licença MIT não obriga a distribuição do código fonte e também não sobrepõem seus termos sobre outras licenças. Isso quer dizer que como o software pode ser re-licenciado, pode ser que essa outra licença faça com que os termos da Licença MIT percam a validade.

Ou seja: Ela dá a liberdade de quem obtiver o software por ela licenciado, porém não obriga nem a disponibilização do código fonte, nem a manutenção dessa liberdade na próxima distribuição (como a GPL obriga). Por esse motivo, ela também não é uma licença copyleft.

Saiba Mais sobre outras licenças de conteúdo e software:


Esse artigo faz parte de uma série de outros dois artigos explicando as características de algumas licenças de livre circulação de material cultural, de código aberto e de software livre.
Veja mais:
Entendendo a Creative Commons
Entendendo a Licença MIT

Comments

blog comments powered by Disqus

About Me