Tag Archives: gnu

Liberdade em Software Livre

12 dez

Usem apenas software livre.

Respeite sua liberdade e comunidade.

gnu-type

From english Free Software é traduzido no Brasil como Software Livre. Esse livre de free não significa cerveja grátis, mas sim de livre de privativo, privar a liberdade das pessoas. Devemos não confundir proprietário com privativo, de privacidade, privar, restringir.

Antes de nos aprofundar queremos abrir um parênteses, e definir que um programa (ou software, é gerado através de um código que chamamos código fonte/source code que nada mais é que uma receita para o programa, por exemplo faça isso, some aquilo, um botão aqui colorido que quando apertado exibe uma mensagem).

O Software Livre dá poderes às pessoas para se libertar, com programas que não lhe privam a liberdade, assim as pessoas podem mudar com o código.

Existem quatro etapas para que se considere um programa livre:

  • Liberdade 0 – A liberdade de executar o programa, para qualquer propósito.
  • Liberdade 1 – A liberdade de estudar como o programa funciona, e chance para modificar suas necessidades. Para tanto, acesso ao código-fonte é um pré-requisito.
  • Liberdade 2 – A liberdade de redistribuir cópias de modo que você possa ajudar ao próximo.
  • Liberdade 3 – A liberdade de distribuir cópias de versões modificadas a outros. Desta forma, você pode contribuir para a comunidade a chance de beneficiar de suas mudanças. Para tanto, acesso ao código-fonte é um pré-requisito.

Se eu programo códigos com essa liberdade, estou respeitando os usuários e comunidades, e isso inclui os negócios também.

A liberdade 1, estudar o código, não é uma questão técnica. É uma questão política. Para as pessoas se libertar, elas tem que desenvolver programas. E desenvolver programas não é apenas programar ou codificar códigos, é muito além disso, é usar o programa desenvolvido livremente, é dar sugestões, enviar traduções para seu idioma local, relatar erros, muitas tarefas se envolvem no desenvolvimento de programas e todos podem contribuir.

Exatamente o contrário de Software livre, é o ‘software proprietário’ que não contribuem e atrai os usuários para ter poderes sobre ele. Eles fazem isso de diversas maneiras como rastreá-los e monitora-los de forma perniciosa.  O grande ouro do usuário de softwares é ser livre.

A liberdade 2, é ajudar os outros, neste dilema você pode mudar os programas e enviar aos outros, ou ajudar a instalar. Não ter amigos é isso que faz o desenvolvimento privado. A liberdade 2 é uma questão central, e é dependente da liberdade 0, e isso o leva a ter controle sobre o computar, que é o objetivo de um usuário de softwares.

Na liberdade 1 (L1), se modificamos inteiro o software, então você não tem a a L1. Existem softwares maliciosos, os malwares, que informam mensagens sobre o computador e o usuário, e assim “eles” apostam o futuro no Micrøsoft Windøws é um minimalware com suas escancaradas backdoors, (backdoor são portas que mal configuradas abrem o acesso ao computador/maquina). Nós já sabemos os principais aplicativos da Adobe Flash Player, iPhone, iMac da Apple, por que as pessoas não podem escolher, elas no caso do Flash apenas os fabricados pela Adobe, é que são suportados, na Apple você não tem escolha só pode usar um repositório de programas, e todos eles são pagos e isso não te traz liberdade.

Os malwares mais conhecidos hoje são o Adobe Flash Player, Angy Birds, sim esse joguinho informa a localização geográfica de onde você está. O playstation 3, a Amazon, a mais conhecida, e seu aparelho Kindle, eles te rastreiam e mapeiam o que você usa ou assiste, isso é terrível. Poderiamos chamar o Kindle de “Virtual Book Burning” (em tradução literal: Livro virtual queimante).

Esse é o modo de jogar “trust me“: “Eu sou uma grande Companhia, com muitos empregados, e milhões na conta, por isso você tem que confiar em mim”

A L1 traz a organização e controle conjunto, onde a comunidade, você e o desenvolvedor podem se compartilhar nas informações, e nós fazermos juntos como nós queremos “as we wish”.

A Liberdade 3 (L3) é o direito de mudar, de programar e distribuir nossos softwares.

As quatro Liberdades dão democracia para participar na decisão dos programas, são essas 4 liberdades para controlar o computador.

As pessoas precisam rejeitar o Software proprietário, para que possam viver livres.

Em 1983 eu comecei a criar um sistema para que as pessoas pudessem usar os computadores, e compartilhar seus programas. Mas faltava um programa fundamental que controlasse todos programas, gerencia-se a memória, detectasse os hardwares, era o kernel, o cerne do computador, e nessa época todos, todos, os sistemas operacionais eram pagos, e a peça fundamental o kernel, eram todos proprietários. Recebi em 1984 dinheiro para poder investir, e contratei pessoas na área que tinham entendido o projeto e começamos a criar o kernel para então termos um sistema operacional completo. Isso também ajudava essas pessoas a escapar do software proprietários e elas reconheciam essa injustiça cometido pela privativação (difere-se as palavras privativo de privacidade).

Entidades como Bush, Obama, as pessoas que eles querem salvar, as instituições financeiras, não querem nos ajudar, e eu não suponho, nem posso perguntar por quê eles não querem a liberdade.

Mas você pode encontrar pessoas que podem e querem ajudar. A palavra gnu é uma piada, por que ela também significa que é um animal preto, e por isso escolhemos o mascote, gnu significa “Gnu is not unix” ou “Gnu não é unix” é um acrônimo recursivo.

O BSD é um sistema que existia em 1983 (ver em http://www.bsd.org/ e Wikipedia BSD) e era proprietário, mas algumas peças eram livres, e em 1985 pedi para separar o que era livre do que não era livre, e começamos a alterar essas partes tornando-as software livre.

Neste ano já tinhamos tudo, menos o kernel, para que então tivessemos um sistema operacional completo.

E começamos a desenvolver o kernel Hurd (informações sobre o hurd) mas levou muitos anos para desenvolver e em 1992 o Linus Torvalds liberou oficialmente o Kernel Linux. O Linux é então o kernel, o cerne do sistema operacional, e que para nossa felicidade ele usava a maioria dos softwares gnu e bsd. Isso tornava a união do kernel linux e o sistema gnu altamente compatível, e então juntamos as peças Gnu e  o kernel Linux.

A partir daí comeram a desenvolver em conjunto e cada um desenvolvendo seu Sistema Operacional. E então as pessoas começaram a dizer o termo GNU/Linux por isso que sem o GNU o Linux não está completo, não irá funcionar, pois as peças mais básicas que fazem rodar o kernel está dentro do sistema GNU. Se usarmos somente o termo GNU nos referimos apenas as ferramentas e podemos hoje apesar de instável dizer GNU Hurd. Mas Linux apenas se refere apenas ao kernel, o termo correto portanto é GNU/Linux.

A computação é uma nova área da vida humana nos últimos 30 anos, as pessoas precisam usar programas, e elas estão começando a usar programas proprietários privados, e não vão conhecer técnicas para se libertar. Identificar esses 4 direitos no início é um bom modo de usar o computador.

A questão de dizer apenas Linux, ao invés de dizer GNU/Linux, é que lega a ideia que o Torvalds fez o sistema operacional completo, e então não vão lembrar de nós do que fizemos e defendemos pelos direitos humanos sobre sistemas de informação. Eles usam linux e não sabem do projeto Gnu, mas nós usamos o gnu, vamos muito mais defendemos um movimento político de libertação.

Em 1998 as pessoas de outro lado iniciarão o projeto Open Source (Código Aberto) que pregava que retirasse dos nossos meios de vida, as condições ética do movimento, para poder ajudar a comunidade. O Opensource não traz a questão da liberdade e livre. Esses termos Aberto soa diferente de Livre, embora o termo Free soa como grátis, o que não é verdade, por que você pode vender um software livre, desde que acompanhe o código-fonte, e que ele continue tendo as 4 liberdades. Já o código-aberto não traz a idéia de liberdade e perdemos parte da ética do movimento, além de que os que propuseram o caminho do código aberto, pretendiam trabalhar apenas uma parte do software livre, e mixar com uma parte adicional proprietária.

No meio empresarial usar o termo “software livre” parecia um idealismo que não estava sendo aceita no mercado, então o termo “open source” abriu esse caminho. Hoje “Free Software” e “Código Aberto” são movimentos separados, e eles podem trabalhar juntos em alguns projetos. Código aberto é uma metodologia de desenvolvimento, software livre é um movimento social, para o open source, software não-livre é uma solução sub-ótima, para o movimento software livre, software não-livre é um problema social e software livre é a solução.

As pessoas precisam pensar na liberdade como um valor e os programas proprietários irão restringir nossa liberdade.

Hoje existem sistemas inteiramente livres como o Ututo e gNewSense. E também sistemas que são parcialmente livres como o Parabola ou Dragora. Mas essas distribuições não são populares!

Há 5 anos atras Linus Torvalds começou a incluir trechos de código não livre no kernel e a Free Software Foundation (FSF) teve que atuar e retirar essas peças que não deixava o Linux livre, e então o próprio Torvalds desenvolveu um algorítimo que chamamos de Linux-Livre, mas esse é um tratamento que temos que estar sempre fazendo no código.

Então temos que agir em forma de criar uma comunidade realmente livre, não é uma tarefa fácil, mas que tem que ser feita, seja um ativista da liberdade, entregue adesivos, cds, camisetas, fale sobre o software livre, mostre a eles o que podemos fazer. Organize um protesto porque usar Programas Proprietários é injusto, e isso é uma ótima forma de ajudar as pessoas, e sua educação.

O tempo é valioso e temos que lutar pela liberdade?

Eles não valorizam uma vida livre, mas liberdade requer sacrifícios.

Precisamos criar “Quilombos Digitais” para nos livrar de nossa escravidão privativa! E atacarmos de forma a prejudicar o software proprietário.

Missão Social: Educação.

Educar boas pessoas em uma sociedade livre, deveria usar apenas programas livres, e nunca proprietários porque tornas as pessoas dependentes e privadas de sua liberdade. Educar com bons programas, se usar softwares proprietários as crianças irão perguntar, como se faz isso? E então você irá dizer não posso dizer porque isso é um segredo. Se isso é um programa livre, o professor pode dizer como faz, e mostrar o código, ir ainda mais, ajudar a entender o código, ensinar e aprender com elas.

Você deve compartilhar seus programas junto com o fonte, entre seus amigos, colegas de classes, entre professores.

Se você aqui é um professor, então você tem dever de ajudar mais as pessoas, a dizer não onde não vai o software livre.

“Eu não quero conversar com um amigo que não compartilha.”

Nós podemos lutar contra o Big Brother Boss é justo, é por justiça que devemos fazer isso, porque é a razão de existir a privatividade.

Nós devemos usar apenas software livre.

Usar software livre não é um mar de rosas, exige sacrifícios, um deles por exemplo é não poder ver todos os videos do youtube, por que eles (o youtube) e a adobe (fabricante do mais usado Flash Player) ficam nos sacaneando, e cada vez que conseguimos corrigir e executa-los perfeitamente então eles lançam a versão 7, 8, 9 … que torna as outras incompatíveis, e ai lançam a versão 11 e por ai vai … o que temos que fazer é nos unir e criar uma situação que nos conforte e confrontar com ‘eles’ junte-se a nós.

O tempo de lutar pela liberdade é agora.

Links uteis e referencias para esse texto:

gnu.org

fsf.org

www.defectivebydesign.org

www.linuxfoundation.org

www.vivaolinux.com.br

http://distrowatch.com/

https://www.gnu.org/distros/free-distros.html

http://www.fsfla.org/

http://softwarelivre.org

http://libreplanet.org/

http://br.windows7sins.org/

Este texto foi escrito com base na palestra de Richard Stallman em Sorocaba na Ufscar, algumas coisas foi ele realmente quem disse, outras foram a forma como entendi, e outras como eu entendo, portanto esse artigo não é uma opinião apenas dele ou minha.

Anúncios

O Programa Livre e O Código Aberto

21 maio

Recentemente, recebi de alguns amigos pedidos, para que eu distingui-se um do outro. Não creio que caiba em pouca palavras diferencia-los, eles são tão próximos que são as vezes usado como sinônimos. Vamos rever a trajetória de ambos e como surgiram os temas.

O que são Softwares?

Aquilo que chutamos é o hardware, então os programas são a parte virtual do computador, são os aplicativos, um programinha para mover, ler um texto, criar pastas, uma calculadora, são exemplos de aplicativos muito comum entre os computadores.

Para criar um programa é preciso escrever um código, e esse código é como se fosse a receita de um bolo, ele dá os passos para gerar, um bolo, no caso do bolo, é o resultado do código. Os códigos são escritos de diversas maneiras, dentre elas o texto puro, por exemplo:

echo oi

Códigos e mais símbolos

Neste nosso exemplo criamos um programas que escreve na tela “oi”. Lógico que programas mais complexos exigem códigos dentro de códigos.

Podemos dizer que os softwares possuem duas faces, uma é a linguagem binaria lida pela maquina, e a outra a do programador que é onde está escrito o código fonte.

Nos primórdios da computação, em meados dos anos setenta, a troca de códigos era comum, em geral eles trocavam código através de listas de comunicação.

Mas um dia, de repente, um programador resolve não permitir que seu programa fosse copiado, e então surge o chamado Software Proprietário, esses programas tinham códigos secretos, que limitavam também sua utilização. Mesmo comprando o Aplicativo, você só poderia usar em uma única maquina, se houvesse mais para instalar seria necessário comprar outra.

Nesta época muitos programadores se rebelaram contra a situação, dentre eles Richard Stallman, pois consideravam injusta essa situação.

Então eles começaram a escrever programas com código aberto. Sem restrição de cópia, de estudo ou modificação, e permitindo o uso para qualquer finalidade. Esses programas foram chamados de Softwares Livres. Então se você quiser copiar esses programas e entregar para outras pessoas, você é livre para tal.

Não é Unix

Diante desses dilemas, Richard Stallman iniciou um movimento que deu origem  em 1984 ao Projeto GNU, um “Sistema Operacional” Livre, e convidou outros programadores à participar.

Stallman criou uma licensa que foi apelidada de copyleft uma referência contrária ao copyright. Em uma tradução livre “Deixe copiar”. Nesta licença estão definidas as regras para um ‘Software Livre’.

0. Executar para qualquer fim
1. Estudar o programa
2. Redistribuir cópias
3. Aperfeiçoar e compartilhar

Essas regras são as guias por onde andam o software livre.

GNU é um acrônimo recursivo que quer dizer, GNU não é Unix.

http://www.gnu.org

Cerne, uma peça fundamental

Até 1990 o Projeto GNU tinha todos os softwares para um Sistema Operacional, mas estava faltando o quérneu, o núcleo central do computador.

Em 1991, o estudante Linus Torvalds, liberou a primeira versão do kernel linux. Os primeiros usuários uniram o projeto GNU com o núcleo do Torvalds, gerendo assim o GNU Linux. Os programas do Sistema Operacional GNU/Linux, foram licenciados pela Licença GPL, que garante o uso de software. Ela garante as quatro liberdades do software livre, e não permitem que elas sejam retiradas dos programas derivados, garantindo que sempre serão gerados programas livres através de software libres.

Quem pensaria mesmo há cinco anos atrás que um sistema operacional de classe mundial poderia surgir como que por mágica pelo tempo livre de milhares de colaboradores espalhados por todo o planeta, conectado somente pelos tênues cordões da Internet?

Fundação Código Aberto, sobre os ideais de programas livres

Em 1998, Eric Raymond foi um dos protagonistas, junto com Linus Torvalds, da criação da Open Source Initiative OSI, defendendo a adoção do software livre por razões técnicas e sugerindo o uso da expressão open source ao invés de free software, evitando a ambiguidade do termo free (que pode significar tanto livre quanto gratuito, na língua inglesa). Bruce Perens, um dos fundadores da OSI escreve manifesto The Open Source Definition, que compara as licenças da época. Ele considera que o Open Source (Código Aberto) se apoia no movimento do Software Livre criado por Richard Stallman.

Qualquer licença de software livre é também uma licença de código aberto (Open Source), a diferença entre as duas nomenclaturas reside essencialmente na sua apresentação. Enquanto a FSF usa o termo “Software Livre” envolta de um discurso baseado em questões éticas, direitos e liberdade, a OSI usa o termo “Código Aberto” sob um ponto de vista puramente técnico, evitando (propositadamente) questões éticas. Esta nomenclatura e discurso foram cunhados por Eric Raymond e outros fundadores da OSI com o objetivo de apresentar o software livre a empresas de uma forma mais comercial evitando o discurso ético.

Como a diferença entre os movimentos “Software Livre” e “Código Aberto” está apenas na argumentação em prol dos mesmos softwares, é comum que esses grupos se unam em diversas situações ou que sejam citados de uma forma agregadora através da sigla “FLOSS” (Free/Libre and Open Source Software).

http://opensource.org/

Guia de Definição do Código Aberto

Existe uma definição criada pelo projeto Debian que tornou-se a definição mais geral das garantias dos programas de código aberto.

Distribuição livre

A licença não deve restringir de nenhuma maneira a venda ou distribuição do programa gratuitamente, como componente de outro programa ou não.

Código fonte

O programa deve incluir seu código fonte e deve permitir a sua distribuição também na forma compilada. Se o programa não for distribuído com seu código fonte, deve haver algum meio de se obter o mesmo seja via rede ou com custo apenas de reprodução. O código deve ser legível e inteligível por qualquer programador.

Trabalhos Derivados

A licença deve permitir modificações e trabalhos derivados, e deve permitir que eles sejam distribuídos sobre os mesmos termos da licença original.

Integridade do autor do código fonte

A licença pode restringir o código fonte de ser distribuído em uma forma modificada apenas se a licença permitir a distribuição de arquivos patch (de atualização) com o código fonte para o propósito de modificar o programa no momento de sua construção. A licença deve explicitamente permitir a distribuição do programa construído a partir do código fonte modificado. Contudo, a licença pode ainda requerer que programas derivados tenham um nome ou número de versão diferentes do programa original.

Não discriminação contra pessoas ou grupos

A licença não pode ser discriminatória contra qualquer pessoa ou grupo de pessoas.

Não discriminação contra áreas de atuação

A licença não deve restringir qualquer pessoa de usar o programa em um ramo específico de atuação.

Por exemplo, ela não deve proibir que o programa seja usado em um empresa, ou de ser usado para pesquisa genética.

Distribuição da Licença

Os direitos associados ao programa devem ser aplicáveis para todos aqueles cujo o programa é redistribuído, sem a necessidade da execução de uma licença adicional para estas partes.

Licença não específica a um produto

Os direitos associados ao programa não devem depender que o programa seja parte de uma distribuição específica de programas. Se o programa é extraído desta distribuição e usado ou distribuído dentro dos termos da licença do programa, todas as partes para quem o programa é redistribuído devem ter os mesmos direitos que aqueles que são garantidos em conjunção com a distribuição de programas original.

Licença não restrinja outros programas

A licença não pode colocar restrições em outros programas que são distribuídos juntos com o programa licenciado. Isto é, a licença não pode especificar que todos os programas distribuídos na mesma mídia de armazenamento sejam programas de código aberto.

Licença neutra em relação a tecnologia

Nenhuma cláusula da licença pode estabelecer uma tecnologia individual, estilo ou interface a ser aplicada no programa.

Proposta da Fundação Livre

Fundada em 1985 a Free Software Foundation é uma organização para promover mundialmente a liberdade do usuário de computador e para defender os direitos de todos os usuários de software livre.

Como a nossa sociedade se torna mais dependente de computadores, o software que corremos é de fundamental importância para assegurar o futuro de uma sociedade livre. O software livre é sobre ter controle sobre a tecnologia que usamos em nossas casas, escolas e empresas, onde os computadores trabalham para o nosso benefício individual e comunitária, e não para empresas de software proprietário ou governos que pretendam restringir e monitorar nós.

O apoio mais importante que você pode dar para o software livre é usar software livre no seu próprio computador e defensor dentro de sua empresa ou comunidade para que outros possam adotá-lo.

https://www.fsf.org/