Alguém pode dar algumas recomendações / experiências sobre qual licença escolher para o software?
A licença que você escolheu depende da liberdade que você deseja que seu código seja, mas a liberdade significa coisas diferentes para pessoas diferentes.
- Para proponentes de licenças permissivas , grátis significa permitir que as pessoas agora usem o software da maneira que desejarem agora , sem se preocupar com a derivação futura livre .
- Para proponentes de licenças copyleft , livre significa garantir que o software e qualquer derivação dela permaneçam livres , estando preparado para sacrificar algumas liberdades imediatas para garantir isso.
Quanto mais permissiva for uma licença, mais pessoas poderão usá-la, mas menos controle você terá sobre ela. Quanto mais restritivo, porém, maior a probabilidade de você adiar as pessoas usando o seu software.
Existem várias licenças de código aberto e gratuitas disponíveis, incluindo GPL <= 2, GPL 3 , LGPL , BSD , Eclipse e assim por diante. Existem prós e contras em cada um deles, portanto, leia quais restrições eles impõem ao código e decida quem você deseja usá-lo. Atenção , o que você escolher, alguém irá reclamar - este é um território de guerra santa .
No geral, é um ato de equilíbrio sutil e depende muito do público-alvo do seu software.
- Um excelente recurso para determinar qual licença é a licença certa para você é o diferenciador de licença interativo e muito abrangente , do Oxford Universities OSS Watch .
Na minha opinião, as licenças permissivas e copyleft são apropriadas para o código científico - o importante é que o código seja de código aberto em primeiro lugar. Acredito que a ciência deve ser aberta, assim como o código usado para apoiar essa ciência.
Quais são os prós / contras de "doar" todo o trabalho codificado como códigos de fonte aberta?
A idéia de doar seu software é que, se outros acharem útil, eles o usarão.
Se eles o usarem, eles encontrarão, reportarão e frequentemente corrigem erros, economizando seu esforço de fazer o mesmo.
Se eles gostarem e o seu software fizer quase o que eles querem, eles poderão aprimorá-lo e contribuir com esses aprimoramentos.
Isso é um monte de ifs embora.
Como lidar com atores industriais que gostariam de se beneficiar do código de pesquisa?
Em primeiro lugar, se você quiser proibir o uso comercial do seu código, poderá selecionar uma licença com uma cláusula de não reutilização comercial.
Em segundo lugar, se você acha que alguém pode usar o seu software para alimentar um serviço, sem nunca distribuir o código para outra pessoa, considere o Affero GPL que conecta essa brecha específica do copyleft.
Em terceiro lugar, você pode fazer o acima e oferecer uma opção de licença dupla. A oferta de licenças GPL ou AGPL para download público e licenças comerciais mediante uma taxa oferece o melhor dos dois mundos e significa que você poderá gerar alguma receita com as vendas comerciais do seu software, o que pode ajudar a apoiar suas atividades científicas.
Observe que, se você quiser fazer isso, ofereça-o desde o início - o que provavelmente causará menos atrito por parte dos contribuidores de código aberto do que começar a oferecer licenças comerciais mais tarde. Se a sua comunidade se tornar popular, você não quer que as pessoas o acusem de vender, se você não tiver certeza da possibilidade de exploração comercial posteriormente. Idealmente, você deve configurar um Contrato de Licença de Colaborador (CLA) adequado antes de começar a aceitar contribuições de terceiros em sua base de código.
Esta resposta a esta pergunta também fornece algumas informações boas sobre esta opção.