You are here: Wiki-SL>EconomiaSolidaria Web>SoftwareLivre (14 Feb 2012, MarioSilva?)EditAttach

O que é Software Livre?


Índice

Histórico

pinguin-ensinando.png

O que é um software? Como surgiu o Software Livre? O que o diferencia do software proprietário? Como o Software Livre evoluiu até os dias de hoje? Por que os movimento pela disseminação do Software Livre crescem tanto em nosso país? Por que encontramos nele a solução para tantos problemas?

Este breve histórico não pretente responder a todas essas perguntas em tão pouco espaço. Esforça-se, contudo, em ser o pontapé inicial que dará impulso aos novos navegantes de um universo ainda pouco difundido, criado sobre uma perspectiva que preza pela colaboração e pela liberdade da informação. Sejam bem-vindos!

O Software

Software é o nome dado a qualquer programa de computador.

Ao contrário do hardware (monitores, impressoras, mouses, placas, memórias etc) o software não é algo físico e por isso não sofre desgaste ao longo do tempo.

Um software é, portanto, uma estrutura lógica, um programa que realiza funções dentro de um sistema computacional. E é, geralmente, desenvolvido por programadores que utilizam linguagens de programação para construí-lo. Softwares correspondem aos sistemas operacionais (Windows, Linux, Mac OS etc), drivers que controlam o comportamento de alguns hardwares (driver de modem, de impressora, de placa de vídeo etc) e todos os aplicativos utilizados pelos usuários finais, como editores de texto (Winword, Notepad, Gedit, OpenOffice.org Writer), planilhas eletrônicas (Excel, OpenOffice.org Impress, Gnumeric), navegadores internet (Mozilla, Internet Explorer, Opera), processadores de imagem (Gimp, Paint, CorelDraw, Adobe PhotoPaint), dentre outros.

O software, por não ser físico e sim lógico, pode ser duplicado e armazenado em disquetes, cds, discos rídigos (HD). Sua cópia pode ser transportada de um computador para o outro, desde que estejam conectados em rede.

Como surgiu o Software Livre?

Para entendermos o surgimento do Software Livre, é válido compreendermos, primeiro, o que é o software proprietário e o papel das grandes empresas de software na monopolização do conhecimento.

Como mencionado, um software é uma estrutura lógica desenvolvida por programadores. Essa estrutura lógica, isto é, os tijolos que compõem um software, correspondem aos bits: 0's e 1's. Porém, um programador não pode desenvolver um programa utilizando-se de 0's e 1's, que é uma linguagem somente compreensível pela máquina --- e não por seres humanos. Para tanto, os programadores utilizam linguagens de programação que possuem palavras chaves e estruturas que permitem enxergar um programa como uma receita de bolo, isto é, um conjunto ordenado de instruções, denominado código-fonte. Por exemplo:

  1. Programa pede que o usuário digite sua idade e tecle Enter
  2. Programa recebe a informação (idade)
  3. Se idade for maior ou igual a 18 mostra mensagem na tela: "Você já é um adulto!"
  4. Se idade for menor que 18 mostra mensagem na tela: "Você ainda é um adolescente"

O código-fonte seria a representação desses passos em uma linguagem de programação (C, C++, Perl, Pyhton, Pascal etc). Esse código-fonte, ao ser processado por um outro programa, denominado compilador, transforma-se em 0's e 1's para que possa ser entendido pela máquina. Quem quiser modificar o programa precisa ter o código-fonte, já que 0's e 1's não são compreendidos pelo homem.

Antigamente, os programadores compartilhavam seus códigos-fontes uns com os outros e, assim, todos podiam modificar o programa e também partilhavam as mudanças. Este hábito era bastante difundido nas grandes universidades estadunidenses das décadas de 60 e 70 e sempre foi bastante condizente com o espírito acadêmico, cujos princípios de liberdade e cooperação se assemelham aos da cultura hacker.

O Software Proprietário

Quando o computador se mostrou viável como produto de distribuição massiva, as coisas começaram a mudar de rumo. As pesquisas em desenvolvimento de novas soluções cresceram, e muitas empresas adotaram como estratégia comercial a não-divulgação dos códigos-fonte dos programas.

As empresas vendiam seus softwares, mas não disponibilizavam seus códigos-fonte. O usuário só recebia o programa na linguagem de máquina (0's e1's), o que tornava possível a sua utilização, mas não mais possibilitava o estudo e a modificação. Isso era estrategicamente interessante para as empresas: com o conhecimento sobre o software restrito a elas, cresciam as barreiras à entrada de novas empresas, menores, no mercado.

Diversos artifícios foram utilizados para manter restrito o conhecimento nos softwares: os programadores dessas empresas assinavam termos de compromisso de não divulgação dos segredos da programação; e os softwares vendidos possuíam licenças que inpunham diversas restrições: além de impossibilitados de modificar o programa, não poderiam fazer cópias dos programas que eles adquiriam, e muito menos distribuir essas cópias. Alguns programas também só poderiam ser utilizados para fins específicos. Resumindo, o cliente não tinha controle sobre o software executado em seu equipamento. Ele podia somente comprar uma licença de uso, que permitia o uso daquele programa em apenas um computador.

Como estratégia para garantia dessas vantagens advindas da restrição do uso do conhecimento humano, a indústria de software proprietário associou o ato de compartilhar programas de computador ao de abordar navios, matar seus tripulantes e saquear a sua carga: a cópia não autorizada de software proprietário foi denominada de pirataria.

É importante ressaltar que o software distribuído pelas empresas contém, embutido, o conhecimento de milhares de programadores brilhantes, que por sua vez se valeram do conhecimento de várias pessoas que vieram antes deles, que desenvolveram teorias e conhecimento deixados para a humanidade. Estas empresas agora se apropriam de todo esse conhecimento acumulado, que poderia ser compartilhado com outras pessoas.

A Reação: Uma Licença para a Liberdade

Tudo permaneceu assim até que um grupo de hackers programadores do MIT (Instituto de Tecnologia de Massachussets, nos EUA) perceberam que podiam fazer a diferença.

Os hackers, diferentemente de como são conhecidos e tratados pela mídia, são pessoas com princípios éticos, defensores da cooperação e da disseminação do conhecimento através da liberdade da informação. São caracterizados como pessoas de elevado conhecimento técnico, que amam o que fazem, e que sentem prazer em compartilhar seu saber com os outros. Os hackers, ao contrário dos crackers e dos defacers, não são criminosos digitais e possuem uma estrutura hierárquica implícita baseada na cultura da dádiva (Gift Culture), e definida apenas pelo mérito. Quanto mais contribuições um hacker oferece para a sua comunidade, mais status ele possui dentro dela. Os hackers também são chamados de geeks.

Essa reação começou pequena, com poucos colaboradores. Um dos programadores do MIT, Richard Stallman, enfurecido pela comercialização do conhecimento, fundou o Projeto GNU visando criar uma plataforma de software totalmente livre. Ou seja, no GNU qualquer pessoa poderia:
GNUVA.png

  1. Utilizar o software para qualquer fim
  2. Estudar o código do software
  3. Modificar o código do software
  4. Redistribuir cópias do software

Esses quatro direitos ficaram conhecidos como as quatro liberdades do Software Livre. Baseado nelas, o Projeto GNU redigiu uma nova licença de uso chamada GNU GPL (GNU General Public Licence). Dessa forma, todo software distribuído com tal licença estava "livre". De acordo com a GNU GPL, a única condição para que alguém pudesse usufruir desses direitos era que passasse para as outras pessoas os mesmos direitos dos quais usufruiu. Vale lembrar que esta licença não proíbe a venda do Software Livre, somente garante que conterá as quatro liberdades mencionadas e que estas nunca poderão ser retiradas do software. Dessa forma, o software já nasce livre e permanecerá livre.

O projeto GNU também foi o responsável pelo desenvolvimento de inúmeros softwares livres. Para cada software proprietário existente, os desenvolvedores buscavam construir um outro similar, livre. Um dos softwares mais essenciais foi proposto pelo finlandês Linus Torvalds, que por conta própria desenvolveu o núcleo (kernel) de um sistema operacional, batizado de Linux. O Linux e os softwares desenvolvidos pelo Projeto GNU formaram o primeiro sistema computacional livre, o GNU/Linux, que atualmente é a principal alternativa ao Microsoft Windows.

Como o Software Livre não é mantido por uma entidade única, não pode ser comprado pela Microsoft ou por qualquer outra empresa. O Software Livre também não vai à falência, já que a única premissa para sua existência é a de que existam pessoas com necessidades e com disposição de compartilhar seus códigos-fonte. O número de indivíduos que participam dessa iniciativa e o número de empresas que têm apostado suas fichas nessas idéias indicam que o software livre está em crescimento acelerado.

A GNU GPL não é a única licença de Software Livre. Existem muitas outras, e basta que elas garantam as quatro liberdades para que o software seja livre. Algumas licenças são menos restritivas que a GPL, não impondo, por exemplo, que trabalhos derivados devam ser distribuídos pelos mesmos termos. A escolha da licença depende de que características o desenvolvedor deseja atribuir à sua obra.

Conceito de Software Livre

Software Livre é Uma Questão de Liberdade, Não de Preço.

O termo Software Livre se refere à liberdade que o usuário tem de executar, distribuir, modificar e repassar as alterações sem, para isso, ter que pedir permissão ao autor do programa.

Pode ser definido mais claramente pelas quatro liberdades defendidas pela Free Software Foundation para os usuários de software:

  • A liberdade de executar o programa, para qualquer propósito;

  • A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades. Acesso ao código-fonte é um pré-requisito para esta liberdade;

  • A liberdade de redistribuir cópias de modo que você possa beneficiar o próximo;

  • A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie. Acesso ao código-fonte é um pré-requisito para esta liberdade.

Um programa será considerado livre se todos os seus usuários tiverem essas quatro liberdades.

Notem que os quatro itens acima não fazem nenhuma referência a custos ou preços. O fato de se cobrar ou não pela distribuição ou de a licença de uso do software ser ou ser não gratuita não implica diretamente o software ser livre ou não.

Nada impede que uma cópia adquirida por alguém seja revendida, tenha sido modificada ou não por esta pessoa.

Nada impede, também, que as alterações feitas num software para uso próprio sejam mantidas em segredo. Ninguém é obrigado a liberar suas modificações, se não quiser. Porém, se escolher fazê-lo, é obrigado a distribuir de maneira livre. Essa é uma observação importante a se fazer, porque muitas pessoas (especialmente corporações) têm receio de usar software livre porque temem que seus "concorrentes" tenham acesso a informações e métodos de trabalho privados. As personalizações não têm que ser distribuídas. A restrição é que, se elas forem distribuídas de alguma maneira, têm que manter as quatro liberdades descritas acima.

A liberdade de utilizar um programa significa a liberdade para qualquer tipo de pessoa, física ou jurídica, utilizar o software em qualquer tipo de sistema computacional, para qualquer tipo de trabalho ou atividade, sem que seja necessário comunicar ao desenvolvedor ou a qualquer outra entidade em especial. A liberdade de redistribuir deve incluir a possibilidade de se repassar tanto os códigos-fontes quanto os arquivos binários gerados da compilação desses códigos, quando isso é possível, seja o programa original ou uma versão modificada. Não se pode exigir autorização do autor ou do distribuidor do software para que ele possa ser redistribuído.

Para que seja possível modificar o software (para uso particular ou para distribuir), é necessário ter o código-fonte. Por isso, o acesso aos fontes é pré-requisito para esta liberdade. Caso ele não seja distribuído junto com os executáveis, deve ser disponibilizado em local de onde possa ser copiado, ou deve ser entregue ao usuário, se solicitado.

Para que essas liberdades sejam reais, elas têm que ser irrevogáveis. Caso o desenvolvedor do software tenha o poder de revogar a licença, o software não é livre.

Diferenças entre Software Livre e Proprietário

"No software proprietário, o programador abdica da liberdade de controlar sua obra, em troca de salário e compromisso de sigilo. O distribuidor, fantasiado de 'fabricante', torna-se proprietário de tudo. Desde o código fonte, tido como segredo de negócio, até as cópias executáveis, licenciadas ao usuário sob custódia e regime draconiano. Enquanto no software livre o programador abdica de um dos canais de receita pelo seu trabalho, em troca da preservação do controle dos termos de uso da sua obra. Em contrapartida, se a obra tiver qualidades, agregará eficiência aos empreendimentos em torno dela. Seu valor semiológico, conversível em receita com serviços, será proporcional à magnitude do esforço colaborativo onde se insere. O código fonte é livre sob licença que preserva esta liberdade, enquanto a cópia executável é tida como propriedade do usuário. (...) Só tem a perder com ele (Software Livre) quem consegue galgar posições monopolistas no modelo proprietário. O problema é que a ganância faz muitos acreditarem que serão os eleitos pelo deus mercado, enquanto seguem correndo atrás da cenoura amarrada na ponta da vara que pende das suas carroças digitais, não se importando com os efeitos colaterais de se tratar conhecimento como bem escasso, ao considerarem software como mercadoria." - Texto de Pedro Antonio Dourado de Rezende publicado no Observatório da Imprensa


Por Que Usar Software Livre?


Nopatents_pt_2.gif


Para uma melhor compreensão dos motivos que cercam os usuários de Software Livre, vale lembrar a forma como ele surgiu e o que representa para a sociedade no contexto atual. O Software Livre surgiu baseado no conceito de liberdade, no qual as pessoas têm o direito garantido às quatro liberdades já mencionadas. Na visão filosófica do Software Livre, a liberdade não é um direito individual, mas um direito coletivo e por isso deve ser mantido e passado de pessoa para pessoa. Além disso, a premissa de qualquer projeto de Software Livre é a colaboração entre as pessoas interessadas, sem concentração de poder ou qualquer outro artifício que venha a ferir as liberdades já mencionadas.

Tendo em vista esse cenário, podemos facilmente citar algumas das razões para se utilizar Software Livre:

  • Poder utilizar o software para qualquer finalidade;

  • Ter acesso ao código fonte e poder modificá-lo, sem quaisquer restrições;

  • Poder copiá-lo e executá-lo em quantas máquinas desejar;

  • Poder distribuí-lo, sem violar, é claro, essas liberdades a que todos têm direito;

  • Ter o seu computador equipado com software de qualidade a um custo baixo ou nulo;

  • Não ficar preso às restrições impostas pelas licenças de softwares proprietários;

  • Não ficar dependente de novas versões com preços abusivos que eventualmente apresentam incompatibilidades com versões antigas;

  • Não ficar dependente de um fornecedor;

  • Ficar livre da pirataria;

  • Incentivar o desenvolvimento de tecnologia local;

  • Interagir e compartilhar soluções com sua comunidade, seja física ou virtual;

  • Lutar contra o monopólio de grandes corporações que tentam se apropriar do conhecimento intelectual coletivo para benefício próprio.

Fonte: Cartilha de Software Livre do PSL-Ba

Veja também:

Topic revision: r19 - 14 Feb 2012 - 02:25:18 - MarioSilva?
EconomiaSolidaria.SoftwareLivre moved from EconomiaSolidaria.OQueÉSoftwareLivre on 06 Sep 2008 - 13:48 by AurelioAHeckert - put it back
 
Copyleft © 2005, pel@s colaborador@s deste Sítio Wiki. Todo o conteúdo desta página pode ser utilizado segundo os termos da Creative Commons License: Atribuição-UsoNãoComercial-PermanênciaDaLicença. Salvo disposição em contrário indicada de forma explícita no tópico correspondente.