Ferramentas do usuário

Ferramentas do site


v02n01:33

INDÚSTRIA

EDIÇÃO ABRIL 2009

Software Livre: O que é isso?

Conheça este movimento cada vez mais forte na Indústria de Tecnologia

Este artigo discute a origem, as características e os benefícios do software livre. Também são apresentados alguns conceitos relacionados com a questão legal do software livre.

Um software, ou um programa, é uma sequência de instruções a serem executadas pelo computador. O código fonte contém as instruções que o computador deve executar, escritas de uma forma inteligível para o ser humano. O computador, por ser um sistema eletrônico, compreende e “roda” somente programas escritos em linguagem binária (zero = não passa corrente elétrica, e um = passa corrente elétrica). A partir do código fonte gera-se o código binário, em um processo chamado de compilação.

Para executar um software basta apenas ter acesso ao código binário. Porém, para alterá-lo é preciso ter acesso ao código fonte. Assim, ter ou não acesso ao código fonte determina se software é de código aberto ou de código fechado. Antes de estudar o que é software livre é importante discutir algumas categorias de software existentes no mercado.

  • Software proprietário – O software está vinculado a um determinado indivíduo ou empresa que é o proprietário do software. Quase sempre o software proprietário possui o seu código fechado. Desta forma, os únicos que podem alterá-lo é a pessoa ou a empresa que o criou. Como exemplo de software proprietário pode-se destacar o Windows. As atualizações são feitas somente pela Microsoft, que é a empresa proprietária e detentora do seu código fonte.
  • Software freeware – O software é gratuito, porém seu código não é aberto. Os usuários podem utilizá-lo sem custo de aquisição, mas somente a empresa que o produziu pode modificar ou acrescentar novas funcionalidades. Como exemplo de software freeware tem-se o Google Chrome, um navegador de Internet que pode ser instalado gratuitamente, porém não possui o código fonte aberto e disponível.
  • Software de domínio público – O software que não é protegido por direitos autorais, ou seja, o autor não tem direitos sobre sua criação. É como se o software fosse “sem dono”. Qualquer pessoa pode usá-lo, alterá-lo ou redistribuí-lo sem a permissão do autor.
  • Software livre – Discutido na seção seguinte.

O que é Software Livre?

Segundo a definição da Free Software Fundation, software livre é o programa que deixa o usuário livre para compartilhá-lo, estudá-lo e modificá-lo. O software livre é considerado como informação que pertence a todos, de forma coletiva, ao invés de individual. Todos podem trabalhar no aperfeiçoamento do programa da maneira que achar mais interessante e de forma colaborativa. A comunidade pode participar do desenvolvimento do software divulgando e removendo bugs, traduzindo documentação, sugerindo e criando novas funcionalidades, etc. Deste modo, a produção de software se torna cooperativa e é conduzida pela comunidade de programadores e usuários. Para que um software seja classificado como livre é necessário que ele permita ao usuário as seguintes liberdades:

  • Liberdade de executar o programa para qualquer propósito (Liberdade 0).
  • Liberdade para estudar o funcionamento do programa e adaptá-lo de acordo com suas necessidades (Liberdade 1).
  • Liberdade de distribuir cópias (Liberdade 2).
  • Liberdade de melhorar o programa e poder fazer uma nova versão com as suas alterações (Liberdade 3).

Uma consequência das liberdades 1 e 3 é que o código fonte do programa deve ser aberto, permitindo assim que ele seja alterado e redistribuído.

Porém, é importante notar que o Software Livre não é um freeware. Primeiro, porque o freeware não possui o código fonte incluso, o que é necessário para ser um software ser livre. Segundo, porque é possível que um software seja livre e não seja gratuito. O fato de existir um custo para a aquisição do software não contradiz nenhuma das liberdades do software livre.

Software livre não é o mesmo que software de domínio público. O software livre possui um dono que detém os direitos autorais, porém, o autor “delega” a propriedade sobre o software livre a uma comunidade de programadores e usuários de forma voluntária. É possível também que um software seja de domínio público e seja livre, desde que o código fonte esteja disponível.

As empresas e pessoas que optam pela filosofia do software livre obtêm lucro com a prestação de serviços (como o desenvolvimento, personalização, manutenção, consultoria, suporte ao Software Livre) além da oferta de cursos, treinamentos e palestras, bem como a venda bens materiais, relacionados ao Software Livre, tais como CDs, livros e manuais.

De forma sucinta, uma licença de software é um contrato entre o autor e o usuário do software que determina como este deve ser utilizado. A licença aplicada sobre o software irá determinar em qual categoria ele se encaixa. A licença pode especificar a quantidade de computadores nos quais o software pode ser instalado, em quais condições ele pode ser redistribuído, entre inúmeras outras coisas.

O direito autoral e o copyright são semelhantes, pois ambos visam à proteção. A diferença entre eles é que o direito autoral confere proteção ao criador da obra, sendo vinculado à personalidade do autor, enquanto o copyright protege apenas a reprodução indevida da obra.

Já o copyleft impede que o software livre seja redistribuído com uma licença que não seja a de software livre. Sem o copyleft é possível que um programador altere o código fonte do software livre e o redistribua o software como proprietário. O copyleft funciona no sentido contrário ao copyright, de forma a proteger a livre distribuição do software, ao passo que o copyright busca definir formas legais para garantir a não distribuição do software. É importante notar que o software livre não retira os direitos autorais do criador. Ele pode inclusive alterar a licença das próximas versões do programa, fazendo com que elas se tornem proprietárias, ao invés de livres, por exemplo.

Origem

Em meados da década de 70, os computadores não eram compatíveis uns com os outros, ou seja, um computador dificilmente se comunicaria com outro que fosse diferente. Desta forma, empresas de telefonia (como a americana AT&T) tinham problemas ao comprar computadores de diversos fabricantes (ela mesma não era capaz de fabricar computadores), tendo em vista que eles não se comunicavam entre si. Com isso, dois programadores da AT&T tiveram a idéia de escrever um sistema operacional que fosse compatível com qualquer computador. Desta forma, o sistema operacional receberia as informações e as traduziria para o computador de acordo com seu modelo específico. Assim, um programa poderia ser executado em diferentes computadores, bastava ele ser escrito de forma adequada para o sistema operacional. Este sistema operacional criado então era o UNIX.

Como o UNIX era distribuído de forma livre, com seu código fonte aberto, vários programadores das universidades que haviam criado o UNIX e adotado como sistema operacional para seus computadores, passaram a aperfeiçoá-lo. O desenvolvimento em conjunto de muitos programadores colaborou para que o UNIX se difundisse muito. Até quase o final da década de 1970, os software eram livres e podiam ser desenvolvidos de forma colaborativa.

Porém, no início dos anos 80 quase todos os softwares haviam se tornado proprietários, inclusive o sistema operacional UNIX. Assim, os programadores foram impedidos de melhorá-los ou adaptá-los de acordo com as suas necessidades. Como todo computador precisa de um sistema operacional, era necessário comprar um, proprietário. Não havia outra solução neste período.

Foi então que surgiu o projeto GNU (Gnu is Not Unix), em 1984. O objetivo deste projeto era a criação de um sistema operacional completo, que fosse software livre. Porém a sua criação era complexa, pois vários componentes básicos deveriam ser desenvolvidas. Em 1990, os principais componentes estavam prontos, exceto um, o kernel do sistema operacional. O kernel é o núcleo do sistema operacional. É ele quem conecta todos os outros componentes, sendo a parte mais importante do sistema operacional.

Em 1991, Linus Torvalds desenvolveu um kernel, que recebeu o nome de Linux, em sua homenagem. Enfim, o sistema operacional livre GNU/Linux estava completo. O kernel e seus componentes estavam prontos. Desde então o sistema começou a ser utilizado e a ser difundido a um ritmo espantoso. Um detalhe importante é que o sistema GNU/Linux era compatível com os antigos sistemas UNIX, o que facilitou a migração e a adoção rápida do Linux.

Como o GNU/Linux adotava a filosofia do software livre, várias pessoas começaram a trabalhar no seu aperfeiçoamento, fazendo com que ele se desenvolvesse de forma assombrosamente rápida. Como é possível fazer alterações e redistribuir um software livre, hoje existem diversas distribuições de sistema GNU/Linux, cada uma com suas características particulares. Podemos citar: Fedora, Gentoo, Linux, Debian, OpenSuse, Ubuntu, entre inúmeros outros.

Conseqüências do uso do Software Livre

Uma vez que são os próprios usuários que aperfeiçoam o software, este é desenvolvido de acordo com as necessidades dos usuários. E devido ao trabalho cooperativo, o Software Livre é desenvolvido de uma forma geral mais rapidamente do que o software proprietário. Além disso, mais pessoas pensando e trabalhando na solução de um mesmo problema a torna mais segura, confiável e eficiente.

Como qualquer pessoa pode alterar o código fonte de acordo com as suas necessidades, a dependência de terceiros é reduzida e o monopólio de produtos e serviços também. Uma consequência positiva disto é que o Software Livre abre mais oportunidades para que mais programadores, desenvolvedores e empresas prestem serviços de informática e se sustentem neste mercado, uma vez a sua barreira de entrada se torna mais baixa. Em suma, o Software Livre democratiza o acesso ao mercado de prestação de serviços em informática.

Existem soluções livres similares e alternativas para praticamente cada software proprietário, e em geral elas podem ser obtidas gratuitamente, ou por um preço bem menor. Sendo assim, a implantação de sistemas se torna muito mais viável para as empresas e instituições do governo. Adicionalmente, na área da educação em informática, os benefícios do software livre são evidentes: como os alunos têm acesso ao código fonte, o software pode ser estudado, analisado e modificado ao bel prazer, o que é primordial para um ensino de qualidade.

O Software Livre, no entanto, não é uma solução para todos os casos. Softwares muitos específicos, por exemplo, aqueles que não atraem a atenção das comunidades de programadores, terminam por não serem desenvolvidos, ou quando são, resultam em programas de baixa qualidade, e assim a opção do proprietário torna-se inevitável. Como o Software Livre depende da força de cada comunidade, então a qualidade do software produzido depende da qualidade dos programadores de sua comunidade. Se ela é fraca o software gerado também o será.

Concluindo

Muitas pessoas possuem a falsa impressão de que o Linux seja um sistema operacional “assustador” e muito complexo, sendo voltado exclusivamente para os experts da informática. Contrariando este pensamento, o desenvolvimento em conjunto do sistema operacional Linux vem permitindo que este seja acessível para qualquer tipo de usuário, desde os mais leigos até os que possuem um conhecimento mais profundo sobre computação. Qualquer pessoa pode se usar o Linux e os softwares livres. Muitos recursos visuais, como janelas e organização de itens são similares ao de um ambiente Windows.

A filosofia do software livre tem permitido grandes avanços na área da informática, uma vez que o conhecimento é compartilhado e aprimorado em conjunto. Cada vez mais empresas, instituições e usuários estão optando pelo Linux como sistema operacional. Portanto, vale à pena os estudantes da área de informática investirem seu tempo para se familiarizarem com o ambiente Linux e com a filosofia do software livre.

Recursos

Sobre os autores

Gustavo Prado Alkmim é estudante do curso de Ciência da Computação, na Universidade Federal de Lavras (devendo concluir o curso em julho de 2009) Suas principais áreas de interesse são: Linux, redes, virtualização, sistemas distribuídos, informática na educação, computação de alto desempenho e software livre.
José Monserrat Neto é professor de Computação do DCC/UFLA – Lavras/MG; Doutor em Engenharia de Sistemas e Computação – COPPE/UFRJ; Membro da Sociedade Brasileira de Computação (SBC); Membro da Associação dos Pesquisadores de Economia Solidária (ABPES); Membro da Incubadora de Cooperativas Populares da UFLA (INCUBACOOP); e Membro da TecnoLivre - Cooperativa de Tecnologia e Soluções Livres.
Esta é uma publicação eletrônica da Sociedade Brasileira de Computação – SBC. Qualquer opinião pessoal não pode ser atribuída como da SBC. A responsabilidade sobre o seu conteúdo e a sua autoria é inteiramente dos autores de cada artigo.
v02n01/33.txt · Última modificação: 2020/09/22 02:31 (edição externa)

Ferramentas da página