Software (livre) é Conhecimento (livre) – parte 1

Antes de mais nada, devo dizer que este artigo é uma preparação para a apresentação que irei fazer no

II GNUGRAF e é baseado na excelente palestra do professor Eurico Zimbres, da faculdade de Geologia da UERJ, grande ativista do software livre no Rio de Janeiro. Então segue o artigo e espero seus comentários a respeito, para que a palestra fique mais rica.

O que é software?

Quando alguém fala em software, qual a primeira coisa que lhe vem a mente? A grande maioria das pessoas pensará em algo útil para executar uma tarefa no computador. Desenvolvedores de software, poderão pensar também em como ele foi feito – no seu código-fonte. Vejamos então a definição provida pela Wikipédia:

Software ou logiciário é uma sequência de instruções a serem seguidas e/ou executadas, na manipulação, redirecionamento ou modificação de um dado/informação ou acontecimento.

Resumindo de uma forma bem simples, software é como se fosse uma “receita de bolo” escrito de forma que o computador entenda. Assim, o resultado final (o “algo útil” citado anteriormente) seria exatamente o “bolo” feito pelo computador. Veja um exemplo de programa escrito na linguagem C:

#include <stdio.h>
int main(void)
{
    int count;
    for(count=1;count<=500;count++)
        printf("Conhecimento tem que ser livre!");
    return 0;
}

Para você que não entende a linguagem, este programa escreve na tela do computador 500 vezes a frase “Conhecimento tem que ser livre!”. Melhor dizendo, este programa é uma “receita” que, ao ser lida pelo computador, diz a ele como escrever a frase 500 vezes. Obviamente, esta não é a única forma de se fazer isso! Você pode escrever em outra linguagem que o programador tenha mais fluência ou adicionar mais tempero (escrever o texto colorido) ou ainda gastando mais ingredientes (gastando mais memória para fazer a mesma coisa).

Agora vamos fazer uma pequena brincadeira – leia o seguinte texto, escrito em Alemão:

Meiner lieber Seele, der vergangen is
So frueh aus dieses Leben, unzufrieden,
Ruehe in den Himmel ewig
Und lebe Ich hier auf dieser Erde immer traurig

Se você é fluente em Alemão tanto quanto é na linguagem C, então a dúvida foi a mesma :) . Mas, se traduzirmos o texto para o português:

Alma minha gentil, que te partiste
Tão cedo desta vida descontente,
Repousa lá no Céu eternamente,
E viva eu cá na terra sempre triste.
Luís de Camões

Assim como a literatura, software e receitas de bolo são expressões de conhecimento. Uma receita de bolo foi feita com o conhecimento gerado de uma pessoa entendida sobre fabricação de bolos. Por isso, quando você vai à casa de um amigo e come um delicioso bolo feito por ele, você prontamente já pede a receita, afinal, com ela em mãos, você poderá fazê-lo e adaptá-lo ao seu gosto, deixando-o ainda melhor. Para o software é a mesma coisa! Desta forma, chegamos à nossa primeira conclusão:

“Software é conhecimento!”

Nosso programa exemplo foi bastante simples, mas imagine a quantidade de conhecimento que existe num software como o GIMP, o Inkscape, o Ardour e tantos outros!  O problema é que, infelizmente, o código-fonte de vários softwares não está disponível, restringindo todo o conhecimento a um pequeno grupo de pessoas. Para resolver esta situação que foi criado o software livre, mas isso será o assunto da segunda parte do artigo. Não deixe de ler!