我已经构建了一个使用OpenID登录系统的ASP.NET MVC 3(目前为RC)站点。我在实现这个时仍然在学习OpenID,所以我对代码进行了大量评论。结果是一个允许用户使用OpenID登录/注册的站点,将其他OpenID添加到他们的帐户并删除它们。然后,这个小项目可以用作任何使用OpenID登录系统的新项目的起点。它也可以用作人们学习OpenID的资源。
我决定将此项目作为开源发布。这将是我的第一个开源项目,我需要决定使用什么许可证。我希望人们能够将它用于他们想要的任何目的。他们可以从中学习,将其用于商业或非商业项目,并自己制作代码。其他人也可以通过像GitHub这样的网站上的错误修复等方式回馈项目。但我想成为我控制下的代码的版权所有者。例如,我的GitHub存储库中的代码(我将其称为主代码库)。我听说为此我需要得到每个贡献者,为这个代码库添加代码,给我他们贡献的版权。这究竟是如何工作的?
我还在项目中使用其他许可(主要是开源)资源。这是他们的清单和许可证:
我当然希望将主代码库用于我想要的任何类型的项目。商业,非商业,开源,......
所以我在这里有一些非常重要的问题:
也是最后一件事。如果我决定使用此样本制作Visual Studio模板,我该如何许可?
答案 0 :(得分:2)
我听过一个报告(来自无法支持的人),Ms-PL限制其他许可证的其他开源软件使用。我不同意他们,但我们都不是律师。
包括Ms-PL在内的大多数开源许可都包含as-is子句。
我完全支持不使用GPL或LGPL,因为这严重限制了您对软件的“自由”,无论您想要什么。它高度支持永久“自由软件”的“宗教”而不是自由。不是想尝试火焰,但这是一个真正的问题。
就我个人而言,我选择了Ms-PL因为我的问题与你提出的目标相同,我觉得Ms-PL符合要求。我无法承诺正确的法律解释,但这是我不专业的意见。
我相信您需要根据Ms-PL在您自己的软件redists中包含许可/版权声明,但您不必添加对这些许可的新引用我相信。因此,如果您的LICENSE文件包含您自己的许可证,以及您的redist包含的其他软件的许可证,请考虑每个许可证适用的文件。然后不要重新编译任何依赖项以删除可能已包含在已编译软件中的版权声明。