Definição de Software de Código Aberto, de acordo com a Open Source Initiative (OSI)
Definição de Software de Código Aberto (Open Source)
Neste post trazemos os critérios com os quais um software deve concordar para que seja apropriadamente considerado como software open source. Esses critérios foram traduzidos para o português a partir do site oficial da Open Source Initiative.
Introdução
Para um software, ser “Código aberto” não significa apenas ter acesso ao código-fonte. Os termos de distribuição do software de código aberto devem obedecer também aos dez critérios a seguir:
1. Redistribuição Gratuita
A licença não deve restringir qualquer parte de vender ou distribuir o software como um componente de uma distribuição agregada de software contendo programas de várias fontes diferentes. A licença não exigirá royalties ou outras taxas pela venda.
2. Código Fonte
O programa deve incluir o código-fonte e permitir a distribuição desse código-fonte, bem como o software compilado. Quando alguma forma de um produto não é distribuída com o código-fonte incluso, deve haver um meio bem divulgado de obter seu código-fonte por não mais do que um custo de reprodução razoável, de preferência baixando via Internet sem custo algum. O código fonte deve ser a forma preferida em que um programador modificaria o programa. O código-fonte deliberadamente ofuscado não é permitido. Formas intermediárias, como a saída de um pré-processador ou tradutor, também não são permitidas.
3. Obras Derivadas
A licença deve permitir modificações e a criação de trabalhos derivados, e deve permitir que eles sejam distribuídos sob os mesmos termos que a licença do software original.
4. Integridade do Código Fonte do Autor
A licença pode restringir o código-fonte a ser distribuído de forma modificada somente se a licença permitir a distribuição de “arquivos de correção” com o código-fonte com o propósito de modificar o programa no momento da criaçã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 que trabalhos derivados usem um nome ou número de versão diferentes do software original.
5. Não Discriminação Contra Pessoas ou Grupos
A licença não deve discriminar nenhuma pessoa ou grupo de pessoas.
6. Nenhuma Discriminação Contra Campos 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.
7. Distribuição de licença
Os direitos associados ao programa devem ser aplicados a todos aqueles a quem o programa é redistribuído sem a necessidade de execução de uma licença adicional por essas partes.
8. A licença não deve ser específica para um produto
Os direitos associados ao programa não devem depender de o programa fazer parte de uma distribuição de software específica. 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 concedidos em conjunto com a distribuição de software original.
9. A Licença Não Deve Restringir Outro Software
A licença não deve impor restrições a outro software que seja distribuído junto com o software licenciado. Por exemplo, a licença não deve insistir que todos os outros programas distribuídos no mesmo meio sejam software de código aberto.
10. A licença deve ser neutra em termos de tecnologia
Nenhum fornecimento da licença pode ser baseada em qualquer tecnologia individual ou estilo de interface.
Texto original: https://opensource.org/osd
Onde eu posso achar bons projetos open source para ajudar?
Oi Lucas!
Dê uma olhada nestes githubs aqui:
https://github.com/camilatigre/listamaravilhosaopensource
https://github.com/backend-br/opensource-br
Abraço!