Código Aberto

Introdução

O software chamado de código aberto, ou open source em inglês, é um tipo de software cujo código fonte é visível publicamente. O software de código aberto respeita as quatro liberdades definidas pela Free Software Foundation. Porém, não estabelece certas restrições como as contidas na GPL. É advogado pela Iniciativa do Código Aberto (Open Source Initiative).

História

O rótulo "Open Source" surgiu em uma reunião em fevereiro de 1998. Tal debate juntou personalidades que se tornaram verdadeiras referências no que diz respeito ao Open Source, como Todd Anderson, Chris Peterson (Foresight Institute), Jon "maddog" Hall e Larry Augustin (Linux International), Sam Ockman (Silicon Valley Linux User's Group) e Eric Raymond.

Os defensores do movimento Open Source sustentam que não se trata de algo anarquista anticapitalismo, mas de uma alternativa ao modelo de negócio para a indústria de software. Esta alternativa não gira em torno de regras econômicas ortodoxas, mas vai além e questiona princípios, inclusive dos modelos econômicos ortodoxos aplicados à esfera virtual. Além de questionar esses princípios econômicos o modelo colaborativo de produção intelectual oferece um novo paradigma para o direito autoral. Algumas empresas comerciais como IBM, HP, Intel, Dell, entre outras, também têm investido no software de código aberto, juntando seus esforços para a criação do Open Source Development Lab (OSDL), instituição destinada à criação de tecnologias de código aberto.

A grande força do software livre está no potencial de cooperação para depuração coletiva, capaz de neutralizar pressões mercadológicas e políticas e melhor dominar complexidades.

Open Source Definition

A definição do Open Source foi criada pela Open Source Iniciative(OSI) a partir do texto original da Debian Free Software Guidelines (DFSG) e determina que um programa de código aberto deve garantir:

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 para 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 à 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.

Referências