Pergunta

Estou trabalhando em um projeto pessoal em ASP.NET MVC que pretendo tornar open source.No passado, eu abri alguns scripts PHP e coisas baseadas em UNIX.Para esses, normalmente optei por uma licença estilo BSD/Apache, a menos que incluísse uma biblioteca que o impedisse.No lado Linux/PHP, isso geralmente significava algo que era GPL, resultando ainda em um arranjo bastante claro.

Para este projeto, no entanto, estou tentando descobrir quais licenças são ainda possível para se inscrever neste projeto e não encontrar nenhum bom recurso para responder à pergunta.Eu sei que a única resposta “real” a esta pergunta envolveria um advogado.No entanto, como isso não vai gerar receita, se vou investir US$ 1.000 no projeto, prefiro contratar um designer gráfico ou um especialista em usabilidade para dar uma olhada no aplicativo do que pagar um advogado .

Este projeto específico também usa Subsonic para acesso ao banco de dados e Argotic para análise de RSS, complicando ainda mais o problema.

Eu sei que posso usar todas essas peças e que posso redistribuir meu projeto usando todas elas.No entanto, o que me resta é a confusão sobre o que o projeto resultante pode/deve ser licenciado.

Provavelmente posso negociar meu caminho através do labirinto para os bits Subsonic e Argotic porque eles já estão sob licenças de código aberto, mas não posso ser o único tentando descobrir qual licença posso aplicar a um projeto que escrevo no topo do ASP.NET MVC.

Em resposta aos comentários:

Não tenho "medo" de nada.Estou apenas tentando ter o mesmo cuidado no licenciamento e distribuição deste eventual aplicativo que tenho na arquitetura e no desenvolvimento dele.Além disso, vi vidas arruinadas por não prestar atenção às leis de propriedade intelectual, indiscutivelmente bizantinas, em vigor hoje.

E, francamente, recebi uma carta desagradável no passado do advogado de um componente de código aberto que incluí em um Código aberto projeto meu, mas usei uma licença com a qual eles não gostaram.

Infelizmente, “uma licença de código aberto” não é mais específica em termos legais do que dizer “basta usar uma linguagem de programação web e você ficará bem”.A GPL é claramente uma das licenças de código aberto mais populares que existem e também uma das poucas que, aparentemente, não pode ser aplicada a aplicativos ASP.NET MVC.Estou curioso para saber se existe é uma licença existente que pode realmente ser "compilada" com as outras licenças dos componentes que estou usando sem gerar um erro legal de "compilador".

Não estou dizendo que a resposta seja simples (não é).Fiz a pergunta porque estou genuinamente interessado em uma resposta que venha da perspectiva de ter examinado a questão de perto.Quando a publiquei inicialmente, esperava que ela ficasse sem resposta por muito tempo, porque não é uma pergunta simples.

Foi útil?

Solução

A resposta final do RTM concluiu que o próprio ASP.NET MVC foi lançado sob o Licença Permissiva da Microsoft que é uma licença certificada pela OSI.Essa licença é muito semelhante ao Apache, BSD e ao resto dessa família de licenças.O resultado final é que, sob essa licença, você é bastante livre para licenciar seu código da maneira que achar melhor, mesmo que seu projeto inclua a DLL System.Web.Mvc para torná-lo implantável em bin.

Outras dicas

O ASP.Net MVC deve finalmente se tornar parte da estrutura central do .Net.Uma vez feito isso, você não precisará redistribuí-lo.

Enquanto isso, você pode aplicar qualquer licença que desejar ao seu próprio código, mas não redesenhar os assemblies MVC com ele.Os próprios usuários podem baixar a visualização atual do MVC.

Eu realmente não entendo do que você tem medo.Pelo que entendi, Subsonic e ASP.NET MVC podem ser redistribuídos para uma licença comercial ou de código aberto, e você deve ficar bem, desde que não use algum tipo de licença GPL viral que precise da GPL tudo.

Você pode tentar ler o Referência da Free Software Foundation sobre licenças que você pode usar para projetos de código aberto para tentar ter uma ideia dos tipos de licenças que você pode querer usar.

Caso contrário, eles quase certamente fornecerão algum tipo de licença de ativação com o RTM.

Na verdade, não estou familiarizado com tudo isso, mas estava no CodePlex outro dia e alguém postou um projeto sob a Licença Pública da Microsoft:

http://en.wikipedia.org/wiki/Microsoft_Public_License#Microsoft_Public_License_.28Ms-PL.29

É bastante comum que coisas sejam licenciadas sob a GPL, além de uma exceção para algo que de outra forma seria incompatível com a GPL.Por exemplo, a licença para exim é:

Este programa é um software livre;Você pode redistribuí -lo e/ou modificá -lo nos termos da licença pública geral da GNU, conforme publicado pela Free Software Foundation;A versão 2 da licença ou (por sua opção) qualquer versão posterior.

Além disso, para evitar qualquer dúvida, a permissão é concedida para vincular este programa à OpenSSL ou qualquer outro pacote da biblioteca e (re) distribuir os binários produzidos como resultado dessa ligação.

Se você quisesse usar a GPL, poderia fazer algo semelhante.

No entanto, parece que você não deseja usar a GPL, deseja uma licença estilo BSD e, neste caso, não precisa de uma exceção especial.Basta colocar seu código sob a licença desejada.Contanto que esteja claro que sua licença se aplica apenas ao seu código e não a outro software com o qual você o está distribuindo, não deverá haver um problema legal com isso - você pode colocar qualquer licença que desejar em seu próprio código.

Você deve ser capaz de redistribuí-lo da mesma forma que o DotNetNuke é distribuído.Acredito que seja um projeto de código aberto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top