Software livre
Software livre é o software que concede liberdade ao usuário para executar, acessar e modificar o código fonte, e redistribuir cópias com ou sem modificações. Para que essas liberdades sejam possíveis, o acesso ao código-fonte é fundamental, permitindo que o usuário compreenda o funcionamento do programa e o adapte às suas necessidades. Sua definição está associada à Free Software Foundation em conjunto com o projeto GNU. O conceito foi desenvolvido e difundido por Richard Stallman, fundador da FSF, software livre é qualquer programa de computador que pode ser usado, copiado, estudado, modificado e redistribuído sem nenhuma restrição. É permitido vender software livre, entretanto as mesmas liberdades são válidas para o comprador. Justamente ele defende que os usuários devem ter liberdade para usar, copiar, estudar, modificar e compartilhar software. É permitido vender software livre, desde que as mesmas liberdades sejam preservadas para os demais usuários.
Imagem: fislquinze · BY-NC-SA · Openverse
As duas principais organizações internacionais responsáveis pela proteção e promoção do software livre, a Free Software Foundation (FSF) e a Open Source Initiative (OSI), atuam para garantir que os termos Free Software e Open Source sejam utilizados de forma correta.
Definição de software livre da Free Software Foundation (FSF)
A FSF considera um software livre quando atende a quatro tipos de liberdade para os usuários: Lembrando que o acesso ao código-fonte é um pré-requisito para as liberdades 2 e 4, uma vez que não é possível estudar ou modificar o programa sem acessar o código-fonte. Para que as quatro liberdades sejam satisfeitas, é necessário que o programa seja distribuído juntamente com o seu código-fonte e que não sejam colocadas restrições para que os usuários alterem e redistribuam esse código. A liberdade de executar o programa significa que qualquer tipo de pessoa física ou jurídica pode utilizar o software em quantos computadores quiser, em qualquer tipo de sistema computacional, para qualquer tipo de trabalho ou atividade, sem nenhuma restrição imposta pelo fornecedor.
Definição de código aberto da Open Source Initiative (OSI)
A OSI optou pelo termo Open Source para afastar-se do estigma filosófico e político do termo "software livre". A disponibilidade do código-fonte não é condição suficiente para que o software seja considerado de código aberto. É necessário satisfazer dez critérios, inspirados na Definição Debian de Software Livre:
Imagem: fislquinze · BY-NC-SA · Openverse
Em termos gerais, as definições de software livre e de código aberto descrevem um corpus muito semelhante de softwares. O conjunto de licenças aprovadas pela FSF e pela OSI é quase idêntico e, portanto, em termos pragmáticos, podemos considerar que o movimento pelo software livre e a iniciativa pelo código aberto se preocupam com o mesmo software. A diferença principal está no discurso e no público-alvo de cada iniciativa. Os defensores do software livre (liderado pela FSF) argumentam que a liberdade é essencial não só do ponto de vista técnico do programa, mas também sob a ótica da moral e da ética. Ocupam-se de outros aspectos da liberdade (como as licenças de conteúdo) e se opõem ao software proprietário, afirmando que “o inimigo é o software privativo”. Em geral, adeptos da FSF não concordam com o termo código aberto e não usam esse termo. Enquanto o movimento de software livre tem veios filosóficos e políticos, o movimento de código aberto (liderado pela OSI) se ocupa do aspecto pragmático, abstendo-se da postura filosófica do movimento da FSF e não opondo-se a existência de softwares proprietários. Visando fomentar a adoção do software de código aberto como uma solução viável para ambientes corporativos, a OSI elaborou sua licença, que inclui algumas restrições adicionais focadas no modelo corporativo e em negócios comerciais elaborados em torno do software.
Imagem: fislquinze · BY-NC-SA · Openverse
Software livre é um termo que designa programas de computador que oferecem aos usuários um conjunto de liberdades essenciais para controlar o software e como ele é utilizado. Essas liberdades, definidas pela Free Software Foundation, incluem: O software livre valoriza o senso de comunidade, onde usuários podem colaborar no desenvolvimento, compartilhamento e aprimoramento do software. Exemplos comuns de software livre incluem o sistema operacional GNU/Linux e os softwares desenvolvidos pelo Projeto GNU. É importante distinguir software livre de software gratuito (ou freeware). Enquanto o software gratuito está disponível sem custo financeiro, ele geralmente não oferece as mesmas liberdades. O código-fonte pode não ser acessível, impedindo a modificação e o estudo do programa, e podem existir restrições de uso. Mesmo sendo gratuito em termos de preço, pode haver outras formas de "custo", como anúncios ou coleta de dados, e a liberdade do usuário sobre o software é limitada.
Imagem: fislquinze · BY-NC-SA · Openverse
A maioria das licenças de software livre são baseadas no copyright, e existem limites para que tipo de requerimentos podem ser impostos por meio do copyright. Se uma licença baseada no copyright respeita a liberdade nas maneiras descritas acima, é improvável que ela possua algum outro tipo de problema nunca antes antecipado (embora isso ocorra ocasionalmente). No entanto, algumas licenças de software livre baseadas em contratos e contratos podem impor uma lista muito maior de restrições possíveis. Isso significa que existem muitas maneiras nas quais tal licença pode ser inaceitavelmente restritiva e não livre.
Imagem: fislquinze · BY-NC-SA · Openverse
Uma importante característica do software livre é o compartilhamento de código-fonte. Esse compartilhamento pode simplificar o desenvolvimento de novas aplicações, que não precisam ser programadas a partir do zero. Essa vantagem tem impacto significativo na redução de custos e na diminuição da duplicação de esforços. Além de que um maior número de desenvolvedores pode ser capaz de identificar e corrigir mais bugs (falhas) em menos tempo e um número maior de usuários pode gerar situações de uso e necessidades variadas. É esperado que o desenvolvedor seja mais cuidadoso com o seu trabalho pois sabe que a sua produção será avaliada por outros profissionais e possivelmente terá reflexos em sua carreira profissional. Do ponto de vista econômico, o software livre promove o estabelecimento de vários fornecedores com base no mesmo software. A competição entre fornecedores traz vantagens aos usuários, como melhorias nos serviços de suporte e redução nos preços de pacotes (manuais, CDs, etc). Cerca de 80% do dinheiro gasto com software pelas empresas são voltados para aplicações personalizadas e treinamento. Esse modelo de negócio (suporte e venda de pacotes) incentiva o surgimento de pequenas empresas que podem atender os mercados locais e consequentemente redução da dependência de empresas estrangeiras.
Imagem: fislquinze · BY-NC-SA · Openverse
O modelo de desenvolvimento do software livre permite que diferentes pessoas participem da criação e melhoria dos programas. Como os usuários podem estudar o código-fonte, modificá-lo e distribuir versões alteradas, um projeto pode receber contribuições de pessoas com diferentes conhecimentos e necessidades. Essas contribuições podem envolver programação, correção de problemas, documentação e outras melhorias. A colaboração também pode levar à formação de comunidades em torno dos projetos. Os participantes podem compartilhar conhecimentos e versões modificadas do software, permitindo que outras pessoas utilizem essas melhorias e também contribuam para o desenvolvimento. Dessa forma, o software livre pode ser desenvolvido de maneira colaborativa, com a participação de diferentes usuários e desenvolvedores
Imagem: fislquinze · BY-NC-SA · Openverse
Durante a década de 60, os computadores de grande porte, utilizados quase exclusivamente em grandes empresas e instituições governamentais, dominavam o mercado da Computação. Nesta época, não era comum do ponto de vista comercial a ideia do software como algo separado do hardware. O software era entregue junto com o código-fonte ou, em muitas vezes, apenas o código-fonte. Existiam grupos de usuários que compartilhavam código e informações. Assim, no início, o software era livre: pelo menos para aqueles que tinham acesso à tecnologia da época. Em 1983, Richard Stallman, funcionário do Laboratório de Inteligência Artificial do MIT, passou por uma experiência negativa com software proprietário e deu origem ao Projeto GNU. Durante o período que estava no MIT identificou uma falha no software de uma impressora Xerox. Tentou corrigi-la, mas a empresa não liberou o código-fonte. Esse fato motivou Richard Stallman a criar um mecanismo legal de garantia para que todos pudessem desfrutar dos direitos de copiar, redistribuir e modificar software, dando origem a Licença GPL. Para institucionalizar o Projeto GNU, Stallman fundou a Free Software Foundation ( FSF). Nasce assim o Movimento do Software Livre.
Imagem: fislquinze · BY-NC-SA · Openverse
Ao longo da evolução do modelo de desenvolvimento empregado em software livre, alguns projetos se destacaram dentro da comunidade de desenvolvedores e ganharam prestígio de um grupo de usuários pela sua qualidade. Esses projetos podem ser considerados ícones que representam o sucesso de uma metodologia que no início não atraiu empresas a adotarem-no devido à sua informalidade e a valorização dos indivíduos sobre o processo. Dentre os projetos que conquistaram tal prestígio estão o navegador web Mozilla Firefox e o sistema operacional para smartphones e tablets Android.
GNU/Linux
Considerado o principal projeto de software livre existente, o GNU/Linux é a junção do núcleo Linux (Linux kernel), desenvolvido por Linus Torvalds em outubro de 1991 e o pacote de serviços e ferramentas originados do projeto GNU, liderado por Richard Stallman e iniciado em 1984. O GNU/Linux é um dos sistemas operacionais mais usados em servidores no mundo, o que pode ser justificado pela estabilidade e relativa imunidade a erros, além de ser compatível com uma imensa quantidade de aplicações. Ele foi o principal responsável pelo reconhecimento do sucesso do modelo de desenvolvimento de software livre. O núcleo Linux é a base para o Android, tornando-se um dos sistemas dominantes em smartphones e tablets.
GNOME
GNOME é um ambiente de área de trabalho e interface gráfica com o usuário (GUI) que roda sobre o sistema operacional. Composto inteiramente por software livre, ele pode ser usado em sistemas operacionais compatíveis com Unix. Atualmente (2012) é um dos principais ambientes gráficos para computadores pessoais, sendo a GUI padrão para a distribuição GNU/Linux mais popular do mercado, o Ubuntu. Além disso, é também utilizado no OpenSolaris e em outras importantes distribuições, tais como Debian, Red Hat Enterprise Linux e Fedora.
Servidor Apache
O servidor HTTP Apache, ou simplesmente Apache, é um exemplo de Software GNU/Livre notável, pois é o servidor HTTP mais popular da WEB e, desta forma, responsável pelo processamento da maior parte das páginas disponibilizadas atualmente na Internet. Ao contrário de alguns servidores web proprietários, o Apache é multiplataforma, podendo ser usado em sistemas POSIX (Unix, GNU/Linux, FreeBSD, etc), Windows e Mac OS.
Eclipse
Originado a partir do VisualAge da IBM, o Eclipse é um dos principais ambientes integrados de desenvolvimento de software (IDE) para a plataforma Java. Desenvolvido na própria linguagem Java, é considerado um dos melhores IDEs do mercado, sendo o pioneiro em diversos recursos de refatoração. Sua qualidade atraiu a comunidade de desenvolvedores, que criou suporte a diversos SDKs e linguagens de programação, tais como C/C++, Php e Python. Atualmente (2012) é usado como ferramenta oficial para diversas plataformas. Um exemplo notável é sua adoção como a IDE padrão para desenvolvimento de aplicativos para o sistema operacional Android.
Imagem: fislquinze · BY-NC-SA · Openverse
Motivação
Os desenvolvedores de software na década de 70 frequentemente compartilhavam seus programas de uma maneira similar aos princípios do software livre. No final da mesma década, as empresas começaram a impor restrições aos usuários com o uso de contratos de licença de software. Em 27 de setembro de 1983, Richard Stallman postou uma mensagem nos grupo de notícias net.unix-wizards e net.usoft com o assunto new Unix implementation. Nessa mensagem, ele informa que está começando a escrever um sistema compatível com UNIX chamado GNU (um acrônimo recursivo para Gnu’s Not Unix) e que ele será dado a todas as pessoas interessadas. No início de 1984 largou seu emprego no laboratório de Inteligência Artificial do MIT, para dedicar-se em tempo integral ao projeto. E em outubro de 1985 Stallman fundou a Free Software Foundation ( FSF) e introduziu os conceitos de software livre e Copyleft, os quais foram especificamente desenvolvidos para garantir que a liberdade dos usuários fosse preservada.


