Eu fiz alguns projetos de código aberto e pretendo fazer mais no futuro. Até agora, lancei todo o meu código na GPL, mas li alguns artigos que afirmam que a GPL é muito restritiva para que qualquer código seja usado no ambiente corporativo. Isso, supostamente, reduz as contribuições.
Aqui está o que eu queria realizar:
Para aplicações completas :
- nenhum uso comercial, com exceção da venda de suporte para o aplicativo (ou seja, o aplicativo não pode ser vendido, mas tudo ao seu redor pode)
Para bibliotecas (componentes, plugins, ...):
- pode ser incluído em projetos comerciais sem modificações
- qualquer modificação na biblioteca / componente deve ser de código aberto (contribuiu de volta) - o restante do projeto, comercial ou não, não é afetado
Para aplicativos, a GPL ainda parece a escolha lógica. Para bibliotecas, meu entendimento primitivo de licenças me faz pensar que a LGPL é uma boa combinação, mas não tenho certeza. Eu olhei para a licença do MIT, e isso parece muito permissivo.
Na maioria das vezes, quero que as pessoas usem meu código em qualquer lugar que desejarem, desde que quaisquer melhorias sejam contribuídas de volta.
Isso me leva à (s) minha (s) pergunta (s): LGPL é uma opção lógica para bibliotecas de código aberto, componentes, plugins etc.? Existe uma alternativa melhor? A GPL é uma boa opção para meus aplicativos ou há algo melhor?
Atualizar:
Para aqueles que estão interessados em minha decisão final, decidi liberar minhas bibliotecas sob o esquema de várias licenças, MPL, LGPL e GPL. Isso permite que praticamente todo mundo use meu código sem obrigações, a menos que o modifique sob MPL, caso em que teria que ser contribuído de volta.
Isso significa que o código pode ser usado tanto pela FSF quanto por software proprietário, mas a exploração comercial "ruim" é impedida (ou assim eu gostaria de pensar).
fonte
Respostas:
Parece-me que GPL e LGPL são o que você deseja para seus projetos.
fonte
Lembre-se de que a GPL não proíbe vender o aplicativo e proibir isso de fato tornaria sua licença não livre, conforme observado pela Huperniketes. A única coisa que a GPL garante é que a empresa que vende o software também precise fornecer a base de código gratuitamente. Mas eles não precisam fornecer o pacote de software como está de graça. Essa é uma grande diferença, já que o código fonte de um software não é um produto facilmente utilizável.
fonte
Se você quiser impedir o uso comercial do seu software, a GPL não o cortará. A GPL tende a ser evitada pelas empresas comerciais nos produtos que eles vendem devido ao requisito de redistribuir a fonte modificada, mas eles são livres para usar o software GPL internamente. Isso não quer dizer que as empresas não estejam configuradas para vender software GPL ou construir hardware em torno do software GPL (LinkSys, por exemplo), mas a maioria das empresas prefere não compartilhar seu produto com os concorrentes.
Não sei se a licença de Uso Não Comercial de Derivativos da Creative Commons é o que você deseja (a única restrição que você mencionou é o uso comercial ), mas, se não, talvez seja necessário que uma licença seja preparada por um advogado que contenha o idioma que concede os direitos que você deseja que os titulares da licença tenham.
Além disso, depois de começar a incluir restrições como uso não comercial e não modificabilidade , você não poderá mais atender aos critérios para uma licença de código aberto , conforme definido pela Open Source Initiative . O site deles também lista outras licenças OSS aprovadas . Talvez já exista alguém que corresponda aos seus objetivos.
E definir adequadamente seus objetivos será essencial antes de selecionar os direitos e limitações que você impõe aos usuários do seu software. A popularidade é mais importante do que modificabilidade ou distribuição ou uso ou ...? Pense em seus objetivos ao liberar o código, e em que espírito você faz isso ou os termos sob os quais você concede acesso podem ter o efeito oposto.
fonte
Se você se preocupa em garantir que seu código permaneça livre, recuperando melhorias e garantindo que qualquer pessoa possa usá-lo, o MPL é a licença certa para você. É gratuito para uso em qualquer produto, incluindo software comercial, sem restrições estranhas e misteriosas de vinculação, como a LGPL impõe. Ele exige que qualquer pessoa que use seu código e o modifique libere as alterações no MPL, mas não toque nem restrinja o restante do código no projeto.
fonte
Se você escreveu todo o seu código (ou seja, se você é o proprietário do seu código), também pode licenciá- lo duas vezes : publique seu código, por exemplo, na GPLv3 e ofereça-o para vendê-lo (com outra licença) para aqueles que desejam usá-lo de forma menos restritiva.
(isso é particularmente relevante para uma biblioteca, porque uma biblioteca GPL-ed só pode ser usada no software GPL).
Tenha cuidado com contribuições ou patches externos que você incorpora ao seu código (já que você não os possui).
fonte
Se você pode realmente solicitar MPL ou apenas GPL depende de uma diferença crítica:
Veja isso .
O que isso significa para você é que, se você estiver usando algum componente que tenha GPL, você (provavelmente) não poderá liberar código (que está usando isso) no MPL; A MPL tentará erroneamente permitir a redistribuição do código GPL em MPL, o que é inadequado. Tudo bem, se suas dependências estiverem na ordem das licenças MIT ou Apache.
Em geral, se você não está melhorando, escolhendo MPL em vez de GPL sozinho, a menos que você já esteja usando material MPL. A GPL também assegura que as contribuições também sejam publicadas.
Há apenas uma mudança crítica que a MPL fornece é a proteção contra violações de patente induzidas sem saber. Como a licença diz:
MPL e GPL não são totalmente compatíveis.
Você pode ver aqui: MIT vs. BSD vs. Dual License para discussão sobre a implicação de licenças duplas.
fonte
Parece que ninguém fala sobre eles, mas você pode considerar uma licença Creative Commons. Eles têm uma série de licenças (ou uma que você adapta às suas necessidades, analisada de maneira diferente).
fonte