Licenças de uso parte 2: FSF, GNU, OSI… WTH?
Categorias: Aprenda, Debate, Geral, Linux, MEGArtigos



Continuando a série sobre licenças, fiquei devendo uma conversa sobre as licenças de código aberto. Mas por que dividir em posts menores? Porque o assunto é longo, e o tempo é escasso. São muitas licenças, e falarei especificamente delas no terceiro (e último) post da série. Logo… Vamos lá.
Estou partindo do pressuposto que todos sabem o que é código aberto e software livre, e as diferenças entre eles, certo? Se não lembram, fica a indicação a um clique de distância para um post meu, sobre esse assunto (com direito a um pouco de história do Unix). Pois então, conforme eu falei naquele post, em um momento (1984), Richard M. Stallman saiu do laboratório de IA do MIT, fundou o projeto GNU… E logo depois a Free Software Foundation, em 1985. A fundação e o projeto GNU não são a mesma coisa, na verdade a primeira apóia o segundo:
- Criando campanhas a favor do software livre. O projeto GNU é a campanha mais conhecida, mas existem outras, como:
-
DefectiveByDesign – contra o DRM em arquivos de áudio de vídeo vendidos via Internet.
- EndSoftPatents – contra as patentes de software (vou pensar num post a respeito disso).
- Campanha a favor do formato OpenDocument – usado por vários governos como padrão de troca de documentos, formato usado no OpenOffice, e em breve disponível em alguma versão do MS Office.
- PlayOgg – a favor de formatos para compressão de áudio (Ogg Vorbis) e vídeo (Ogg Theora) livres.
- FreeBIOS – por uma BIOS aberta para os computadores.
- Contra a Computação Traiçoeira – Contra o que chamam Computação Confiável (Trusted Computing), que merece um post no futuro.
- Mantendo direitos autorais da maior parte do projeto GNU, com o objetivo de garantir que eles sempre serão livres. Os softwares são registrados no escritório dos EUA responsáveis pelos direitos autorais, e todos liberados segundo a licença GPL (General Public License).
- Publicando as licenças endossadas pelo projeto GNU, como a GPL (atualmente na versão 3.0), a LGPL, a AGPL e a FDL. Falaremos delas no terceiro post da série.
-
Apoiando a manutenção de um site para hospedagem de software livre, o Savannah. Note que ele não é o único, existem outros repositórios. Abaixo vai uma listinha deles:
- Sourceforge.net, que foi criado pela VA Computing (uma das primeiras Linux companies), e hoje é o maior de todos os repositórios.
- Google Code, mantido pelo… Google.
- Codeplex, bancado pela Microsoft.
- GForge.
- CodigoFonte.net, que é nacional.
- BerliOS, alemão.
- Existem outros. Se alguém souber de mais algum, coloque aí nos comentários, obrigado!
- Mantendo um diretório de software livre, em parceria com a UNESCO (para quem acha que a UNESCO só quer saber de criança desamparada…).
Logo, a FSF é quem realmente atua, politicamente e administrativamente. O projeto GNU é quem mete “a mão na massa”, podemos ver dessa forma. Então, a fundação tem por objetivo lutar pelo que eles chamam liberdades essenciais para o usuário de computadores. Quais são essas liberdades? Falo abaixo.
Uma coisa é fato: As licenças de software usadas até então são muito restritivas, no sentido de impedir que o usuário tenha acesso ao código-fonte. Claro, antes que falem contra, esse é um direito de quem faz o software, seja ele uma pessoa ou uma empresa. Mas por que não estimular a abertura do código? Segundo o modelo, existem algumas vantagens:
- Vantagem econômica: Estima-se que o gasto com produção de um software é algo em torno de US$ 100 por linha de código que vai parar no produto final. Daí dá para entender quando dizem que a Microsoft gastou algo em torno de US$ 6 bilhões com o Windows Vista. E por isso, muitas empresas não tem interesse em reescrever código-fonte do zero, por ser um processo muito caro. Se o código-fonte é aberto, seu custo de produção é dividido pelas pessoas que se aventuram a contribuir. E acredite, tem gente interessada – se o produto for bom.
- Você terceiriza a produção de código, trazendo pessoas interessadas em participar do desenvolvimento, e que mesmo sem remuneração direta, irão desenvolver porque gostam do produto.
- Você diminui a ocorrência de falhas de segurança. A Lei de Linus vale fortemente nessa situação.
- Você agrega uma comunidade em torno de um produto, e quando você cria essa comunidade, o seu produto torna-se um padrão naquela comunidade. Se ela cresce, o padrão cresce. E com isso, para a concorrência acaba sendo um problema, pois quem o fez primeiro dita as regras. Um bom exemplo é o Firefox, que criou essa comunidade em torno dele, e hoje em dia até o Internet Explorer está aceitando “extensões” (entre aspas porque o nome é outro).

Um gráfico que exemplifica o modelo compartilhado de produção de código-fonte.
Tem mais vantagens, mas eu vou deixar para quem quiser, leia “A Catedral e o Bazar“, de Eric S. Raymond, que vale a pena para entender o modelo de desenvolvimento. Contarei uma historinha rápida para vocês entenderem a importância desse texto:
No início de 1997 a Netscape decidiu abrir o código-fonte do seu navegador (o Navigator), algo inédito até então. O contexto da época era que a Microsoft estava começando a minar a base de usuários do principal produto da Netscape, o Navigator, embutindo oseu navegador, o Internet Explorer, dentro do Windows. Logo, pela “lei do menor esforço“, o IE tornou-se o navegador mais popular. A mesma prática foi feita com o MSN, no Windows XP, e foi tentada com uma iniciativa de um produto concorrente ao formato PDF (felizmente não deu certo).

Soltem o lagarto!
A influência partiu da leitura desse texto. Em abril de 1998, o código foi oficialmente liberado (numa festa!), e daí surgiu o projeto Mozilla. Por que Mozilla? Porque esse era o nome do projeto (interno à Netscape) que dá origem ao Navigator. Aos poucos começou o desenvolvimento, soltando várias versões (release early, release often), até termos o Mozilla, semelhante ao Navigator, mas todo em código aberto. Um grupo de desenvolvedores resolveu abrir o Mozilla (chamado carinhosamente como “Mozillão”, hoje conhecido como SeaMonkey), separar os produtos. De uma suite apenas, teríamos separadamente o navegador, o cliente de email e a ferramenta de desenvolvimento de sites. Isso deu origem ao Phoenix, que virou Firebird e depois, Firefox. No caso do cliente de email, daí surgiu o Thunderbird. Na ferramenta de construção de sites, originou o NVU, que depois virou o Kompozer.
Mas… Voltando às liberdades: Quais são? São 4, contadas de 0 a 3, como todo bom hacker:
- A liberdade de executar o programa para o que você quiser (liberdade no. 0)
- A liberdade de estudar o programa, aprender como ele funciona e adaptá-lo para as suas necessidades (liberdade no. 1). Acesso ao código-fonte é um pré-requisito para esta liberdade.
- A liberdade de redistribuir cópias para quem você quiser, de modo que você possa ajudar ao seu próximo (liberdade no. 2).
- A liberdade de aperfeiçoar o programa e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade no. 3). Acesso ao código-fonte é um pré-requisito para esta liberdade.
Se a licença obedece esses princípios, ela é uma licença de código aberto, mas não necessariamente de software livre (conforme eu falei antes).
E onde entra a OSI nessa história toda? Existe uma diferença muito sutil entre os dois movimentos, e muitos pontos de intersecção, conforme já foi visto. A Open Source Initiative surgiu numa reunião, em fevereiro de 1998, com a presença de Todd Anderson, Chris Peterson, Jon “Maddog” Hall, Larry Augustin, Sam Ockman e Eric S. Raymond. Hoje, a OSI tem entre outras atribuições, confirmar se as licenças são de código aberto ou não. Ela tem que preencher 10 requisitos:
- Distribuição livre- sem restrições de venda ou distribuição do programa.
- Código fonte – deve ser legível, inteligível e estar disponível a todos que quiserem ter acesso a ele, sem custo adicional (a não ser de reprodução), mas não obriga o código-fonte vir junto com o programa.
- Trabalhos derivados – Modificações e trabalhos derivados estão liberados, e podem ser distribuídos da mesma forma do original.
- Integridade do autor do código fonte – Essa é complicada, e vou copiar da Wikipédia: O código-fonte pode ser distribuído em uma forma modificada apenas se a licença permitir a distribuição de arquivos patch (de atualização) com o código fonte para o propósito de modificar o programa no momento de sua construção. A licença deve explicitamente permitir a distribuição do programa construído a partir do código fonte modificado. Contudo, a licença pode ainda requerer que programas derivados tenham um nome ou número de versão diferentes do programa original.
- Não discriminação contra pessoas ou grupos – Qualquer um pode usar. Mesmo.
- Não discriminação contra áreas de atuação – Pode ser usado em qualquer situação. Mesmo.
- Distribuição da Licença – Os direitos associados ao programa valem para todos aqueles cujo o programa é redistribuído, sem precisar de uma licença adicional.
- Licença não específica à um produto – Se você colocar um programa com uma licença no meio de outros com outras licenças, esse primeiro não pode ter restrições, devido às outras licenças..
- Licença não restrinja outros programas – Não pode restringir outros programas distribuídos junto com esse programa. Por exemplo, a licença não pode exigir que todos os programas de um pacote (como uma distribuição Linux) sejam de código aberto.
- Licença neutra em relação a tecnologia – Não podem haver restrições quanto à tecnologia empregada.
Se você ler com calma (se chegou até aqui, você leu), você vai ver que esses 10 requisitos são flexíveis: Você pode incluir um programa de código aberto num pacote, mas também um de código fechado (como um driver para placas de vídeo, por exemplo).
Numa olhada no site, contei 74 licenças de código aberto, fora algumas que estão em processo de aprovação. E recomenda-se que qualquer solução de código aberto forneça a licença junto, para que o usuário não seja enganado, esteja ciente do que ele está lidando.
No próximo post (espero que o último), falaremos das licenças que existem. Não irei falar de todas, mas das mais populares e algumas que são curiosas.

Uhull! GNU,
É impressional a história né?
Um começa desenvolvendo o kernel (Linux)
O outro começa desenvolvendo tudo menos o kernel (GNU)Depois se casaram e viveram feliz para sempre (pelo menos até hoje 2009)
agosto 10, 2009 @ 2:58 pm
Gosoto de tudo no site moro em campo grande capital de mato grosso do sul
agosto 10, 2009 @ 3:28 pm
Putz, quanta coisa envolvida em licencas de uso heim ? Nunca imaginei que tivesse tanta coisa assim O.o
agosto 10, 2009 @ 8:22 pm
Fala Ricardo!
Cara, muito interessante o post!
São tantas coisas que existem nesse “mundo livre” que as vezes até nos perdemos ou nos confundimos.
Mas seus posts estão ajudando bastante na compreensão dos tipos de licenças.Valeu!
Abraços a todos!
agosto 10, 2009 @ 10:04 pm
Eu sei que isso q vou comentar não tem nada a ver com o assunto.
.
.
Eu podia tá matando, eu podia tá roubando ou até mesmo usando uma tekpix(kkk), mas eu só quero um favorzinho…… :p
.
puro = eu que fiz do Zero(0);
.
Alguém pode testar esse meu sistemas de comentário “puro” ?…
http://karacamano.awardspace.info/comentando.phpEle não está completo.
Valeuagosto 11, 2009 @ 1:58 am
Calma ai paulo…
.
O que q aconteceu ?….Não precisa xingar ninguém ¬¬’
.
Aulas de HTML do Guanabara no youtube:
http://www.youtube.com/profile?user=tvguanabarainfo&view=videos&query=HTMLFalow
agosto 11, 2009 @ 2:01 am









