segunda-feira, 30 de março de 2015

Além das janelas e maçãs: o mundo do software livre

Esse ano começou meio nerd para mim. Comecei a me relacionar um pouco mais intimamente com computadores e a entrar num mundo que me é relativamente novo: o mundo do software livre. Andei lendo sobre o assunto e resolvi compartilhar um pouco do que aprendi com os leitores desse blogue. Cabem aqui dois avisos sobre essa postagem. Primeiro: é uma postagem com uma carga ideológica considerável. Segundo: é uma postagem amadoríssima, portanto talvez seja decepcionante para quem tem algum conhecimento sobre software livre e informática em geral. Terceiro (quem lê dois lê três): Perdão, mas tem vários termos em inglês.

Uma atualização está disponível para seu computador. Linux: "Legal, mais conteúdo livre". Windows: "De novo não!". Mac: "Ó, só 99 dólares!".




Um passado remoto:

Numa simplificação didática, software é o nome genérico para um programa de computador, um conjunto de instruções que controla o comportamento físico dessas máquinas para que elas façam o seu trabalho.

Bem... existiu um tempo em que as pessoas que utilizavam computadores (poucas) podiam alterar livremente o software que acompanhava suas máquinas, fazendo-as funcionar da maneira que quisessem. Aqueles que produzissem alguma melhora desejada no funcionamento dos computadores tinham a liberdade de compartilhar essa modificação com quem bem entendessem. Havia, de fato, grupos de pessoas muito dedicadas a modificar o código dos programas e a redistribuí-lo, formando uma comunidade de onde surgiram vários hackers e programadores importantes.

Foi nesse contexto que o jovem Bill Gates, que todos devem conhecer, lançou uma ideia. Para ele, o software não deveria ser visto apenas como uma parte acompanhante do hardware (porção física dos computadores, ou, numa definição prática, "aquilo que a gente chuta") e sim como um produto intelectual. O esforço desses hackers deveria ser recompensado com o ingresso de seus produtos no mercado e o devido pagamento de direitos autorais. Essa ideia foi expressada em uma longa carta de Bill Gates e influenciou a era do software proprietário.

Como garantir a proteção aos direitos autorais?
ou
Como garantir o poder do desenvolvedor sobre o usuário?

Os softwares têm duas apresentações distintas. A primeira é a forma como ele é concebido, através de uma sequência de códigos escritos em uma das muitas linguagens de programação existentes. Essa é a forma como as pessoas (programadores) entendem o que um programa faz ou deixa de fazer. É a receita do programa, o conjunto de instruções humanamente legíveis. A segunda forma é a forma como os computadores lêem os programas, no chamado código de máquina, que por nós é visto como uma sequência de 0s e 1s, ou seja, é um código binário, um imenso conjunto de respostas do tipo "sim" ou "não".

Diagonal superior: Código fonte escrito numa linguagem de programação. 
Diagonal inferior: Código binário.

Caso eu construa um programa e o passe para você na segunda forma, ou seja, em código de máquina, é praticamente impossível que você saiba exatamente o que aquele programa faz e como. Podemos dizer que o programa é uma caixa-preta. Caso você queira descobrir o que existe dentro dessa caixa preta, você tem que ter acesso ao código fonte, que é, basicamente o programa conforme foi escrito pelo programador, ou seja, em uma linguagem de programação compreensível por pessoas que a dominem.

Os softwares proprietários são distribuídos sem o código fonte. Ou seja, sempre que você utiliza um software proprietário, está dando um conjunto de ordens para o seu computador, mas sem saber quais ordens são essas.

Dessa forma, a empresa que produziu o programa detém os direitos sobre ele e ao usuário cabe somente utilizá-lo sem a possibilidade de compreendê-lo ou alterá-lo, caso deseje (ou mesmo pedir para alguém que entenda o faça). As empresas são as donas do software. Geralmente o usuário compra a possibilidade de utilizá-lo por meio de uma licença, que é uma espécie de permissão de uso com vários termos.

É assim que funciona com o sistema operacional Windows, por exemplo, que muito provavelmente você está utilizando agora. O Mac também. A Microsoft (ou a Apple) é a entidade que tem conhecimento sobre o funcionamento do seu sistema operacional e, portanto, do funcionamento do seu computador. Você pode utilizá-lo como desejar, mas não saberá exatamente o que seu computador está fazendo. Segundo os entusiastas do software livre, esse é o mecanismo pelo qual se constroi o exercício de poder do desenvolvedor sobre o usuário.


A alternativa livre

Um pesquisador do Massachussets Institute of Technology (MIT) teria se revoltado contra o domínio dos softwares proprietários, que impunham uma grande perda de liberdade aos usuários. O pesquisador era Richard Stallman, que viria a se tornar uma espécie de guru do movimento pelo software livre. Reza a lenda que a gota d'água de indignação de Stallman com o software proprietário foi quando ele não conseguia fazer uma impressora funcionar da forma que ele queria pois o desenvolvedor não havia disponibilizado o código fonte...

À esquerda, Richard Stallman vestido de St. iGNUcius. À direita uma ilustração do mascote do projeto GNU

Stallman começou a desenvolver um sistema operacional livre, baseado em Unix, que era um sistema de código fechado, não-livre (embora algumas versões mais recentes de Unix sejam de código aberto). Essa empreitada levou o nome de Projeto GNU, um acrônimo recursivo que significa "GNU's Not Unix" (GNU não é Unix). O projeto GNU buscava o desenvolvimento de um sistema operacional portátil (que pudesse ser usado em diferentes computadores) e totalmente livre, com todo o código fonte disponível ao usuário. Apesar de grandes avanços, o Projeto GNU nunca lançou uma versão completa desse sistema operacional, pois uma parte importante do mesmo, conhecida como núcleo (kernel), ainda não havia sido completada.

Em 1991, um jovem finlandês chamado Linus Torvalds anunciou que havia construído um núcleo e disponibilizou sua primeira versão, que logo "caiu na net" e foi rapidamente acoplado pela comunidade ao GNU, concretizando, assim, o plano de dar vida a um sistema operacional totalmente livre. O núcleo produzido por Torvalds ficou conhecido como Linux e certamente você já ouviu falar nele. Os sistemas operacionais conhecidos como Linux, são, na verdade, uma junção do trabalho do Projeto GNU com o núcleo Linux. A forma mais correta de se referir a eles é, portanto, GNU/Linux, de forma a dar crédito ao trabalho de ambas as partes.

 À esquerda, Linus Torvalds mandando um recado à companhia de hardware Nvidia. À direita, o mascote do Linux, Tux.

O GNU/Linux é o mais difundido sistema operacional livre do mundo e é utilizado em muitas (muitas mesmo) plataformas diferentes. É comum o uso de sistemas GNU/Linux em servidores de grandes empresas, mas é possível utilizá-los em computadores pessoais (laptops, desktops, etc) e em outros aparelhos (celulares, tablets, Raspberry Pi, e outros).  O sistema Android, conhecido de muitos, é baseado no núcleo Linux. Os clientes do Banrisul devem reconhecer o logotipo do Linux (um pinguim chamado Tux) nos caixas eletrônicos e por aí vai...

Como os sistemas GNU/Linux são de código aberto, alguns grupos de interessados criaram suas próprias versões, que incluem um pacote de programas já prontos para o uso. Essas são conhecidas como Distribuições Linux. Algumas das mais conhecidas e de fácil acesso para o usuário são Debian, Fedora, OpenSUSE, Gentoo, Linux Mint e Slackware. O Ubuntu é uma distribuição Linux muito difundida e fomentada por uma empresa (Canonical). A questão é que muitos defensores do software livre não a consideram "livre" e alegam que ela vem acompanhada de programas espiões (spywares) que monitoram as atividades do usuário (algo inaceitável no paradigma do software livre), além de uma associação duvidosa com a Amazon (veja um comentário de Richard Stallman aqui). Há distribuições baseadas em Ubuntu, que preservam suas vantagens sem comprometer a liberdade do usuário, como Linux Mint e Trisquel, sendo a última uma das poucas distribuições oficialmente recomendadas pela Free Software Foundation. Todos esses sistemas podem ser baixados da internet e instalados em seu computador sem custo e dificuldade.

Éticas e políticas de liberdade

Richard Stallman fundou a Free Software Foundation, uma sociedade sem fins lucrativos que tem como ideal a difusão do software livre. A filosofia dessa organização é apoiada em quatro liberdades:

Liberdade 0: A liberdade de executar o programa como você desejar, para qualquer propósito.

Liberdade 1: A liberdade de estudar o código-fonte do programa e adaptá-lo para a forma que achar melhor.

Liberdade 2: A liberdade de distribuir cópias do programa para quem quiser

Liberdade 3: A liberdade de distribuir cópias modificadas do programa para quem quiser.

Stallman insiste em frisar que "Free Software" significa software livre e não software grátis. "Free as in freedom, not as in free beer". Essa confusão é comum em língua inglesa, já que "livre" e "grátis" são homônimos ("free"). O que está em questão é a liberdade do usuário, e não o fato dos programas serem gratuitos ou não.

A licença que regulamenta a distribuição dos programas livres é conhecida como GPL (GNU General Public License) e introduz o conceito de copyleft, ou "esquerdos autorais". O copyleft é uma maneira de garantir que as cópias produzidas a partir de um programa livre sejam distribuídas com a mesma licença do programa original. Isso significa que se você modificar um software livre cuja distribuição é regulamentada pela GPL e quiser redistribuí-lo, terá que fazê-lo pelos termos da mesma GPL. Esse é um mecanismo legal criado por Stallman para impedir a apropriação de códigos e ideias desenvolvidas num paradigma de software livre pelas empresas de software proprietário.


Logotipo do copyleft

E os softwares abertos (open source)?

Há uma dissidência da Free Software Foundation chamada Open Source Initiative. Os softwares promovidos por esse grupo são chamados abertos, ou open source. Na prática, não há diferença entre um programa livre e um programa aberto, mas há diferenças no pensamento ético por trás de cada um dos movimentos. O movimento open source alega que a principal vantagem em distribuir programas de código aberto é de que eles são constantemente melhorados pelos usuários, atingindo uma qualidade superior aos de código fechado. O movimento free software alega que a questão não é qualidade, mas liberdade. O usuário deve ser livre para usar seu computador sem a interferência desconhecida de uma companhia e as melhoras em qualidade são somente um efeito colateral benéfico desse processo.


Devo usar software livre?

Richard Stallman diria que sim. Para ele, software deve ser livre. Software não-livre deve ser combatido, pois é uma forma de domínio de um grupo de pessoas sobre outro e nós não devemos fomentar esse tipo de relação de poder.


Algumas vantagens que devem ser consideradas:

- Highway star: Funciona bem e por tempo indeterminado.

- I'll (not) be watching you: O mundo do GNU/Linux é (praticamente) isento de vírus e programas maliciosos que espionam e fornecem informações suas a grupos comerciais (sim, isso é bem comum em programas fechados).

- Fight the power: É uma escolha ética para quem não concorda com a relação de poder entre desenvolvedor e usuário.

- Panela velha: existem distribuições que podem ser utilizadas tranquilamente em computadores antigos (Pentium II, por exemplo). Os softwares proprietários funcionam segundo a lógica de mercado da obsolescência programada: a cada ano é lançada uma versão mais pesada do programa que obriga você a possuir uma máquina mais potente que seja capaz de suportá-la.

- Yo tengo tantos hermanos: uma comunidade ativa de usuários está disposta a ajudar a resolver problemas que você possa encontrar (os caras gostam de fazer isso...).


- Nós não vamos pagar nada: tudo sai de graça. Não é o destaque, mas faz diferença e isso já tem feito vários órgãos públicos (exércitos, escolas, etc) aderirem aos programas livres. O software proprietário sai caro e nos é empurrado goela abaixo... sempre que compramos um computador, pagamos  um bom dinheiro por uma licença Windows e nem sequer temos a escolha de não fazê-lo.


É isso aí galera, espero que esse texto sirva pra alguém!

Free as in FREEDOM!













2 comentários:

  1. baita!
    nunca tinha ido atrás de como funcionava o copyleft. bem massa.

    teu texto me colocou uns dois tentos mais perto de instalar um dos livres na minha máquina.

    ResponderExcluir
    Respostas
    1. Se fizeres isso te dou um adesivinho com o logo do GNU para colar por cima da tecla do Windows!

      Excluir