Introdução à Filosofia do Movimento Software Livre Adriano Rafael Gomes, address@hidden 04 de Abril de 2015, versão 1 %!encoding: UTF-8 %!target: html %!options: --toc + Resumo + Este documento apresenta uma breve introdução à filosofia do Movimento Software Livre. + Introdução + Quando participamos de um evento de Software Livre, geralmente vemos uma grande quantidade de palestras técnicas. Palestras técnicas são legais porque ensinam como usar os diversos programas livres que temos à disposição, e é importante saber usar os programas para podermos realizar bem as nossas tarefas. Mas a parte técnica, embora legal e importante, não é tudo. Muitos dos programas livres que usamos só existem porque há uma filosofia que motivou que eles fossem escritos. Esta não é uma palestra técnica. Esta é uma palestra sobre a filosofia do Movimento Software Livre, a filosofia que torna possível que nós mesmos controlemos os computadores que usamos. O público alvo dessa palestra são tanto os novos usuários que estão começando a conhecer o Software Livre agora como também os usuários antigos que já conhecem a parte técnica mas que ainda não conhecem a parte filosófica. É importante que os usuários conheçam tanto a parte técnica, para usarem bem os programas, quanto a parte filosófica, para compreenderem o valor da Liberdade de Software. + Por onde começar? + ++ A filosofia por último ++ Uma forma de conhecer o Software Livre é começar aprendendo a parte técnica primeiro e, eventualmente, depois de gostar dos programas, conhecer a filosofia. Essa forma é um pouco fraca, pois se você deixar para conhecer a filosofia por último, poderá abrir mão da liberdade no meio do caminho. ``` __ +------------+ +------------+ +------------+ | | | Programa A | | Programa B | | Programa C | | | +------------+ +------------+ +------------+ | | | | | __| |__ = fraco... v v v \ / +--------------------------------------------+ \ / | Filosofia | \ / +--------------------------------------------+ \/ ``` ++ A filosofia primeiro ++ Outra forma de conhecer o Software Livre é começar conhecendo a filosofia do Movimento Software Livre primeiro, para compreender a importância da Liberdade de Software desde cedo e, sobre essa base sólida, construir o seu conhecimento da parte técnica. Essa forma é mais forte, pois conhecendo a filosofia, dificilmente você abrirá mão da sua liberdade. ``` +------------+ +------------+ +------------+ /\ | Programa A | | Programa B | | Programa C | / \ +------------+ +------------+ +------------+ / \ ^ ^ ^ /_ _\ = FORTE! | | | | | +--------------------------------------------+ | | | Filosofia | | | +--------------------------------------------+ |__| ``` Valorizar a filosofia do Movimento Software Livre é o que fará você permanecer firme na defesa da sua liberdade. + O que é Software Livre? + Software Livre é software que respeita a liberdade do usuário. O oposto de Software Livre é software não-Livre, que não respeita a liberdade do usuário. + Por que existe o Movimento Software Livre? + O Movimento Software Livre surgiu a partir da constatação de uma injustiça: os desenvolvedores de software não-Livre exercem poder injusto sobre os usuários do software. A missão do Movimento Software Livre é combater essa injustiça e defender a liberdade dos usuários, por acreditar que os usuários merecem a liberdade, e por considerar injusto que os usuários sofram restrições sobre a sua liberdade. + Em que consiste a liberdade dos usuários? + A liberdade dos usuários consiste em os próprios usuários controlarem e compartilharem o software que usam. ++ Controle ++ Com software, ou o usuário controla o software, ou o software controla o usuário, com o programador controlando o software, exercendo poder injusto sobre o usuário. Veja quem controla quem: - Com software não-Livre, o usuário é controlado pelo programa, que é controlado pelo programador: ``` +---------+ +---------> | usuário | | +---------+ | +-------------+ +----------+ +---------+ | programador | --> | programa | --> | usuário | +-------------+ +----------+ +---------+ | | +---------+ +---------> | usuário | +---------+ ``` - Com Software Livre, os usuários controlam o programa, e o programador não controla os usuários: ``` +---------+ +---------- | usuário | | +---------+ v +-------------+ +----------+ +---------+ | programador | --> | programa | <-- | usuário | +-------------+ +----------+ +---------+ ^ | +---------+ +---------- | usuário | +---------+ ``` ++ Compartilhamento ++ Com software, ou o usuário compartilha o software, fazendo parte de uma comunidade forte e autossuficiente, ou o usuário é proibido de compartilhar o software, ficando dividido dos demais usuários, sem poder participar de uma comunidade, e acaba enfraquecido e sofrendo mais poder injusto. Veja como ficam os usuários: - Com software não-Livre, os usuários ficam divididos: ``` +---------+ +---------+ +---------+ | usuário | / | usuário | / | usuário | +---------+ +---------+ +---------+ / / / = divididos +---------+ +---------+ +---------+ | usuário | / | usuário | / | usuário | +---------+ +---------+ +---------+ ``` - Com Software Livre, os usuários formam uma comunidade: ``` +---------+ +---------+ +---------+ | usuário |<--+-->| usuário |<--+-->| usuário | +---------+ +---------+ +---------+ ^ ^ ^ | | | + + + = comunidade | | | v v v +---------+ +---------+ +---------+ | usuário |<--+-->| usuário |<--+-->| usuário | +---------+ +---------+ +---------+ ``` ++ As quatro liberdades essenciais ++ Para que os usuários controlem e compartilhem o software, é necessário que sejam respeitadas quatro liberdades essenciais dos usuários. São estas as quatro liberdades essenciais que devem ser respeitadas para o software ser qualificado como Livre: - Liberdade 0: executar o programa - Liberdade 1: modificar o programa - Liberdade 2: copiar o programa - Liberdade 3: distribuir cópias da sua versão modificada do programa +++ Liberdade 0: executar o programa +++ A Liberdade 0 é a liberdade de executar o programa, como você quiser, para qualquer propósito. A liberdade de executar o programa significa que qualquer pessoa ou organização tem liberdade de executar o programa para qualquer tarefa ou propósito que queira, sem ter que comunicar ou pedir autorização ao desenvolvedor do programa ou a qualquer entidade. É o propósito do usuário que importa, e não o propósito do desenvolvedor do programa. +++ Liberdade 1: modificar o programa +++ A Liberdade 1 é a liberdade de estudar como o programa funciona, e de modificar o programa para que ele funcione como você quiser. Ter acesso ao código fonte do programa é um pré-requisito para essa liberdade. A liberdade de modificar o programa é importante para que você possa controlar individualmente o que o programa faz e possa adaptá-lo para que ele atenda as suas necessidades. Se você não souber ou não quiser fazer as modificações você mesmo, você poderá convencer alguém a fazer as modificações para você e, ainda assim, controlar o que o programa faz. +++ Liberdade 2: copiar o programa +++ A Liberdade 2 é a liberdade de fazer cópias idênticas do programa e distribuí-las a quem você quiser, de modo a ajudar o seu próximo e a ser ajudado por ele. +++ Liberdade 3: distribuir cópias da sua versão modificada do programa +++ A Liberdade 3 é a liberdade de você distribuir a sua versão modificada do programa a quem você quiser, de modo a beneficiar a sua comunidade com as modificações feitas por você, e vice-versa, ou seja, você receber as modificações que a comunidade distribuir. Ter acesso ao código fonte do programa é um pré-requisito para essa liberdade. Mesmo para um excelente programador de computadores é impossível conseguir fazer sozinho todas as modificações necessárias nos diversos programas que usa, porque isso seria um trabalho imenso devido à enorme quantidade de programas livres existentes. Por isso, é importante ter a liberdade de colaborar com os demais, formando uma comunidade. + Porque é importante o usuário ter controle sobre o software? + Considerando que: - Programas de computador são obras com propósitos práticos, ou seja, usamos os programas de computador para realizar as nossas tarefas. - Liberdade significa você próprio estar no controle das suas ações, ao invés de estar sujeito ao controle de outra pessoa. Se conclui que: - Para ser livre, você precisa estar no controle de cada tarefa que você realiza usando programas de computador. Para tanto, você deve ter controle sobre cada um dos programas que você usa para realizar cada uma das suas tarefas. Do contrário, quem controla o que o programa faz e, consequentemente, como é feita a sua tarefa não é você, mas sim o desenvolvedor do programa. + Por que se importar com isso? + Infelizmente, existem no mundo outras e mais graves injustiças do que a injustiça causada pelo software não-Livre. Então, por que se importar com isso? - O primeiro motivo é que, mesmo havendo injustiças mais graves do que essa, ainda assim essa é uma injustiça e, como tal, deve ser combatida. - O segundo motivo é que essa é uma injustiça que acontece em um campo do conhecimento humano no qual nós, que temos conhecimento técnico na área, temos condições de agir para transformar a situação e eliminar essa injustiça, escrevendo Software Livre para substituir todo o software não-Livre ainda existente. - O terceiro motivo é que a quantidade de atividades humanas que são realizadas com uso de software está aumentando com o passar do tempo e com o avanço da tecnologia, aumentando também o alcance da injustiça sobre os usuários quando as tarefas são realizadas usando software não-Livre. - O quarto motivo é que para termos uma sociedade livre, temos que lutar por liberdade em todas as áreas. As diversas liberdades dependem umas das outras e se fortalecem umas com as outras, e nossa sociedade é tão livre quanto a mais fraca das liberdades. ``` ################### # Sociedade Livre # ################### | | +---------------+--------------+--------------+---------------+ | | | | | | | | | | +------------+ +-----------+ ############# +------------+ +------------+ | Liberdade | | Liberdade | # Liberdade # | Liberdade | | Demais | | de | | de | # de # | de | | liberdades | | Pensamento | | Expressão | # Software # | Associação | | ... | +------------+ +-----------+ ############# +------------+ +------------+ | | +-------+--------+ | | | | ############ #################### # Controle # # Compartilhamento # ############ #################### | | | | +-------+--------+ | | +--------------+-----+------+-------------+ | | | | | | | | ############ ############# ########## ############### # Executar # # Modificar # # Copiar # # Distribuir # ############ ############# ########## # versões # # modificadas # ############### ``` + Para saber mais + Para saber mais a respeito da filosofia do Movimento Software Livre, acesse http://www.gnu.org/philosophy/philosophy.html.