Um pouco de história

O termo “open source” ficou conhecido em janeiro de 1998, em Palo Alto na Califórnia, quando a Netscape liberou o código fonte de seu navegador de internet Nescape Navigator, na tentativa de frear as investidas da Microsoft no mercado de navegadores de internet até então dominado pelo Navigator.

Um grupo de pessoas formado por Eric S. Raymond, Jon Hall e outros programadores propôs o termo Open Source para designar softwares de código fonte aberto, mas que não eram exatamente livres, como o Navigator, cujo código fonte foi licenciado sob NPL (Netscape Public License), uma licença um pouco restritiva.

Antes disso, apenas o termo “Free Software” (software livre) era mais conhecido, e este já existia desde 1983 com o início do projeto GNU e da criação da Free Software Fundation (FSF), de Richard Stallman.

O Projeto GNU

stallman
Reprodução/GNU
Richard Stallman, fundador do
Projeto GNU e da
Free Software Foundation
Nos anos 70 a 80, Richard Stallman era um programador do MIT (Massachusetts Institute of Technology ou Instituto de Tecnologia de Massachusetts) e vivia dentro dos laboratórios estudando programação. Naquela época o conceito de software proprietário (com código fonte fechado) ainda não existia.

Grande parte dos programas de computador já eram vendidos e distribuídos com o código fonte incluso. Com tantos processadores e plataformas diferentes, essa estratégia tornava o programa portável. O usuário poderia assim readaptar o programa para rodar na sua plataforma preferida, de modificando-a também para as suas necessidades pessoais.

Estudantes de programação se beneficiaram muito com isso, já que podiam estudar como o programa havia sido desenvolvido e aprender novas técnicas de programação.

Os efeitos desse modelo de colaboração era que os usuários avançados melhoravam o código fonte dos programas e essas melhorias eram normalmente repassadas para os fabricantes e fornecedores de software, e posteriormente para os outros usuários. Esse modelo de colaboração, entre programadores, foi chamada de Cultura Hacker.

Nos final dos anos 70 e início dos anos 80 a Cultura Hacker ameaçava fragmentar-se. Para evitar que os softwares fossem executados em plataformas concorrentes, muitos fabricantes começaram a não mais distribuir o código fonte junto com o software, e este último passou a vir com direitos autorais (copyrights) e licenças para limitar ou proibir a cópia do software e sua redistribuição.

Prevendo a fragmentação e a extinção da Cultura Hacker, Richard Stallman propôs à comunidade de programadores a criação de uma plataforma de software livre, que fosse portável para qualquer processador/plataforma e que qualquer pessoa teria direito de usar, modificar e redistribuir, como eram feitos os softwares alguns anos antes.

simbolo do gnu
Reprodução
Símbolo do GNU

Em Setembro de 1983 foi iniciado o Projeto GNU. GNU significa “GNU is Not Unix”, em português “GNU não é UNIX”. Naquela época o Unix era o sistema operacional mais utilizado nos computadores das universidades, e como todo programa de computador da época, tinha o código fonte disponível para os usuários, mesmo não sendo um software livre.

O projeto juntou os programadores que aceitaram a idéia de Stallman, desenvolvendo de forma colaborativa o Sistema Operacional GNU, o primeiro sistema operacional livre inspirado e compatível com o Unix, criado do zero, sem utilizar partes de código do Unix.

Em 4 de outubro de 1985, Richard Stallman fundou a Free Software Foundation, uma entidade sem fins lucrativos criada para dar suporte ao movimento de software livre e ao Projeto GNU.

O kernel Linux

No início da década de 90, sistema operacional GNU estava quase pronto. Já havia bibliotecas de código, compiladores, um shell, sistema de janelas e editores de texto. Porém, o principal ainda não estava pronto: o kernel.

O kernel é o núcleo de um sistema operacional. É o componen­te responsável pela comunicação entre os programas e o hardware, criando uma camada de abstração para os programas e gerenciando os recursos da máquina, como memória, espaço em disco, entrada e saída de dados.

O sistema operacional GNU ainda não dispunha de um kernel finalizado e pronto para o uso. Em seu projeto original, o sistema deveria incluir um kernel chamado GNU/Hurd, que foi criado para suportar a maioria das plataformas de processamento que existiam na época e que viessem a existir no futuro. Para que essa portabilidade ocorresse, o Hurd foi desenvolvido de forma modular e complexa, fator que contribuiu para a demora do lançamento de uma versão estável.

Torvalds
Reprodução
Linus Torvalds, criador­
do kernel ­Linux

Enquanto isso, na Finlândia, o programador Linus Torvalds estudava o design de sistema operacional do MINIX, um sistema Unix-like desenvolvido pelo professor Andrew S. Tanenbaum, para uso acadêmico. Em 1991, Torvalds iniciou a construção de um kernel mais simples que o do MINIX, e deu a ele o nome de Linux.

O kernel foi então lançado sob licença GPL (GNU General Public License), o que o tornou legalmente compatível com as bibliotecas e aplicativos da GNU, completando assim provisoriamente o sistema operacional GNU, até que o kernel Hurd estivesse pronto.

O sistema operacional Linux

O kernel Linux acabou ganhando mais popularidade que o projeto GNU, isto fez com que o nome “Linux” fosse usado para designar todo o sistema e não apenas o kernel.

A Free Software Foundation (FSF) recomendou chamá-lo de GNU/Linux para não esquecer de todo o ecossistema de aplicativos “GNU” que compõe o sistema operacional. A diferença de termos entre Linux e GNU/Linux gerou muita discussão na comunidade de software livre.

Tux
©2008 HowStuffWorks
Tux, o símbolo do Linux

O Linux também alavancou o desenvolvimento de outros projetos livres, pois foi um dos primeiros projetos a utilizar um novo modelo de desenvolvimento colaborativo em que qualquer pessoa pudesse enviar suas alterações sem necessariamente fazer parte do time de desenvolvimento. Isso fez o Linux crescer exponencialmente e atender à demanda do mercado, tornando-se um sistema operacional viável para diversos tipos de usos e plataformas. Esse modelo de desenvolvimento foi chamado Bazar no livro "A Catedral e o Bazar", de Eric Raymond, e acabou inspirando outros projetos.

Atualmente o GNU/Linux é o sistema operacional mais utilizado em servidores e supercomputadores, sistemas embebidos e desktops de baixo custo, sendo o mais forte concorrente do Microsoft Windows.

Mas o que aconteceu com o Hurd? O kernel original do projeto GNU ainda está em desenvolvimento e suas primeiras versões não estão prontas para uso. Em comparação com o Linux, o Hurd tem poucas pessoas envolvidas em seu desenvolvimento.

O BSD

Enquanto o GNU e o GNU/Linux se destacavam por ser um sistema Unix-like compatível, em termos de código, com a grande maioria de programas para Unix mas sem conter partes de código do Unix e com isso livre de processos legais, o BSD enfrentava um problema com a AT&T (na época, dona dos direitos autorais do Unix) e com a Justiça.

­Beastie
Reprodução
Beastie, mascote
­do ­projeto FreeBSD

­BSD é sigla para Berkeley Software Distribution, um Unix-like que derivou diretamente do código do Unix original, desenvolvido em Berkeley, na Universidade da Califórnia nos anos 70. Foi o primeiro sistema operacional a implementar o protocolo TCP/IP e a realizar testes com a Internet.

Por conter partes de código do Unix, o BSD sofreu pressão legal, e seu fonte teve de ser reescrito. Esse atraso fez com que o projeto GNU e o kernel Linux ganhassem mais popularidade e usuários.

Do BSD surgiram duas variações: O FreeBSD e o NetBSD, o primeiro destinado a diversos usos, como Desktops e Servidores e o último focado em portabilidade. Acredite, há torradeiras que são capazes de rodar NetBSD!

Net BSD Toaster
Reprodução
Torradeira com NetBSD­
­

Do NetBSD surgiu o OpenBSD, um Unix-like focado em segurança e que é muito utilizado nos dias de hoje para a construção de firewalls. O projeto OpenBSD também é o responsável por criar a biblioteca de encriptação OpenSSL (Security Sockets Layer), capaz de criar túneis encriptados de tramissão de dados por TCP/IP como o https e o ssh (com o OpenSSH), muito utilizados no Linux e Windows.

Enquanto o GNU/Linux e o projeto GNU reinventaram o Unix inserindo novos padrões de design de sistema operacional, os BSDs se caracterizam por seguir à risca todos os padrões do Unix, porém nenhum deles pode ser legalmente chamado de Unix.

O nome Unix é marca registrada da The Open Group, instituição que provê vários testes para garantir se um sistema operacional pode ou não ser chamado de Unix. Tanto o FreeBSD, quanto o NetBSD e o OpenBSD passariam nesses testes, porém os projetos não dispõem de recursos financeiros para realizá-los. Dessa forma, o termo Unix-like foi o escolhido para especificar o tipo de sistema operacional.

A sigla BSD também é usada como referência a programas que usam a licença BSD, que em comparação à GPL da GNU é muito menos restritiva. A licença BSD permite, entre outras coisas, que a empresa que desenvolve um software proprietário possa utilizar código BSD como base sem ter a obrigação de devolver para a comunidade as novas alterações por ele desenvolvidas. A única obrigação da empresa seria apenas, em algum lugar do software, colocar as notas de copyrights dizendo de onde o software se originou e que partes de código ele utiliza.

Já para a GPL, se um software usa código GPL desenvolvido pela comunidade, todo o software deve ser GPL, garantindo assim à comunidade todas as alterações que forem feitas por empresas e o direito infinito de alterar e redistribuir o software nessas condições.

A licença BSD permitiu que o código fonte do protocolo TCP/IP fosse utilizado em sistemas operacionais proprietários e abertos, cada qual alterando a sua licença, e o sistema BSD usado como subsistema do Mac OS X, da Apple.

sistemas operacionais unix-like
Reprodução
Gráfico exibe as descendências dos sistemas operacionais Unix-like