Open Source - Um pouco de sua história

open source

Não há como introduzir um texto que trate sobre código open source sem recorrer à clássica definição que trata sobre a gratuidade versus o exercício da liberdade.

Sendo assim, um código open source é, na verdade, um código livre, não um código gratuito, traduzindo-se daí que da prática dessa liberdade adquiri-se um conjunto de obrigações que visam, como pode ser visto na análise de cada modelo de licença, garantir essa mesma liberdade da qual se faz uso a todos aqueles que adotam o mesmo modelo.

Podemos colocar tudo isso na conta do projeto GNU (GNU is not Unix) que propõe um sistema operacional baseado no UNIX, no entanto, inteiramente livre. Sua proposta de liberdade traduz-se no conceito acima, onde todos são livres para usar esse sistema e criar sobre sua plataforma. No entanto, como forma de perpetuar o exercício dessa liberdade, essa criação deve também ser regida pelos mesmos princípios, garantindo assim que o sistema permaneça 100% livre.

Essa, em essência,  é a ideia do modelo de licença GPL (GNU General Public License), criado pela Free Software Foundation para ajudar os desenvolvedores, que colaboram com o sistema GNU, a garantir que suas criações e contribuições estejam atreladas a esse modelo de liberdade.

Em uma simplificação barata, se o seu código depende de um módulo baseado na licença GPL, ele, por conseguinte, também é considerado GPL.

O termo “depende” aqui pode gerar mais confusões do que esclarecimentos. Então, por enquanto, vamos deixá-lo reservado e mergulhar um pouco mais no contexto histórico que levou o software livre a ser um assunto em alta, sendo abraçado por grandes players no mercado como Oracle e Google, e mesmo motivando a criação de empresas inteiramente baseadas nesse modelo como a RedHat (eis aqui um tema polêmico…).

Sendo assim, um importante passo no entendimento do momento atual é esclarecer o relacionamento do projeto GNU, da Free Software Foundation, com o Linux, visto que do conjunto desses elementos construiu-se a plataforma sobre a qual falamos.

O Projeto GNU

Em 1983 Richard Stallman daria início ao projeto GNU (GNU is not Unix), que tinha por objetivo criar um sistema operacional que fosse baseado no UNIX, mas que também fosse 100% livre para ser explorado e usado  pelos seus usuários.

Sendo assim,  é  importante afirmar que o projeto GNU não se tratava apenas de um sistema operacional, mas de todo o software criado sobre o modelo de liberdade inaugurado pelo GNU, contando, assim, com editores de texto, ferramentas de desenvolvimento e debug e uma infinidade de outros elementos que viriam a compor então não apenas o sistema operacional, mas todo o ecossistema para o usuário.

Vale aqui um acesso ao site da GNU lendo um pouco sobre a sua história neste link. O conteúdo ainda está em inglês, mas o trabalho de tradução em outras linguas sempre permanece.

A Free Software Foundation

Essa fundação foi também criação de Richard Stallman e seu principal objetivo era prover o suporte necessário aos desenvolvedores e usuários de software livre, garantindo que seus direitos fossem cumpridos, mantendo legalmente as definições de Free Software e das licenças GPL, LGPL (GNU Lesser General Public License), GNU AGPL (GNU Affero General Public License) e GNU FDL (GNU Free Document License).

Onde entra o Linux ?

O Linux foi o sistema operacional criado por Linus Torvalds e tornado público nos modelos de liberdade propostos também pelo projeto GNU em 1992.

Usando então esse novo sistema como base, vários dos componentes até então encapsulados no projeto GNU e atuando em cima de sistemas operacionais baseados em UNIX foram portados para essa nova plataforma.

Com isso, o Linux ganhava um conjunto poderoso de ferramentas que permitiriam aos seus usuários desenvolver e criar em cima dele, elevando-o ao estágio que possui hoje, considerando inclusive todas as suas derivações (distros).

Um bom relato sobre o que representa o Linux para o projeto GNU pode ser encontrado no texto.

Software Open Source e Software Livre

Se você teve a oportunidade de navegar por algumas dessa páginas citadas acima certamente você passou por essa daqui.

Nesse texto, fora o rico esclarecimento sobre os modelos básicos que vão guiar as licenças a serem patrocinadas pela FSF e outras organizações, está também a diferenciação entre o software livre e o open source.

Alí, mostra-se a diferença entre o foco de um modelo e de outro, que, embora sutil, tem grande impacto sobre os modelos de licença usados em um modelo e outro.

No caso do modelo de software livre pensado pela GNU, o conceito de liberdade tem precedência sobre o código, de forma que mais importante que a colaboração para o software é a garantia da perpetuação do seu livre acesso.

No caso do modelo "open source" o foco principal está no código em sí e na colaboração para criá-lo e torná-lo melhor.

Isso acaba gerando diferenças nas formas de licenciamento geradas com base em um modelo e no outro.

Tome por base o modelo de licença GPL e Apache. No modelo GPL o código é aberto e o seu usuário tem que garantir que todos os sistemas que sejam dependentes desse código GPL também garantam a mesma liberdade que ele. No entanto, o modelo Apache, ainda que o código seja de livre acesso e alteração, garantindo-se a perpetuação do seu formato de licenciamento, o usuário desse código não é obrigado a garantir o mesmo acesso que ele teve.

Um exemplo prático das consequências desse modelo Open Source é o framework do Android e o Linux kernel que o acompanha. O Kernel é baseado na licença GPL, no entanto, o core Android é baseado na Apache, dessa forma, como garantiu-se que código Apache do framework do Android esteja presente apenas no userspace do kernel, o código deste último é publicado pelos provedores de produtos baseados nessa platforma, no entanto, o seu core (Android) não.

Em linhas gerais, um software livre busca em primeiro garantir a sua liberdade a todos que o usam e um código Open Source busca sua excelência.

Conclusão

Software Livre deve ser uma associação direta com liberdade e não com gratuidade e a sua ideia principal é que a mesma liberdade seja extendida a todos os usuários e desenvolvedores que aderem a esse modelo.

O Instrumento usado para que essa liberdade seja extendida a todos são as licenças que aderem a esse conceito.

Neste link podemos encontrar uma tradução do site do projeto GNU com a definição que guia esse modelo.

Nos items seguintes a esse desenvolvimento vamos buscar entender de forma prática como podemos usar os atuais modelos de licença em nosso software e quais as incumbências que tal prática ou adoção geram em nosso projeto.

Referências

[1] https://www.gnu.org/gnu/about-gnu.html#content

[2] https://www.gnu.org/gnu/linux-and-gnu.pt-br.html

[3] https://gnu.org/philosophy/categories.pt-br.html

[4] https://www.gnu.org/philosophy/free-sw.html

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

2
Deixe um comentário

avatar
 
2 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Cláudio SampaioRodrigo Sim Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Cláudio Sampaio
Visitante
Patola

Não gostei do artigo. É confuso, em nenhum momento esclarece afinal o que é open-source (código aberto) ou software livre e ainda começa confundindo as coisas com um termo sem definição oficial: "Sendo assim, um código open source é, na verdade, um _código livre_ (...)". Não fala das 4 liberdades de software da FSF nem dos 10 pontos da definição de open source da Open Source Initiative. Fala brevemente sobre diferenças na filosofia entre open source e software livre e como exemplo cita diferenças entre a licença Apache e a licença GPL, sugerindo que há algo "diferente" entre open source… Leia mais »

Rodrigo Sim
Visitante
Rodrigo Sim

Parabéns pelo excelente artigo meu amigo ! Um dos privilégios que tive na minha carreira foi ter sido mentorado por você, bons e velhos tempos de BlackDuck e Linux Montavista.

Grande Abraço
Rodrigo Sim