Páginas

segunda-feira, 9 de março de 2009

Não só de Linux vive o Software Livre!

O vídeo abaixo, muito popular no YouTube, conta a história do Linux, relacionando-o aos conceitos de inovação, modernidade, desenvolvimento, qualidade, estabilidade, etc. Isso é ótimo e, em termos gerais, o vídeo cumpre muito bem com seu papel, mas comete alguns erros, que eu não poderia deixar de comentar aqui.



O video afirma que o Linux, iniciado em 1991, criou o conceito de Software Livre
"(...) ao desenvolvê-lo, Linus quebrou todos os conceitos comerciais da história, e deixou aberto o código-fonte do sistema. Surgiu aí uma grande mudança, um fenômeno sem precedentes na história da evolução humana, a do Software Livre".
Embora eu seja fã do Linux, tenho que defender a História:

Desde o início da computação moderna (anos 50), o software sempre foi desenvolvido abertamente, em processo colaborativo, geralmente envolvendo empresas e universidades. Isso por duas razões principais: primeiro, naquela época, os computadores eram máquinas enormes, caríssimas, e ninguém via valor comercial no software; segundo, porque a infraestrutura de software era muito limitada (ausência de compiladores, sistemas operacionais, grande incompatibilidade entre diferentes hardwares...), o que tornava a atividade de programar extremamente complexa, exigindo a colaboração entre os poucos profissionais capacitados.

Com o surgimento dos microcomputadores, nos anos 70, que passaram a vender milhares de unidades, surgiu também a oportunidade para vender software. Foi aí que um tal de Bill Gates, presidente de uma tal de Micro-Soft (ambos eram absolutamente desconhecidos, na época), escreveu uma carta, criticando o hábito de compartilhar softwares de maneira aberta (ato que ele compara a "roubar"), e defendendo o direito à propriedade intelectual (copyright) sobre o desenvolvimento de software. Nesse momento, surge o conceito de Software Proprietário.

Para rebater esse movimento, Richard Stallman, em 1985, criou a Fundação do Software Livre, com o objetivo de coordenar a divulgação e defesa dos conceitos de Software Livre e de copyleft (o oposto ao copyright), a elaboração da licença GPL (General Public License), assim como o desenvolvimento de um sistema operacional livre, anterior ao Linux, chamado GNU.

O Projeto GNU criou toda a infraestrutura necessária ao funcionamento de um Sistema Operacional, faltando apenas um componente chamado kernel (núcleo). Comparando com um automóvel, que é formado por inúmeros componentes (suspensão, rodas, freios, chassis, direção, câmbio, sistema elétrico... e motor), um SO também é formado por inúmeros componentes, e o kernel é apenas um deles, responsável por coordenar a execução das diversas tarefas, e a alocação dos diversos recursos. Pela sua importância, o kernel pode ser comparado ao motor de um automóvel - o componente principal - se é que alguém pode dizer que o motor é mais importante que os freios, ou a direção...

O GNU teria seu próprio kernel, chamado HURD, mas seu desenvolvimento, baseado no moderno conceito de microkernel, ou kernel modular, tornou-se complexo demais, e não prosperou. Foi aí que surgiu o Linus Torvalds, com uma abordagem mais pragmática, e desenvolveu o kernel Linux, adotando o antigo e bem conhecido conceito de kernel monolítico, muito mais fácil de desenvolver, e com desempenho melhor.

O Linux, então, foi integrado ao GNU, formando o sistema operacional GNU/Linux, que as pessoas, por simplicidade ou desconhecimento, referem-se apenas como "Linux". Comparando com equipes de Formula1, a "McLaren" pilotada por Ayrton Senna pertencia à equipe formalmente chamada McLaren/Honda (carro da McLaren, com motor da Honda).

O vídeo também atribui ao Linux a criação do modelo de desenvolvimento colaborativo
"(...) formou-se então uma verdadeira comunidade de cooperação, com milhares de desenvolvedores ao redor do planeta, trazendo consigo mais uma mudança impressionante: a forma de trabalho em desenvolvimento de projetos."
O conceito de desenvolvimento colaborativo não surgiu com o Linux. Embora ele seja um dos mais importantes exemplos, pelo seu tamanho, visibilidade e número de desenvolvedores, não é o único, muito menos o primeiro. O projeto GNU, citado acima, já era desenvolvido de forma colaborativa e, paralelo ao Linux, milhares de outros grandes projetos de software são desenvolvidos colaborativamente.

Software Livre é um conceito amplo, que define quatro liberdades básicas para desenvolvedores ou usuários de software:
  • A liberdade para executar o programa, para qualquer propósito (liberdade nº 0);
  • A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (liberdade nº 1). 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 (liberdade nº 2);
  • A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade nº 3). Acesso ao código-fonte é um pré-requisito para esta liberdade;
Resumindo:
  • O Linux é apenas um importante exemplo de Software Livre, mas não é o único.
  • Dada a sua importância e visibilidade, o Linux contribuiu muito para a difusão do conceito de Software Livre, mas não é o seu criador.
  • Os sistemas operacionais que atualmente chamamos de "Linux", na verdade são a combinação de dois grandes projetos: o sistema operacional GNU, mais o núcleo Linux.
Feitas essas correções - que não invalidam nem diminuem o valor desse vídeo, recomendo a leitura dos seguintes artigos:

O que é uma Distribuição Linux?
Modelos de Negócios Baseados em Software Livre

4 comentários:

Jack Ripoff disse...

Errado. O conceito de software livre é muito mais antigo. Em 1977 já existia o Berkeley Unix, e mesmo antes dele muita coisa livre havia sido criada.

O que Richard Stallman criou foi o atual conceito de "Copyleft" (i.e. use este software do mesmo jeito que usaria uma escova de dentes de outra pessoa), e mesmo assim não é algo tão novo, pois em 1975 o Tiny BASIC já era de alguma forma um software "Copyleft" e era escrito de forma colaborativa.

Dam disse...

Damarinho - http://br.geocities.com/omlinux
darmarinho@google.com
###

Tema e texto interessantes.

E +

1. Conveniente e necessário saber sobre os métodos de atualização e recursos operaconal de teletransferência (download).

2. Na atualização por teletransferẽncia, há crítica de dependẽncias de módulos e arquivos componentes de um pacote ?

3. Ao escolher uma distribuição, saiba-se que há vários métodos de atualização de programas e do sistema. E há programa específico para cada Distro, via GUI ou Comando-Shell.
Exemplo:
a) No Debian - empacotamento e organização com sufixos: deb
b) Nas Distro com RPM - empacotamento e organização com *.rpm
c) Além das Distro com organização em *.tar.gz, *.zip.

Para cada instância há um aprendizado de controle e adminitração.

4. Ao pesquisar na Net-web, qual a disponibilidade de informação e programas alternativos.

\o/

Helio disse...

Ótimo, parabéns pelos textos e pela intenção de desmistificar esses "erros". Entre aspas, pois certamente foram intencionais numa tendência revisionista que parece bem explícita hoje de querer apagar da História tudo que se refira ao embasamento filosófico do Software Livre e substituir pelo puro Open Source agradável ao paladar do capitalismo. Que alguns prefiram uma corrente à outra é aceitável, mas distorcer tanto assim os fatos é simplesmente ridículo.

Fábio Prudente disse...

@Jack,

obrigado pelo comentário. Você tem tazão e, de fato, eu já havia colocado o que você diz, no artigo (apresentação) Modelos de Negócios Baseados em Software Livre.

Farei as devidas correções.

Postar um comentário

Artigos mais recentes:

Artigos mais lidos:

.