Posso legal e eticamente fazer um projeto de código aberto com contribuições da comunidade para código fechado? [fechadas]


17

Digamos que eu inicie e desenvolva algum projeto sob licença de código aberto e aceite algumas contribuições da comunidade. Quão insegura é minha posição se decidir levar o projeto comercial e de código fechado (ou licença dividida)?

Esta questão não aborda diretamente a questão de um projeto com contribuições da comunidade, que parece um território diferente, pelo menos no que diz respeito à ética. Legalmente, isso também pode ser duvidoso, porque não tenho certeza se as contribuições se enquadram nos meus direitos autorais ou se o contribuinte detém os direitos autorais da parte do projeto que ele adicionou.

Eu estou seguro (ética e legalmente) desde que esteja na frente da possibilidade de poder comercializar o projeto no futuro?


5
Depende em grande parte do tipo de licença do projeto - se é GPL, você fica meio que preso.
johnl

Lembre-se prefixar cada resposta com IANAL
zzzzBov

1
Ética ou moralmente ? Ou ambos? (-:
hippietrail 9/08/12

2
Você pode evitar muita dor ao decidir quais partes do projeto serão seu "molho secreto" e quais não serão, desenvolvendo o último código-fonte aberto e deixando-o assim. Isso reduz sua carga de trabalho e permite que você guarde os segredos para si mesmo.
Nathan Long

Não acho que você possa alterar um projeto sob licença como o BSD depois de licenciá-lo. O que você pode fazer também é licenciar com outra licença, mas o projeto também terá licença BSD.
Pieter B

Respostas:


22

Em geral, os colaboradores da comunidade reteriam seus direitos autorais sobre o código que eles contribuíram para o projeto. Eles licenciam a contribuição para você quando contribuem com o código. Se você quiser manter a possibilidade de alterar os termos da licença no futuro, geralmente precisará de colaboradores para atribuir seus direitos autorais (pessoalmente ou uma entidade corporativa criada para possuir os direitos autorais deste projeto) ou os termos alterados precisariam para ser compatível com os novos termos da licença. Obviamente, se você precisar desse tipo de papelada de atribuição de direitos autorais antes de poder aceitar uma contribuição da comunidade, é muito menos provável que a comunidade decida contribuir e você terá que fazer uma quantidade razoável de trabalho obtendo as formas legais em ordem antes de aceitar cada contribuição. Mais, existe uma grande chance de seu projeto ser bifurcado se e quando você decidir alterar os termos da licença. Parece-me improvável que um novo projeto de código aberto receba muitas contribuições da comunidade nessas circunstâncias.

Geralmente, seria mais fácil se você licenciasse o produto sob os termos da licença dividida inicialmente ou se os termos da licença inicial fossem compatíveis com um produto futuro de código fechado. O código que está sob a licença BSD, por exemplo, pode ser incorporado a um produto comercial a qualquer momento. Portanto, se o projeto e as contribuições estiverem sob a licença BSD, você poderá facilmente lançar uma versão comercial do mesmo produto. Sua intenção (ou opção) de produzir um produto comercial, no entanto, provavelmente diminuirá o interesse em fazer contribuições para o seu projeto - a maioria dos desenvolvedores de código aberto não está interessada em fazer contribuições não pagas a um produto comercial.

É claro que, como em qualquer questão legal, você gostaria de conversar com um advogado, em vez de confiar em uma postagem no fórum antes de tomar qualquer tipo de ação definitiva. Você quase certamente desejará que esse advogado rascunhe o documento de atribuição de direitos autorais que precisará que as pessoas assinem e que discuta seus planos para o futuro com o advogado para garantir que tudo esteja configurado corretamente.


A retenção de direitos autorais por colaborador parece que seria problemático na época, mesmo com algo como licenciamento dividido. Os colaboradores poderiam decidir que não queriam mais permitir que eu usasse sua contribuição comercialmente (ou suponho). Estou fora da base nessa conclusão?
22412 Chris Bye

5
@ ChrisBye - Quando um colaborador contribui com um código, ele oferece uma licença para usá-lo sob os termos da licença do projeto. Assim como você não pode impedir retroativamente as pessoas que usam a versão de código aberto do seu produto, os colaboradores não podem impedir que você use as contribuições deles nos termos em que eles originalmente os contribuíram. Fazer alterações subseqüentes nos termos da licença é onde você tem problemas, porque precisa voltar e obter a permissão de todos. Isso é verdade mesmo para algo relativamente menor, como passar da GPL v2 para a GPL v3.
Justin Cave

Isso faz muito mais sentido. (Estou prestes a seguir a linha "deveria ser uma nova pergunta"). Isso sugere que, se eu oferecesse licença dividida desde o início (como sugerido nos comentários da resposta de simon), provavelmente teria que lidar com atribuição de direitos autorais.
22412 Chris Bye

2
@ChrisBye - Oferecer a licença dividida desde o início é uma proposta muito mais fácil do ponto de vista jurídico - é muito mais difícil alterar os termos da licença no futuro do que especificar os termos da licença que você deseja inicialmente. Obviamente, isso também significa que é mais difícil atrair contribuições da comunidade, pois a maioria dos colaboradores de código aberto não é interessante em fazer contribuições não pagas a um produto comercial.
11558 Justin Caverna

16

Se o projeto for licenciado sob uma das licenças mais permissivas (BSD, MIT, Boost ou Apache são as que eu conheço permitem isso), legalmente você poderá distribuir o código do objeto e não precisará fornecer as modificações feitas para o código fonte de volta para a comunidade. Você também pode licenciar o trabalho derivado sob uma licença diferente. Observe que você ainda precisa incluir o texto da licença conforme os requisitos de licença.

Se isso é ético ou não, é algo bastante controverso. Costumo pensar que, se um desenvolvedor licenciou seu código sob uma dessas licenças mais permissivas, deseja que o software seja usado em projetos de código aberto e comerciais. Se eles não desejassem o uso comercial de seu código, deveriam ter o licenciado sob a GPLv3.


É por isso que, IMO, forte copyleft como a GPL é melhor do que hippie fazer-as-you-desejo BSD, MIT, et al;)
Andres F.

1
Mesmo que o projeto tenha uma licença não permissiva, pode ser possível fechá-lo se os colaboradores tiverem atribuído direitos autorais a você. Alguns projetos de código aberto que requerem contribuintes para copyright atribuir, embora geralmente fazem que eles podem mudar de uma licença para outro (por exemplo, quando GPL é atualizado)
MarkJ

4
@AndresF. não necessariamente ... se uma pilha TCPIP não tivesse sido licenciada sob o código BSD, a Microsoft não a teria usado no Windows NT e todos nós estaríamos usando o MSNetwork agora :( Não escreva o benefício das licenças BSD . off só porque alguém pode ganhar dinheiro com isso eu gosto de pensar licença BSD é melhor para as bibliotecas que você quer se tornar um padrão, e licença GPL para os produtos.
gbjbaanb

7

Qualquer contribuição que eu der ao seu projeto permanece meus direitos autorais, a menos que eu a atribua a outra pessoa. Ser o detentor dos direitos autorais significa que posso decidir em que licença meu trabalho está disponível.

Portanto, o licenciamento é um problema relacionado, mas separado. Se eu contribuir com o seu projeto, devo concordar em liberar meu trabalho sob a licença do projeto (ou talvez compatível).

Muitas licenças de código aberto não permitem que você feche a fonte derivada posteriormente, mas algumas o farão. Se bem entendi, ninguém permitiria que você fechasse a base de código atual (aberta), e isso também é algo que você precisa considerar.

Portanto, você precisará começar com uma licença que permita fechar o desenvolvimento futuro ou ter um acordo nesse sentido com todos os colaboradores. É melhor conversar com um advogado antes que haja contribuições significativas e ser muito franco quanto ao que você está tentando fazer.


-1 temporário. Sua resposta é confusa. Ao contribuir para um projeto, você está enviando os termos de sua licença abrangente. Você está sugerindo o contrário?
Craige

1
@Craige meu entendimento é que a propriedade dos direitos autorais e do licenciamento são questões separadas
jk.

@ Craig, não, eu não estou sugerindo isso, mas vou editar para deixar mais claro. Direitos autorais e licenciamento relacionados, mas não são os mesmos.
9133 simon

+1 e -1 para @Craige, com todo respeito. jk é correto aqui e você está errado
MarkJ

1
@ Chris, os projetos de licença dividida que vi funcionar através da atribuição de direitos autorais. Se eu detiver os direitos autorais completos de um projeto, posso oferecê-lo com o número de licenças que escolher.
9182 Simon

4

Se você deseja alterar a licença do seu projeto, solicitou a todos os colaboradores que assinassem um "contrato de colaborador" ou solicitou a permissão de todos os colaboradores.

o que é bastante difícil e a razão pela qual o kernel Linux ainda está sob o gpl v2


0

A maioria dos projetos de SO parece ter um braço comercial anexado a eles, como uma versão Enterprise. Basicamente, eles oferecem SLAs, suporte etc. Acho que se o projeto é de código aberto, fundamentalmente você não pode simplesmente fechá-lo. Você poderá criar versões futuras de código fechado e renomeá-las, ou fazer addons de código fechado, mas os projetos reais, tanto quanto eu entendo, devem permanecer de código aberto. Eu acho que a empresa é o melhor caminho a percorrer, você ainda obtém benefícios de código aberto e pode gerar receita.
Por curiosidade, por que você deseja fechar o código do seu projeto?


0

Legalmente, se você usar uma licença aberta o suficiente para que qualquer pessoa envolvida possa comercializá-la, eu imaginaria (não sendo advogado) que você também seria capaz de fazê-lo.

Eticamente você teria uma obrigação mais forte. Você teria que ser muito aberto e claro sobre suas intenções, inicialmente e ao longo do tempo, à medida que seus planos mudam.


0

Além disso, convém adotar um modelo semelhante ao da Redhat. Construindo plug-ins de código fechado, mas deixando o código-fonte aberto. Isso também pode levar a uma inovação melhor, pois você ainda obterá suporte da comunidade para um produto que pode beneficiar a comunidade de código aberto. Oferecer treinamento, consultoria e suporte também pode facilitar o negócio.

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.