Escolhendo uma licença para projetos de código aberto


30

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).


1
Você quer dizer nenhum uso comercial ou distribuição / revenda comercial ?
MIA

Provavelmente distribuição / revenda. Eu não me importaria se as pessoas usassem minhas coisas comercialmente, mas acho que isso dependeria do projeto. Embora eu não vejo uma maneira de usar qualquer coisa que eu escrevi até agora para fins comerciais ..
dr Hannibal Lecter

4
É importante observar que (ao contrário de algumas das respostas), a FAQ do Creative Commons declara explicitamente que licenças CC não devem ser usadas para software. (A Dedicação ao domínio público CC0 é aprovada para uso com software, mas não seria adequada para os fins estabelecidos na pergunta original.) Em vez disso, a CC recomenda escolher uma licença aprovada pela Free Software Foundation ou pela Open Source Initiative.
Peter Briggs

1
Meu palpite é que, a menos que você tenha algo verdadeiro e genuinamente único e útil, a chance de "má comercialização" é tão pequena que não vale o tempo gasto para tentar evitá-lo.
Bryan Oakley

1
No caso de alguém está interessado, há uma proposta de Q & A site a respeito de código aberto licenciar em area51: area51.stackexchange.com/proposals/58715/...
Kurt Pattyn

Respostas:


8

Parece-me que GPL e LGPL são o que você deseja para seus projetos.


Então você diria que a LGPL é uma boa escolha para minhas necessidades? Eu não sou um advogado, então estou apenas verificando :)
dr Hannibal Lecter

1
Também não sou advogado, mas acho que a LGPL é exatamente o que você deseja para uma biblioteca e a GPL para aplicativos completos.
alternativa

É legal vender aplicativos GPL. Você (basicamente) apenas inclui o código-fonte e concede a seus clientes os mesmos direitos GPL que você possui.
bdsl

8
  • 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)

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.


Na verdade, estou bem com isso, pois o código-fonte estará flutuando em algum lugar e alguém se beneficiará disso. ;)
dr Hannibal Lecter

Eu realmente não entendo. Quero dizer, se eu conseguir as fontes, eu posso compilar, e nada me proíbe de usá-las, certo?
Camilo Martin

@Camilo: o que você não recebe?
Konrad Rudolph

Secções 4 e 6b da tampa GPL versão 3 que você está dizendo @KonradRudolph
Rudolf Olah

Eles não precisam fornecer o código fonte gratuitamente se o incluirem no pacote quando venderem o aplicativo.
bdsl

5

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.


Negócios utilizando software GPL internamente não é uso comercial do software ...
alternativa

3
@mathepic, as palavras "comercial" e "usando" não parecem semelhantes a "uso comercial"? definition.uslegal.com/c/commercial
Huperniketes

@ Superniketes Não, eles não. Uma empresa que utiliza software (por exemplo, um navegador de banco de dados) é exatamente a mesma pessoa que utiliza esse software. Não há diferença, desde que o projeto não seja incorporado ao produto final do negócio.
alternativa

3
@mathepic, você está incorreto. Uma empresa é uma preocupação comercial - existe para obter lucro. Qualquer atividade em que ele se envolve é comercial. E configurar um servidor da Web executando o Apache para hospedar manuais do usuário é o uso comercial do Apache. A palavra operativa, no sentido jurídico, é uso , não distribuição , não venda ou revenda .
Huperniketes 16/10/10

2
@dr, não é uma violação porque a licença do Apache não proíbe o uso comercial. apache.org/foundation/licence-FAQ.html#WhatDoesItMEAN "Permite: baixar e usar livremente o software Apache, no todo ou em parte, para fins pessoais, internos ou comerciais da empresa;"
Huperniketes 16/10/10

4

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.


Não estou familiarizado com o MPL, mas parece muito interessante. Até o momento, eu liberei apenas o código PHP, então as restrições de vinculação não devem ser um problema, mas pretendo liberar também algum código Mono, o MPL pode ser muito útil.
dr Hannibal Lecter

4

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).


1

Se você pode realmente solicitar MPL ou apenas GPL depende de uma diferença crítica:

Os "direitos abaixo" incluem o direito concedido aos destinatários de vincular o "Código Coberto" da MPL com o código não-MPL particular para formar um "Trabalho Maior" (Trabalhos Maiores MPL 3.7). A GPL não concede aos destinatários esse direito. Portanto, o destinatário não pode alterar os termos de licenciamento para aplicar a GPL em vez de MPL.

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:

Não é aceitável que alguém crie uma Modificação para a qual possui uma patente, disponibilize a Modificação gratuitamente, conforme exigido pela Licença, e depois volte e tente cobrar a todos pelos direitos de patente.

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.


A incompatibilidade da GPL deveria ter sido resolvida com o MPL v2.0. (Acho que esse post foi feito antes do lançamento da v2.0). Veja a declaração do GNU no MPLv2.0
mucaho

0

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).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.