sábado, 5 de dezembro de 2009

O que é Software Código Aberto (Open Source Software)?

        Em 1998 o termo “Código Aberto”, ou “Open Source” em inglês, foi criado pela OSI (Open Source Initiative) como uma outra forma de falar sobre o “Software Livre”, uma forma diferente do proposto pela Free Software Foundation. O termo refere-se a softwares que respeitem as quatro liberdades fundamentais definidas pela Free Software Foundation. Portanto, Software Livre (Free Software) e Software Código Aberto (Open Source Software) são um mesmo tipo de software, porém o primeiro termo, é utilizado e recomendado pela Free Software Foundation e pelo Movimento Software Livre, como uma forma de salientar aspectos éticos, políticos, filosóficos e de liberdade que tangem o uso de tal software, enquanto que o segundo termo é utilizado pela Open Source Initiative e pelo Movimento Open Source como uma forma de abordar questões puramente técnicas e econômicas acerca desses softwares. Todd Anderson, Chris Peterson, Jon "Maddog" Hall, Larry Augustin, Sam Ockman e Eric Raymond, são personalidades que são referências para o Movimento Open Source, e estavam presentes na reunião ocorrida em fevereiro de 1998, na qual surgiu o termo Open Source.[1]

 
FIGURA 1 - Selo Open Source Initiative.
Fonte: Wikipédia

        Para um software ser distribuído como Open Source, para que ele possa ser assim chamado, os termos da licença que o acompanha devem cumprir, devem estar de acordo com os critérios definidos pela Open Source Initiative no chamado “Open Source Definition”, ou OSD[2]. Na página da organização, no endereço eletrônico www.opensource.org, encontra-se a definição (em inglês) de Open Source, e ainda uma lista de licenças aprovadas pela OSI. A definição de Open Source, criada pela OSI a partir do texto original da Debian Free Software Guidelines (DFSG), segue abaixo traduzida para o português e retirada do Wikipédia.

1. Distribuição livre
A licença não deve restringir de nenhuma maneira a venda ou distribuição do programa gratuitamente, como componente de outro programa ou não.
2. Código fonte
O programa deve incluir seu código fonte e deve permitir a sua distribuição também na forma compilada. Se o programa não for distribuído com seu código fonte, deve haver algum meio de se obter o mesmo seja via rede ou com custo apenas de reprodução. O código deve ser legível e inteligível por qualquer programador.
3. Trabalhos Derivados
A licença deve permitir modificações e trabalhos derivados, e deve permitir que eles sejam distribuídos sobre os mesmos termos da licença original.
4. Integridade do autor do código fonte
A licença pode restringir o código fonte de ser distribuído em uma forma modificada apenas se a licença permitir a distribuição de arquivos patch (de atualização) com o código fonte para o propósito de modificar o programa no momento de sua construção. A licença deve explicitamente permitir a distribuição do programa construído a partir do código fonte modificado. Contudo, a licença pode ainda requerer que programas derivados tenham um nome ou número de versão diferentes do programa original.
5. Não discriminação contra pessoas ou grupos
A licença não pode ser discriminatória contra qualquer pessoa ou grupo de pessoas.
6. Não discriminação contra áreas de atuação
A licença não deve restringir qualquer pessoa de usar o programa em um ramo específico de atuação. Por exemplo, ela não deve proibir que o programa seja usado em um empresa, ou de ser usado para pesquisa genética.
7. Distribuição da Licença
Os direitos associados ao programa devem ser aplicáveis para todos aqueles cujo o programa é redistribuído, sem a necessidade da execução de uma licença adicional para estas partes.
8. Licença não específica a um produto
Os direitos associados ao programa não devem depender que o programa seja parte de uma distribuição específica de programas. Se o programa é extraído desta distribuição e usado ou distribuído dentro dos termos da licença do programa, todas as partes para quem o programa é redistribuído devem ter os mesmos direitos que aqueles que são garantidos em conjunção com a distribuição de programas original.
9. Licença não restrinja outros programas
A licença não pode colocar restrições em outros programas que são distribuídos juntos com o programa licenciado. Isto é, a licença não pode especificar que todos os programas distribuídos na mesma mídia de armazenamento sejam programas de código aberto.
10. Licença neutra em relação a tecnologia
Nenhuma cláusula da licença pode estabelecer uma tecnologia individual, estilo ou interface a ser aplicada no programa.[3]

REFERÊNCIAS

[1] CÓDIGO ABERTO. In: WIKIPÉDIA, a enciclopédia livre. Flórida: Wikimedia Foundation, 2009. Disponível em: <http://pt.wikipedia.org/w/index.php?title=C%C3%B3digo_aberto&oldid=17076633>. Acesso em: 18 out. 2009.
[2] THE OPEN SOURCE INITIATIVE. The Open Source Definition. San Francisco: OSI, 2009. Disponível em: <http://www.opensource.org/docs/osd>. Acesso em: 26 set. 2009.
[3] CÓDIGO ABERTO. In: WIKIPÉDIA, a enciclopédia livre. Flórida: Wikimedia Foundation, 2009. Disponível em: <http://pt.wikipedia.org/w/index.php?title=C%C3%B3digo_aberto&oldid=17076633>. Acesso em: 18 out. 2009.

Nenhum comentário: