sistema open source
A Definição de open source
Introdução
Open source não significa apenas acesso ao código-fonte. Os termos de distribuição de software open-source devem obedecer os seguintes critérios:
1. 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 requerer a 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 pressão para colaboradores ao defeito.
2. Código Fonte
O programa deve incluir código fonte e deve permitir a distribuição em código fonte, bem como em formato compilado. Quando alguma forma de um produto não é distribuído com o código fonte, deve haver um meio bem divulgado de obter o código fonte para não mais do que um custo de reprodução razoável de preferência, fazendo download através da Internet sem custo. O código de fonte deve ser a forma preferida na qual um programador iria alterar o programa. Código fonte deliberadamente ofuscado não é permitido. Formas intermédias, tais como a saída de um pré-processador ou tradutor não são permitidos.
Justificativa: É necessário acesso a un-ofuscado 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 fácil.
3. Trabalhos Derivados
A licença deve permitir modificações e trabalhos derivados e deve permitir que estes sejam distribuídos sob os mesmos termos da licença do software original.
Justificativa: A simples capacidade de ler fonte não é suficiente para apoiar a revisão independente e rápida seleção evolutiva. Para uma rápida evolução a acontecer, as pessoas precisam ser capazes de experimentar com modificações e redistribuir.
4. Integridade do Código Fonte do Autor
A licença pode restringir código fonte de ser distribuído em forma modificada somente se a licença permitir a distribuição de “patch files” com o código fonte para o propósito de modificar o programa em tempo de compilação. A licença deve permitir explicitamente a distribuição de software construído a partir do código fonte modificado. A licença pode exigir obras derivadas tenham um nome diferente ou número de versão do software original.
Justificativa: Estimular lotes de melhoria é uma coisa boa, mas os usuários têm o direito de saber quem é responsável pelo software que eles estão usando. Autores e mantenedores têm direito recíproco de saber o que eles estão sendo convidados a apoiar e proteger as suas reputações.
Assim, uma licença de open-source deve garantir que a fonte estar prontamente disponível, mas pode exigir que ele seja distribuído como fontes de base imaculadas mais patches. Desta forma, “não oficial” alterações podem ser feitas disponíveis, mas facilmente distinguidas a partir da fonte de base.
5. Sem Discriminação Contra Pessoas ou Grupos
A licença não deve discriminar qualquer pessoa ou grupo de pessoas.
Justificativa: A fim de obter o máximo benefício do processo, a máxima diversidade de pessoas e grupos devem ser igualmente admissíveis a contribuir para fontes abertas. Portanto, proibir qualquer licença open-source de travar qualquer um para fora do processo.
Alguns países, incluindo Estados Unidos, têm restrições à exportação para certos tipos de software. Uma licença de OSD-conformant pode avisar licenciados de restrições aplicáveis e lembrá-los que eles são obrigados a obedecer a lei, no entanto, não podem incorporar-se tais restrições.
6. Não à discriminação contra áreas de atuação
A licença não deve restringir ninguém de fazer uso do programa em um campo específico de atuação. Por exemplo, ela não pode restringir o programa de ser usado em uma empresa, ou de ser usado para pesquisa genética.
Justificativa: A intenção principal desta cláusula é proibir armadilhas que impedem a licença de open source seja usado comercialmente. Queremos que os usuários comerciais para se juntar à nossa comunidade, não se sentem excluídos.
7. Distribuição da Licença
Os direitos associados ao programa devem se aplicar a todos a quem o programa é redistribuído, sem a necessidade de execução de uma licença adicional por aquelas pessoas.
Fundamentação: Esta cláusula visa proibir fechando software por meios indiretos, tais como exigir um acordo de não divulgação.
8. Licença não deve ser específica para um produto
Os direitos associados ao programa não deve depender do programa ser parte de uma distribuição de software em particular. Se o programa for extraído dessa 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 concedidas em conjunto com a distribuição de software original.
Fundamentação: Esta cláusula exclui outra classe de armadilhas de licença.
9. Licença não deve restringir outro software
A licença não deve colocar restrições em outro software que é distribuído juntamente com o software licenciado. Por exemplo, a licença não deve insistir que todos os outros programas distribuídos na mesma mídia deve ser open-source software.
Justificativa: Os distribuidores de software de open source têm o direito de fazer suas próprias escolhas sobre o seu próprio software.
Sim, a GPL v2 e v3 são conformes com esta exigência. Software vinculado com bibliotecas GPL só herda o GPL se formar uma obra única, e não qualquer software com o qual eles são apenas distribuídos.
10. Licença deve ser tecnologicamente neutra
Nenhuma disposição da licença pode ser baseada em qualquer tecnologia individual ou estilo de interface.
Justificativa: Esta disposição é voltado especificamente para as licenças que necessitam de um gesto explícito de assentimento, a fim de estabelecer um contrato entre licenciante e licenciado. Disposições que impõem os chamados “click-wrap” podem entrar em conflito com importantes métodos de distribuição de software, tais como FTP download, CD-ROM antologias, e espelhamento web; tais disposições podem também dificultar a reutilização do código. Licenças Conformant deve permitir a possibilidade de que (a) redistribuição do software terá lugar sobre os não-Web canais que não suportam clique envolvimento do download, e que (b) porções do Código Coberto (ou re-utilizado de coberto código) podem ser executados em um ambiente não-GUI que não pode suportar diálogos pop-up.