Introdução

Você pode nunca ter lido uma licença de software durante a instalação, ou nunca ter alterado o código fonte de um programa para que ele funcionasse à sua maneira, mas pode ter certeza: você já usou softwares open source!

Dizer que um software é open source (código aberto) significa dizer que o seu código fonte está disponível para o usuário. Isso quer dizer que o usuário poder ler o código do programa. Há projetos que, dependendo da licença usada, também permitem a alteração do código fonte, com algumas ou nenhuma restrição.

free software bottom
Reprodução
Botom do Free Software

Se o software não faz algo que poderia fazer, qualquer pessoa com conhecimento em programação poderia incrementá-lo inserindo novas funcionalidades. Com isso, esse tipo de software tende a evoluir muito mais rápido que os softwares proprietários, que dependem de recursos financeiros e de decisões comerciais para ter ou não alguma funcionalidade que os usuários queiram.

Para os projetos open source que permitem a alteração do código fonte, o desenvolvimento quase sempre é feito de forma colaborativa, em que programadores e outras pessoas ajudam com o crescimento do software e do projeto, seja inserindo novas funcionalidades, eliminando erros (bugs) ou até escrevendo documentação como manuais de uso e guias de instalação.

Projetos de software open source podem nascer de duas formas:

  1. Quando há necessidade que ele exista e há programadores ou empresas dispostos a criá-lo (caso do Linux), ou
  2. Quando empresas resolvem abrir o código fonte de algum produto comercial que ela já desenvolvia de forma proprietária (caso do Netscape).

Embora a maioria dos usuários normais desconheça o funcionamento de um projeto open source, seus resultados estão disponíveis a todos e são usados a todo tempo em toda parte. O seu provedor de internet provavelmente utiliza software open source para lidar com as conexões de rede e grande parte dos sites que você acessa é desenvolvida com tecnologia open source, de forma colaborativa.

Neste artigo vamos descrever as vantagens do software open source, suas vantagens técnicas e culturais, suas licenças e o que você pode ou não fazer. Vamos destrinchar como funciona o desenvolvimento colaborativo, o que os programadores usam, como se comunicam e como recebem por isso.