Este documento discute como contribuir com o mundo do software livre através de comunidades. Apresenta um breve histórico do software livre desde os anos 1960 e define o que são software livre e código aberto. Explora como contribuir por meio de compartilhamento de conhecimento, experiência e trabalho voluntário em projetos de software livre.
Práticas sociais, tecnologia e conhecimento: mediações
Como contribuir com o Mundo do Software Livre
1. Curso de Bacharelado em Sistemas de Informação
Como poderei contribuir com o Mundo do Software Livre
Dayanna Ribeiro Quintino , 1
Matheus de Souza , 2
José do Nascimento Sousa , 3
Wilson Dias 4
Brasília, DF Junho/2013
Resumo: Como alavanca para sucesso e continuidade de um software livre ou de
código aberto, são criadas comunidades de usuários anônimos e/ou profissionais que
através de dedicação, conhecimento e experiência, compartilham e contribuem para o
desenvolvimento de diversos projetos. Neste artigo, à cerca das comunidades de
softwares livres, é apresentado um breve histórico do software livre, o que são
códigos abertos, a diferença entre software livre e código aberto, o que são
comunidades, como contribuir com o mundo do software livre, as comunidades mais
populares e as vantagens e desvantagens da contribuição destes projetos.
Palavraschave: Comunidades.Contribuição.Software Livre.
1. Introdução
É cada vez mais frequente a adoção de tecnologias livre para uso nas diversas
áreas da sociedade como: saúde, educação, bancária, militar, governamental entre
outras. Segundo Hexsel (2002), tem também crescido reportagens freqüentes, sobre o
assunto, na mídia não especializada. O fenômeno é apresentado como novidade, mas
na verdade o processo de desenvolvimento de programas para serem distribuídos
como software livre tem sua origem na década de 60. Desde então seu
desenvolvimento foi crescente, com períodos de maior produtividade em meados da
1
Aluno do curso de Bacharel em Sistemas de Informação, dynux.x@gmail.com
2
Aluno do curso de Bacharel em Sistemas de Informação, m1t2h3@gmail.com
3
Aluno do curso de Bacharel em Sistemas de Informação, josesousa1@gmail.com
4
Especialista em Perícia Forense Computacional e professor no curso de BSI da Faculdade Alvorada,
professor.wilsondias@gmail.com
1/16
2. Curso de Bacharelado em Sistemas de Informação
década de 80, com o movimento que defende o uso do software livre e assim até os
dias de hoje.
Segundo Almeida (2000), a adoção do software livre é uma alternativa
imprescindível para suprir as necessidades do usuário, sem ter que gastar com
licenças de softwares, como ocorre com aquisições de softwares proprietários
(Softwares de código fonte fechado).
Assim como o crescimento da adoção do software livre, tem crescido o número
de comunidades composta por programadores, engenheiros e pessoas da
comunidade dispostas a ajudar e difundir os softwares livres.
O presente artigo mostrará um pequeno histórico sobre o surgimento do termo
software livre, assim como o movimento que defende estes softwares. Também será
apresentado algumas formas de colaborações que podem ser feita por qualquer
usuário, para o crescimento da comunidade mundial de software livre.
2. Tema e Justificativa
Compartilhar conhecimento e participar de projetos, através da dedicação e do
trabalho vonluntário, é a base para quem quer contribuir para o mundo dos softwares
livres. As comunidades são formadas por pessoas que têm o objetivo comum de
ajudar no desenvolvimento de softwares livres, da forma que lhes são possíveis,
partilhando informação, experiência e obtendo ainda, oportunidades de aprender cada
vez mais com esses projetos.
3. Objetivos
Apresentar as diversas formas de como contribuir para o mundo dos softwares
livres, através de um breve histórico e conceito de software livre, a diferença entre
software livre e código aberto, as comunidades e vantagens e desvantagens de
contribuir com esses projetos.
2/16
3. Curso de Bacharelado em Sistemas de Informação
4. Comunidades de Softwares Livres
4.1. Breve histórico
De acordo com Luz (2007) na década de 50 e 60, praticamente não se
considerava a hipótese de vender softwares, eles eram gratuitos e livremente
distribuídos em formato fonte, pois existiam poucos computadores no mundo e o valor
real estava na máquina em si e não nos programas. Com o grande crescimento da
informática, criação de empresas de TI e a demanda que surgiu com a disseminação
dos computadores, fizeram com que esse método de desenvolvimento baseado na
liberdade e cooperação não fosse suficiente, e assim as empresas do setor
começaram a vender os softwares separados das máquinas, gerando uma indústria
bilionária que começou a buscar mecanismos de proteção de propriedade intelectual
como direitos autorais e patentes, para se proteger da acirrada concorrência e garantir
suas vantagens competitivas.
Em 1969, foi desenvolvido pela AT&T, o sistema Unix. O uso deste sistema era
gratuito para o uso acadêmico, sendo cobrado apenas uma taxa para o uso comercial.
Assim, ele cresceu rapidamente. Entretanto, no início dos anos 80, a AT&T mudou
sua política de comercialização e restringiu a liberdade de modificação do código fonte
e o termo Unix passou a ser reservado unicamente para a sua própria versão. Do
outro lado, em resposta, diversas empresas de TI como IBM, HP e Sun começaram a
desenvolver suas próprias versões proprietárias que eram e são distribuídas em
código binário.
Segundo CAMPOS (2006) o movimento que defende o uso dos softwares livre
começou na década de 80 com o Projeto GNU fundado por Richard Stallman.
De acordo com Hexsel (2002) Stallman, frustrado com a crescente
comercialização dos softwares, pediu demissão do Massachusetts Institute of
Technology (MIT), onde trabalhava como programador, para trabalhar no
desenvolvimento de um sistema operacional completo a ser distribuído como software
3/16
4. Curso de Bacharelado em Sistemas de Informação
livre. Este sistema seria chamado de GNU (GNU’s not Unix, é isofônico à palavra
Inglesa new) e seria composto por um sistema operacional e uma série de aplicativos
e utilitários. O projeto GNU foi desenvolvido no ambiente Unix porque este era o
sistema tecnicamente mais avançado e estava disponível para várias plataformas. Em
1984, Stallman publicou o Manifesto GNU, onde definiu o que se entende por software
livre e solicitou a participação de outros programadores na enorme tarefa a que se
propunha.
Ainda segundo Hexsel (2002) originase a partir do Projeto GNU a Free
Software Foundation (FSF), liderada por Stallman. No início da década de 90, já tinha
sido desenvolvido a maior parte das ferramentas de apoio, faltando o núcleo do
sistema operacional. Neste mesmo período, Linus Torvalds, disponibiliza na internet o
código fonte de um núcleo de sistema operacional, desenvolvido por ele, batizado de
Linux.
Torvalds solicita a colaboração de outros programadores para que estes
desenvolvessem as partes ainda faltantes. A resposta foi entusiástica e em menos de
dois anos Linux já havia se tornado um sistema razoavelmente estável. Os esforços
da FSF e da comunidade Linux foram conjugados e o sistema GNU/Linux passou a
ser distribuído e desde então vem sendo continuamente desenvolvido e aperfeiçoado.
Também nos anos 90, segundo Silva (2009) o software livre passou a ser uma
alternativa popular para servidores Web, o Servidor Apache tornouse o servidor Web
mais utilizado. Sistemas baseados no Linux, com servidor Apache, SGBD MySQL e
PHP tornaramse conhecidas como sistemas LAMP. (Open Source).
Em 1997, Eric Raymound publicou o artigo “A Catedral e o Bazar”, uma análise
reflexiva sobre os princípios do software livre. Conforme Silva (2009) relata que o
artigo influenciou fortemente a decisão da Netscape de, em 1998, disponibilizar seu
navegador (hoje conhecido como Mozilla Firefox) como software livre.
A Netscape, Raymound e outros passaram a buscar alternativas para aproximar
4/16
5. Curso de Bacharelado em Sistemas de Informação
a indústria do software comercial aos princípios do software livre. Foi assim que em
Fevereiro de 1998 fundouse a Open Source Initiative (OSI).
Stallman e a FSF discordaram da abordagem da nova organização por achar
que a filosofia da liberdade e os valores sociais defendidos haviam sido deixados de
lado em favor de um modelo centrado nos benefícios práticos da adoção do modelo
livre.
No entanto, Stallman considera a OSI uma aliada na luta contra o software
proprietário.
4.2. O que é Software Livre?
Hexsel (2002) destaca que software livre é aquele em que o usuário pode usar,
copiar e distribuir, pode ser o original ou com alterações gratuitamente ou com custos.
O ponto fundamental para ser livre é ter seu código fonte acessível para análises,
alterações e distribuição pelos seus usuários.
Hexsel (2002) ainda ressalta a importância de não confundir software livre com
software grátis, pois, a liberdade associada ao software livre de copiar, modificar e
redistribuir, independe de gratuidade. Existem programas que podem ser obtidos
gratuitamente, mas que não podem ser modificados, nem redistribuídos. Portanto, o
usuário pode ter pago para receber cópias de software livre, ou pode ter obtido cópias
sem nenhum custo. Mas independente de como foi obtido a cópia, o usuário sempre
tem a liberdade de copiar e modificar o software, ou mesmo de vender cópias.
Software Livre é uma questão de liberdade, não de preço (Silva, 2009, p.4).
De acordo com Campos (2006) um software só pode ser considerado livre se
possuir 4 tipos de liberdade, são elas:
● Liberdade Nº 0 A liberdade de executar o programa, para qualquer propósito.
● Liberdade Nº 1 A liberdade de estudar como o programa funciona, e
adaptálo para as suas necessidades.
5/16
6. Curso de Bacharelado em Sistemas de Informação
● Liberdade Nº 2 A liberdade de redistribuir cópias de modo que você possa
ajudar ao seu próximo.
● Liberdade Nº 3 A liberdade de aperfeiçoar o programa, e liberar os seus
aperfeiçoamentos, de modo que toda a comunidade se beneficie.
Para as liberdade 1 e 3 o acesso ao código fonte é um prérequisito.
Segundo Campos (2006) o usuário deve ter a liberdade de fazer modificações
e usálas privativamente no seu trabalho ou lazer, sem nem mesmo mencionar que
elas existem. Se o usuário publicar as modificações, não é obrigado a avisar a
ninguém em particular, ou de nenhum modo em especial.
Ainda segundo Campos (2006) 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.
4.3. O que é Código Aberto (Open Source)?
Segundo a OSI, open source não significa apenas acesso ao códigofonte. Os
principais termos de distribuição de software opensource deve cumprir os seguintes
critérios:
● Redistribuição livre
A licença não deve restringir nenhuma parte de vender ou doar o software
como um componente de uma distribuição agregada de software contendo programas
de várias fontes diferentes. A licença não deve exigir um royalty ou outra taxa para tal
venda.
Justificativa: Ao restringir a licença para exigir redistribuição livre, nós
eliminamos a tentação de jogar fora muitos ganhos a longo prazo, a fim de fazer
alguns dólares a curto prazo de vendas. Se não fizéssemos isso, haveria muita
6/16
7. Curso de Bacharelado em Sistemas de Informação
pressão para colaboradores de defeito.
● Códigofonte
O programa deve incluir código fonte e deve permitir a distribuição em código
fonte, bem como em formato compilado. Onde alguma forma de um produto não é
distribuído com código fonte, deve haver um meio bem divulgado de obter o
códigofonte de não mais do que um custo de reprodução razoável de preferência, o
download via Internet sem custos. O código fonte deve ser a forma preferida no qual
um programador modificaria o programa. Código fonte deliberadamente ofuscado não
é permitido. Formas intermediárias como a saída de um préprocessador ou tradutor
não são permitidas.
Justificativa: É necessário acesso a unobfuscated código fonte, porque você
não pode evoluir programas sem modificálos. Uma vez que nosso propósito é fazer
com que a evolução fácil, exigimos que a modificação ser feita fácil.
● Obras derivadas
A licença deve permitir modificações e trabalhos derivados e deve permitir que
estes sejam distribuídos sob os mesmos termos que a licença do software original.
Justificativa: A simples capacidade de ler fonte não é suficiente para suportar
análise independente pelos pares e de seleção evolutiva rápida. Para a evolução
rápida para acontecer, as pessoas precisam ser capazes de experimentar e
modificações redistribuir.
Ainda segundo a OSI existem mais 7 termos de distribuição do Open Source,
sendo eles: Integridade do autor do códigofonte; Não discriminação contra pessoas
ou grupos; Não discriminação contra áreas de atuação; Distribuição da licença;
Licença não específica a um produto; Licença não restritiva a outros programas;
Licença neutra em relação à tecnologia.
4.4. Software Livre (Free Software) X Código Aberto (Open Source)
7/16
8. Curso de Bacharelado em Sistemas de Informação
Para Filho et al (2005) os princípios do software livre (SL) quanto ao de código
aberto (CA), fundamentamse nas premissas básicas que são a de liberdade de
expressão, acesso à informação e do caráter eminentemente coletivo do
conhecimento, o software é mais uma forma de representar e organizar o
conhecimento, sendo assim é um bem comum que deve ser construído e
disponibilizado democraticamente, e não privatizado, ou seja, sua difusão e uso
devem ser livres.
Ainda segundo Filho et al (2005) mesmo SL e CA fazerem parte do mesmo
tema que é a produção e uso de software não proprietário, são categorias distintas.
Tanto um quanto o outro, são ativos que podem ou não ser monetizados e
transacionados nos mercados, dependendo da situação. Uma vez que software livre
não diz respeito à gratuidade, mas sim à liberdade. Liberdade essa que é
basicamente a de modificar, reproduzir e utilizar livremente, desde que não se
restrinja o uso e a capacidade de uso por outrem, sendo assim, enquanto a idéia de
SL está vinculada a questões de garantia e perpetuação das liberdades citadas, as de
CA estão mais ligadas a questões práticas de produção e negócio, como a agilidade
no desenvolvimento do software através de comunidades abertas.
Se um desenvolvedor criar um software utilizando trechos de software
apresentado originariamente com uma licença de código aberto, poderá a seu critério,
usar qualquer outra licença, inclusive “fechar” o código que é a não outorga dos
direitos de origem (liberdade de utilização, cópia, modificação e redistribuição).
Agora, se o trecho for de um software tido originariamente como livre (como a General
Public License GPL), isso não ocorrerá, pois os direitos originais outorgados aos
usuários devem supostamente ser propagados para as novas versões e trabalhos
derivados criados a partir daquele original, impede, em tese, que se “feche” o código
(FILHO et al, 2005).
Dizemos em tese porque nada impede que o próprio autor resolva, em algum
momento, colocar seu desenvolvimento em uma outra licença, menos restritiva que
8/16
9. Curso de Bacharelado em Sistemas de Informação
aquela inicialmente registrada. O direito de autor sempre se sobrepõe, pelo menos no
plano legal, aos muitos tipos de licenças que hoje são utilizadas em SL/CA. (FILHO et
al, 2005, pg.4).
Para Campos (2006) o movimento Free Software e o movimento Open Source
são como dois campos políticos dentro da comunidade de software livre, que mesmo
discordando dos princípios básicos, concordam (mais ou menos) nas recomendações
práticas. Assim, podem de fato, trabalharem juntos em diversos projetos específicos.
O movimento Software Livre não ver o movimento Open Source como um inimigo e
sim como parceiro contra o software proprietário.
Tabela 1: Software Livre X Código Aberto
Fonte: Tabela feita com base no material de pesquisa
4.5. O que são as comunidades?
Segundo MIXON(2009) comunidades de software livre são a base ou o que
define o desenvolvimento de software livre. As comunidades são criadas afim de
reunir talentos e pessoas dispostas a ajudar na criação e manutenção de projetos
como é descrito na página do projeto de software livre da comunidade
UbuntuBR(2010), onde cada membro tem como responsabilidade participar e
9/16
10. Curso de Bacharelado em Sistemas de Informação
contribuir para o caminhar do projeto afim de alcançar o sucesso.
Também é descrito que para o sucesso de uma comunidade, está deve
conhecer seus objetivos e como cada membro poderá contribuir. Para que a criação e
organização de uma comunidade pode se utilizar de ferramentas diversas, como:
grupos de discussão, blogs, wikis, redes sociais e entre outros.
Dentro das comunidades são especificados seus códigos de conduta, as
formas de contribuir com o projeto, responsáveis e definidos os objetivos a serem
alcançados que podem definir o fim do projeto.
4.5.1. Como contribuir para o mundo do Software Livre?
Segundo KIROTAWA(2006), o primeiro passo para a colaboração de um
projeto é conhecêlo bem. É importante que haja conhecimento do projeto, em sua
estrutura, linguagem da qual foi desenvolvida, conhecer a documentação do projeto ou
que simplesmente, como usuário, saiba o que é necessário para que o software seja
útil, prático e funcional.
Desta forma, o novo colaborador deve se inscrever nas listas de discussões de
fóruns do projeto ao qual escolheu, para se apresentar aos demais integrantes, se
informar dos procedimentos iniciais para a contribuição do projeto e apresentar as
suas propostas. (OREANA, 2008)
Segue algumas formas, das quais podem ser utilizadas para contribuir com o
mundo do software livre:
● Design Contribuir com melhorias no layout do software, criando ícones,
retirando botões inutilizados, deixandoo com a aparência mais adequada,
amigável e de fácil usabilidade;
● Traduções Se não possui conhecimento nas áreas de linguagem de
programação, codificação ou estrutura de softwares, podese colaborar com a
tradução do projeto, permitindo que este seja acessível aos que não possuem
10/16
11. Curso de Bacharelado em Sistemas de Informação
domínio em outros idiomas ;
● Relatos de Erros Uma maneira simples e importante para colaboração é
relatar a presença de erros para que os desenvolvedores tenham
conhecimento de sua existência e possam assim, eliminálos.
● Correções Aqueles que têm o conhecimento na área de codificação e
linguagem de programção da qual o projeto foi desenvolvido, assim que tomar
ciência de bugs (erros) no projeto, podem tomar a iniciativa de corrigílos,
contribuindo para a otimização do software;
● Sugestões Usuários finais, que não possuem conhecimento ou domínio em
nenhuma área de desenvolvimento do software, podem contribuir ainda,
sugerindo novas ferramentas, novos itens criativos e úteis para a comunidade
do software.
● Desenvolvimento (codificação) O conhecimento em estrutura, linguagem de
programação e técnicas de desenvolvimento em softwares, é uma das
principais e mais significantes colaborações das comunidades, onde muitos
desenvolvedores profissionais e anônimos, contribuem para a codificação dos
softwares livres.
● Documentação A criação e organização da documentação do software livre,
assim como o estabelecimento de regras ou alguma limitação, além da licença
atribuída, é uma das formas de colaboração para o desenvolvimento do projeto;
● Doações Além de usuários, há empresas que utilizam softwares livres que
contribuem em doações simbólicas para o sustento do software livre,
patrocinando o projeto ou ainda doando recursos para o desenvolvimento do
mesmo;
● Promoção Promover o projeto também é de papel fundamental para o seu
sucesso e distribuição. Muitos usuários contribuem divulgando o software em
encontros e eventos tecnológicos permitindo sua emancipação no mundo da
tecnologia.
4.5.2. Exemplos de comunidades populares.
11/16
12. Curso de Bacharelado em Sistemas de Informação
O mundo do software livre é sustentado por um conceito de compartilhamento
de conhecimento e por isso é tão importante o papel das comunidades e de seus
colaboradores participando dos fóruns e desenvolvimento de novas funções ou
melhorias.
4.5.2.1 UBUNTU BR
Comunidade brasileira dedicada a troca de conhecimento e novas funções
voltadas as versões da distribuição Ubuntu. Está comunidade conta com código de
conduta e um conselho que controla as atividades dentro da comunidade.
4.5.2.2 Projeto GNU
Em texto publicado pela FSFE(Free Software Foundation Europe) o projeto
GNU foi iniciado por Richard M. Stallman com o intuito de criar um sistema
operacional baseado nos conceitos de software livre, onde se pudesse compartilhar e
agregar conhecimento gerando um software de qualidade.
12/16
13. Curso de Bacharelado em Sistemas de Informação
4.5.2.3 LibreOffice The Document Foundation
A The Document Foundation é uma comunidade que mantém o pacote de
aplicações de escritório, que possui ferramentas de criação e edição de texto, criação
de planilhas e apresentações. A ferramenta LibreOffice vem se popularizando e já
vem instalada em muitas distribuições linux como a ultima versão do Ubuntu 13.04 e
também por ser compatível com outros sistemas e formatos.
4.5.3. Vantagens da contribuição.
As vantagens que são alcançadas com a contribuição nas comunidades de
software livre são muitas, já que ali o projeto estará aberto para quem tenha novas
ideias e conhecimento para implementar novas ferramentas e funções, além de
promover debates entre os usuários afim de esclarecer dúvidas e a melhoria das
aplicações.
Outra vantagem que é encontrada são as rápidas soluções encontradas para
os bugs, já que existem inúmeros colaboradores que trabalham para a melhoria do
projeto.
13/16
14. Curso de Bacharelado em Sistemas de Informação
5. Conclusão
O desígnio deste artigo foi apresentar as diversas formas de como os
colaboradores, através das comunidades, podem contribuir para o desenvolvimento,
correção e otimização de softwares livres ou abertos, assim como o compartilhamento
de conhecimento. Esses colaboradores são profissionais ou usuários finais, que
procuram a oportunidade de aprender mais, através da estrutura, linguagem e
aspectos técnicos do projeto, além do uso do software em si.
O compartilhamento de conhecimento é o lema para as comunidades
colaboradoras. A ideologia é seguida juntamente com as diversas vantagens que
podese obter e oferecer à quem procura fazer parte do mundo dos softwares livres.
14/16