De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Gustavo Nunes Freire Ribeiro
Data de Publicação: 11 de Novembro de 2004
No mundo do software livre, existe um verbo que todos os dias deve ser conjugado; compartilhar ! Foi com esse espirito que hoje o software livre chega as empresas, universidades, telecentros e nas casas de milhares de pessoas. Uma coisa que garante esse direito de compartilhar na maioria dos softwares livres é a licença GPL.
A GPL é a licença de software livre mais usada e difundida, que dá os direito de executar o programa para qualquer propósito, acessar e modificar o código-fonte, redistribuir cópias e aperfeiçoar. Existem outras licenças, também de autoria da FSF(Free Software Foudation)[1], como a LGPL e GFDL, mas não serão abordadas neste artigo.
Um desenvolvedor pode perguntar: "Para que eu preciso aplicar uma licença se eu posso simplesmente disponibilizar meu programa e o código-fonte sem trabalho nenhum ? ". Neste caso o desenvolvedor estará renunciando seu código ou seja, qualquer um pode "toma posse do código-fonte" e se tornar o autor do software sem que o autor original possa contestar. Já aplicando uma licença, como a GPL, o autor tem garantias de que o software está protegido de oportunistas.
Vamos usar um exemplo de código de uma liguagem imaginaria, que tem a função de fazer meu café da manhã enquanto eu tomo meu banho, :) :
principal () { tempo hora, atrasado ; /* ISTO É UM COMENTÁRIO */ hora = pegahora(); atrasado = 7:00; se hora >= atrasado entao { imprima("Café da Manhã só no outro dia agora"); } senao { imprima("Bom apetite"); refeicao(cafedamanha); } }
Eu, achando que outras pessoas que também passam por esse problema de horários, quero disponibilizar meu programa para todos poderem usar e até melhorar, lançando uma versão com todas as refeições, :).
Bem, nosso primeiro passo é aplicar, a cada arquivo fonte, o aviso de copyright e uma declaração que permita a cópia, dizendo que o programa é distribuido sobre os termos da GPL. Um exemplo abaixo , aplicando em um arquivo, do nosso código fonte:
/* Copyright 2004 NOMEDOAUTOR This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ principal () { tempo hora, atrasado ; hora = pegahora(); atrasado = 7:00; se hora >= atrasado entao { imprima("Café da Manhã só no outro dia agora"); } senao { imprima("Bom apetite"); refeicao(cafedamanha); } }
Nosso segundo passo é criar um arquivo chamado COPYING.txt que contenha na íntegra o Licença GPL[2], a licença é um pouco extensa, por isso eu deixo o trabalho de copia-la do site da FSF. A licença, o código-fonte e os binários do seu programa devem acompanhar o pacote do seu software.
Caso seu software seja formado por mais de um único arquivo fonte, a declaração mais apropriada seria essa abaixo:
/* Copyright 2004 NOMEDOAUTOR This file is part of NOMEDOPROGRAMA. NOMEDOPROGRAMA is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. NOMEDOPROGRAMA is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Foobar; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ principal () { tempo hora, atrasado ; hora = pegahora(); atrasado = 7:00; se hora >= atrasado entao { imprima("Café da Manhã só no outro dia agora"); } senao { imprima("Bom apetite"); refeicao(cafedamanha); } }
Aconselho que seja feito um arquivo README.txt com informações de contato como email ou homepage, para que os usuários possam reportar possíveis bugs ou então melhorias para seu software. Uma cópia em português da Licença GPL também pode acompanhar o seu programa, para melhor entendimento da versão original inglês, que é obrigatória, aconselha a FSF.
Para mais informações, existe uma página de FAQ da GPL em português e também algumas outras informações podem também ser encontradas na página do PSL Brasil.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários