The following is an article I wrote for the Techzone’s newsletter, TZN. It’s in Portuguese, and I’m not very keen on translating it, so bear with me. Okay. Just one bit. It’s called Ethics and Programming – An Introduction on Free Software and Open Source.
Ética e Programação – Uma introdução ao mundo do software livre e open source.
O Problema Inicial
Existe uma fina barreira entre o desenvolvimento dum programa informático e o seu produto final. Chama-se compilação. É o que permite transformar código-fonte, facilmente interpretado pelo ser humano,
print “Isto é código”;
Em código binário, facilmente interpretado por um computador,
000100001000...
Claramente existe uma larga discrepância entre estas duas representações e foi isso que levou à criação duma barreira entre quem faz o software e quem o usa. Programadores podem criar aplicações, distribuí-las e ao mesmo tempo proteger o seu código fonte, a tal receita que contém as instruções sobre como fazer a tarefa em questão. Assim vendem o programa ao seu preço. Uma exploração natural e praticamente inevitável.
Digamos que eu construo uma aplicação. Naturalmente existe o ímpeto de proteger todo o meu trabalho, mas porque razão? A primeira resposta vem da necessidade básica do ser humano moderno: dinheiro. Se eu não mostrar como fiz o programa, poderei vendê-lo e mantenho a minha posição no mercado, pois não revelo como o fiz. Aplico assim, os meus direitos de autor.
Copyright
A tradução portuguesa da expressão copyright está longe de ser a mais correcta, mas continuarei a referir-me à expressão direitos de autor para tal efeito. E este é um termo cada vez mais usado no mundo informático. Convém percebermos bem a essência destes direitos.
De acordo com a Constituição dos E.U.A., o copyright foi criado com o intuito de beneficiar os utilizadores, não os autores. Para efeitos de progresso civilizacional, é concedido um tempo limitado de direitos exclusivos aos autores, para as suas obras. Assim, os autores são incentivados a criar mais, em troca de liberdade dos utilizadores. Tentarei não entrar demasiado em pormenor, para tal basta consultar o artigo de Richard Stallman, Misinterpreting Copyright. Mas a ideia que quero transpor é que os direitos de autor servem os utilizadores.
Actualmente temos duas situações graves.
Em primeiro lugar, a informática é e sempre será um ramo científico. Como qualquer ciência actual, tem investigação, aplicações industriais entre outras características, e está longe da completa descoberta. É pois, de todo o interesse que o seu desenvolvimento seja facilmente acessível a qualquer um que o deseje usufruir. Porém, muitas das inovações no ramo da informática são omitidas e protegidas, e isto leva a redescobertas – trabalho a dobrar.
E em segundo, esta troca entre liberdades e direitos está a ser “esticada” de uma forma completamente errada. Cada dia que passa aparecem notícias de várias empresas com novas maneiras de protecções, com software com licenças dispendiosas e sufocantes. Os publicadores chamam “piratas” àqueles que partilham programas com amigos, um termo claramente exagerado e com pouco a ver com partilhar entre amigos. É no mínimo alarmante, para uma lei que protegia os utilizadores, que estejamos a ser atacados desta forma.
Copyleft
Já rodeado de empresas e contratos de software proprietário, em 1984 Richard Stallman, então engenheiro nos laboratórios de Inteligência Artificial no MIT, despediu-se do seu trabalho e duma futura vida certamente não carenciada de dinheiro e comodidades para iniciar o sistema operativo GNU (GNU’s Not Unix), um sistema operativo livre (mais tarde vindo a ser chamado GNU/Linux por incorporar o kernel Linux, também lançado como software livre – o tão conhecido Linux que hoje em dia atormenta fornecedores de software proprietário). A única maneira de deixar o software livre a quem quisesse usá-lo seria deixá-lo no domínio público. Porém, isto permitia a empresas agarrar no código e torná-lo parte de software proprietário, indo contra os princípios de software livre.
O copyleft usa direitos de autor não para privatizar software, mas para o manter livre. A GPL (GNU Public License) foi a licença criada para este efeito e é ainda hoje a mais usada em software livre, e mesmo noutros tipos de publicações, como documentação. Encontra-se na versão 2, com muito rebuliço actual à volta da versão 3.
Logo a seguir, em 1985 nasceu a Free Software Foundation, com o propósito de criar e distribuir software livre GNU, que até hoje cresceu bastante e tornou-se num centro de desenvolvimento informático livre, com bastantes projectos na bagagem, todos licenciados com copyleft.
Antes de prosseguirmos há que tirar uma grande teima. Software livre vem de free software. Uma triste coincidência é que o termo inglês free tem dois significados, livre e grátis. E o mais correcto é o primeiro, ou melhor, como se diz na sua língua original “free as in free speech, not free beer”. Com isto, software livre não é nem deve ser sinónimo de software grátis. Existem imensas maneiras de lucrar com software livre: suporte, documentação impressa, distribuição do software em cd’s, etc.
E finalmente, só um aparte. O termo livre não é apenas aplicável a software, no ramo da informática. Imagine-se planos de hardware livres, sobre licenças GPL. Ou mesmo sistemas completos, inteiramente livres.
Open Source
Por volta de 1998 surgiu o termo open source que, aplicado a software, significa que o código fonte do programa em si está disponível para qualquer um observar, modificar e utilizar. Para o movimento Open Source, libertar o código é uma questão prática, e não ética como acontece com software livre, mas isto não lhe tira qualquer crédito, pois este movimento já arrancou vários projectos conhecidos mundialmente.
Patentes
Patentes e direitos de autor são diferentes. As patentes referem-se a uma ideia, levam mais tempo a serem criadas, são mais caras e nem qualquer ideia pode ser patenteada. O tempo que o autor mantém os direitos sobre a ideia patenteada é também maior, ficando à volta dos 20 anos.
Digamos que inventei um método de compressão bastante eficaz, e ansioso por lucrar com a minha ideia, patenteei-o. E que esse método poderia ser usado para comprimir imagens, para mais fácil transferência e visualização. Como tenho a patente sobre este método, se alguém usar este formato de imagens num site com fotos das suas férias, poderei reclamar os meus direitos e processar essa pessoa. Parece absurdo?
Em Junho de 1983 foi lançada a patente para o algoritmo de compressão LZW inventado em 1977/78. Ignorando a patente, a empresa CompuServe apercebeu-se das potencialidades deste algoritmo e aplicou-o no seu então novo formato de imagem, o GIF. Este formato suportava 24 bits de cores, transparências e animações. Escusado será dizer quais foram as dores de cabeça para esta empresa, e o impacto que isso teve no formato. O PNG foi criado, como um formato livre, para substituir o GIF assim que se soube que o algoritmo LZW estaria fechado a quaisquer utilizações sem que se levasse com um processo judicial em cima. Aliás está no nome PNG: PNG’s Not GIF. Embora a patente deste algoritmo já tenha terminado em 2003, as consequências para o formato GIF foram devastadoras.
Como esta, existem inúmeras situações no mundo da informática que levaram a atrasos evolucionais ou à construção forçada de métodos alternativos.
Imagine-se agora, que um certo algoritmo existente já se encontrava patenteado. É um pesadelo para qualquer programador implementar uma funcionalidade que requer esse algoritmo, sendo obrigado a comprar as licenças correspondentes às patentes (monetariamente inviável), a descobrir uma nova forma de o fazer (trabalhoso e é trabalho já feito) ou então a excluir a funcionalidade em questão do programa. Infelizmente a última opção é a mais escolhida, o que resulta sempre em maus produtos, situação que de certeza desfavorece o utilizador.
Um Mundo Mais Livre
Neste momento estou no meu único sistema operativo do momento, Ubuntu 7.04 e está impecável. Estou a escrever o artigo no OpenOffice.org Writer, com imensas funcionalidades. A ouvir música com o Quod Libet. A ler posts com o Firefox. O mundo definitivamente mudou com a explosão de software livre, e irá continuar a mudar durante bastante tempo. Os primeiros passos já foram dados, cabe a nós decidirmos o nosso futuro.
Aos programadores
Existem vários sites que iniciam e promovem o desenvolvimento de software livre tais como o SourceForge, Google Code Hosting e o meu actual favorito, Launchpad. Estas iniciativas oferecem vários serviços como a própria distribuição do código e binários dos programas, fóruns de discussão, tratamento de bugs orientado à comunidade, mailing lists, homepages, etc. Estes sites alojam já bastantes projectos do software livre e open source, permitindo também a qualquer um a possibilidade de se juntar a um projecto já existente.
Uma última referência vai para o Google’s Summer Of Code que todos os Verões incentiva monetariamente estudantes a participar em projectos desta natureza.
Aos académicos
Como estudante académico, não podia deixar de me referir a este público que tanto tem para oferecer e que tão pouco tem oferecido. Participem activamente em projectos de software livre, chamem a atenção para os colegas que esta vertente existe e está para ficar. Iniciem grupos de discussão ou núcleos de actividade que incentivem esta filosofia de programação. Contribuam, porque nas nossas mãos é que está o verdadeiro poder da evolução tecnológica, e que melhor prova temos isso que toda esta explosão de software livre que temos vindo a testemunhar nos últimos anos?
Leitura aconselhada: Stallman, Richard M. Free Software Free Society.