não é uma duplicata. Esta questão está focada estritamente na GPL e não tendo uma perspectiva de "alta visão".
goodguys_activate
1
Eu tenderia a ir para um extremo ou outro: AGPL ou WTFPL.
TRiG
Vamos colocar isso em perspectiva. Se a Microsoft apresentasse essa licença primeiro e mantivesse todas as disposições exatamente iguais, a licença não teria os mesmos itens a seguir. O software livre e o BPL não são o que parecem ser. Leia o manifesto deles. Eles não são sobre Anarquia, eles são sobre controle.
Andrew T Finnell
Respostas:
45
Ok, minha lista de prós e contras da GPL:
Prós
Isso faz as pessoas pensarem se realmente compram no código aberto; você está preparado para viver de acordo com isso e deixar que outras pessoas usem o que você escreveu, em vez de apenas gostar do que você pode obter com isso?
Ele garante que, quando algo for desenvolvido pela comunidade Open Source, ele permanecerá aberto; nenhuma chance de alguém pegar todo o trabalho que os outros estão fazendo, reembalá-lo e vendê-lo.
Contras
É um completo não-não para a maioria das organizações corporativas; eles não podem arcar com o risco de código licenciado pela GPL entrar em seus produtos; portanto, praticamente todas as empresas de médio e grande porte têm cláusulas proibindo explicitamente o código licenciado pela GPL.
Isso afasta as pessoas do código aberto.
É realmente justo que, porque eu uso o controle do seletor de imagens de código aberto no meu aplicativo, todo o meu aplicativo agora também seja de código aberto? Mesmo se eu melhorasse o seletor de imagens e contribuísse com esse código de volta para a comunidade? Os termos são muito onerosos para muitos desenvolvedores.
Muitas pessoas não estão cientes dos termos rigorosos da GPL, portanto, use-a como é a licença que eles ouviram, sem perceber quais restrições estão colocando sobre qualquer outra pessoa que queira usá-la.
É extremamente viral. Se o seu projeto contiver um componente que contenha um componente que esteja sob a GPL (ufa!), Todo o seu projeto também estará sujeito à GPL.
Em última análise, para mim, os contras superam os profissionais. Para mim, parece que os evangelistas de código aberto tentam enganar o mundo a entrar no código aberto em vez de persuadir o mundo de seus benefícios.
+1 para alguns dos contras, pelos quais sim, eu concordo, são muito "rigorosos". A licença do MIT é uma boa alternativa.
Rook
16
Este é um FUD tão transparente: "É um não-não completo para a maioria das organizações corporativas; elas não podem arcar com o risco de código licenciado pela GPL entrar em seus produtos, então praticamente todas as empresas de médio e grande porte possuem cláusulas que proíbem explicitamente o código licenciado pela GPL . " O código e os projetos licenciados pela GPL são controversos na Fortune 500 desde pelo menos 2004 e, de fato, muitas grandes empresas (Google, IBM, Oracle, para citar algumas) basearam grande parte de seus negócios.
13
Há uma diferença aqui entre empresas de produtos de software, que geralmente não podem tocar no código da GPL, e empresas que usam software para uso interno, onde a GPL não tem efeito algum. Há muito mais do que o anterior.
precisa
9
Aliás, a GPL foi projetada como propulsora de um movimento social, mas a intenção era criar um repositório de Software Livre que permaneceria sempre Livre e que se tornaria cada vez mais tentador de usar. Não foi, até onde eu sei, uma tentativa de enganar os desenvolvedores em algo. Além disso, a pessoa por trás da GPL, Richard Stallman, nega toda a conexão com o código-fonte aberto em oposição ao software livre.
10268 David Thornley
4
A experiência de David Thornley corresponde basicamente à minha. Nunca ouvi falar de uma empresa que não usaria o código da GPL para uso interno. Caramba, todo mundo tem Linux em dezenas de lugares. No entanto, muitas empresas que desenvolvem software para distribuição não permitirão o código GPL nem perto de sua base de códigos de desenvolvimento. LGPL normalmente é bom, mas nem sempre.
David Schwartz
2
Embora o h4xxr definitivamente tenha dado uma resposta ao FTW, aqui estão mais alguns links que podem ser úteis, se você não tiver certeza do que os diferentes tipos de licenças representam.
FWIW Eu, pessoalmente, tenho um grande projeto de código aberto no qual sou desenvolvedor líder e adotei um modelo de licença múltipla precisamente porque a GPL estava impedindo algumas pessoas de usar meu código. Meu código é licenciado sob uma escolha de seu próprio modelo de licença e permite qualquer uma das seguintes licenças - GPL, LGPL, MIT
A LGPL permite que as pessoas incorporem seu código / biblioteca / executável como estão em seus produtos, desde que não sejam modificadas. Isso é mais útil para empresas que criam produtos comerciais / de código fechado que podem precisar do seu produto para funcionar, mas não precisam alterar o funcionamento do produto.
A licença do MIT é essencialmente uma licença permissiva que permite que as pessoas modifiquem seu trabalho da maneira que desejarem e o redirecionem para seu próprio trabalho. Use isso se você suspeitar que os usuários desejam fazer isso e não se importa em não ter acesso à fonte de quaisquer modificações que as pessoas possam fazer.
Você está dando a vantagem aos desenvolvedores de software livre, porque eles podem usar sua biblioteca e os players comerciais não (pelo menos enquanto não quiserem lançar seu produto como GPL). As empresas devem pagar aos seus funcionários para escrever a biblioteca que tem a mesma funcionalidade. Você está promovendo software livre dessa maneira.
Escolher licença menos restrita, como o MIT, é mais prático:
Você pode usar sua biblioteca ao codificar por dinheiro (como freelancer, como funcionário). No entanto, todos podem, então você está ajudando as empresas a economizar dinheiro, embora elas já sejam ricas sem ela.
+1 A GPL é uma decisão ideológica / filosófica, não técnica. Se isso é bom ou ruim, depende de questões filosóficas e cabe a cada projeto ou equipe decidir.
Andres F.
1
Quando se trata de projetos de código aberto com licença liberal (por exemplo, X11, PostgreSQL, Haskell), o tiro pela culatra GPL e LGPL. O código GPL não pode ser usado em tais projetos, não porque a GPL proíba ou a licença X11, mas porque esses projetos não desejam "atualizar" a licença efetiva de todo o produto para a GPL.
Benefício: você tem a garantia legal de que as pessoas disponibilizam suas alterações / contribuições.
Custo: muitos usuários comerciais não podem usar seu código. Eles não usarão seu código e, portanto, nunca contribuirão. Veja este tópico explicando por que o pessoal da libcinder não pode usar o código (L) GPL. Até a LGPL pode ser problemática quando precisa vincular estaticamente a biblioteca.
Acho que isso só é verdade se em cenários não SaaS ... e também precisar encontrar meus garfos e pedir que eles compartilhem uma cópia comigo.
goodguys_activate
Isso é verdade, para SaaS existe o AGPL. Identificar violações não é trivial, mas quando encontrado, há pessoas para ajudá-lo: gpl-violations.org
LennyProgrammers
Seu benefício está errado: se eu editar o software e utilizá-lo, você não tem o direito de ver minhas edições. O mesmo acontece se eu distribuí-lo para um grupo sem interesse em compartilhá-lo. O usuário tem o direito de ver a fonte, nem todos.
Respostas:
Ok, minha lista de prós e contras da GPL:
Prós
Contras
Em última análise, para mim, os contras superam os profissionais. Para mim, parece que os evangelistas de código aberto tentam enganar o mundo a entrar no código aberto em vez de persuadir o mundo de seus benefícios.
fonte
Embora o h4xxr definitivamente tenha dado uma resposta ao FTW, aqui estão mais alguns links que podem ser úteis, se você não tiver certeza do que os diferentes tipos de licenças representam.
Comparação de licenças de software livre (comparação de tabelas)
Open Source Initiative - Licenças por nome (o que diz - licenças usadas com frequência no mundo atual do software) Lista de licenças de software, incluindo as compatíveis com a GPL
F --- GPL <- crítica inteligente (tenho que amar essas "pérolas da sabedoria" :-)
fonte
FWIW Eu, pessoalmente, tenho um grande projeto de código aberto no qual sou desenvolvedor líder e adotei um modelo de licença múltipla precisamente porque a GPL estava impedindo algumas pessoas de usar meu código. Meu código é licenciado sob uma escolha de seu próprio modelo de licença e permite qualquer uma das seguintes licenças - GPL, LGPL, MIT
A LGPL permite que as pessoas incorporem seu código / biblioteca / executável como estão em seus produtos, desde que não sejam modificadas. Isso é mais útil para empresas que criam produtos comerciais / de código fechado que podem precisar do seu produto para funcionar, mas não precisam alterar o funcionamento do produto.
A licença do MIT é essencialmente uma licença permissiva que permite que as pessoas modifiquem seu trabalho da maneira que desejarem e o redirecionem para seu próprio trabalho. Use isso se você suspeitar que os usuários desejam fazer isso e não se importa em não ter acesso à fonte de quaisquer modificações que as pessoas possam fazer.
fonte
Escolher a GPL é o passo ideológico:
Você está dando a vantagem aos desenvolvedores de software livre, porque eles podem usar sua biblioteca e os players comerciais não (pelo menos enquanto não quiserem lançar seu produto como GPL). As empresas devem pagar aos seus funcionários para escrever a biblioteca que tem a mesma funcionalidade. Você está promovendo software livre dessa maneira.
Escolher licença menos restrita, como o MIT, é mais prático:
Você pode usar sua biblioteca ao codificar por dinheiro (como freelancer, como funcionário). No entanto, todos podem, então você está ajudando as empresas a economizar dinheiro, embora elas já sejam ricas sem ela.
fonte
Quando se trata de projetos de código aberto com licença liberal (por exemplo, X11, PostgreSQL, Haskell), o tiro pela culatra GPL e LGPL. O código GPL não pode ser usado em tais projetos, não porque a GPL proíba ou a licença X11, mas porque esses projetos não desejam "atualizar" a licença efetiva de todo o produto para a GPL.
fonte
fonte