Asp.net mvc 在开源许可下发布ASP.NET MVC 3 OpenId初学者工具包

Asp.net mvc 在开源许可下发布ASP.NET MVC 3 OpenId初学者工具包,asp.net-mvc,open-source,licensing,dotnetopenauth,Asp.net Mvc,Open Source,Licensing,Dotnetopenauth,我已经建立了一个ASP.NETMVC3(RC此时)站点,它使用OpenID登录系统。在实现这个过程中,我仍然在学习OpenID,所以我对代码进行了大量的注释。其结果是一个站点,允许用户使用OpenID登录/注册,将其他OpenID添加到他们的帐户,并将其删除。这个小项目可以作为任何使用OpenID登录系统的新项目的起点。它还可以用作人们学习OpenID的资源 我决定以开源的形式发布这个项目。这将是我的第一个开源项目,我需要决定使用什么许可证。我希望人们能够将其用于任何他们希望的目的。他们可以从中

我已经建立了一个ASP.NETMVC3(RC此时)站点,它使用OpenID登录系统。在实现这个过程中,我仍然在学习OpenID,所以我对代码进行了大量的注释。其结果是一个站点,允许用户使用OpenID登录/注册,将其他OpenID添加到他们的帐户,并将其删除。这个小项目可以作为任何使用OpenID登录系统的新项目的起点。它还可以用作人们学习OpenID的资源

我决定以开源的形式发布这个项目。这将是我的第一个开源项目,我需要决定使用什么许可证。我希望人们能够将其用于任何他们希望的目的。他们可以从中学习,将其用于商业或非商业项目,并制作自己的代码分支。对于其他人来说,能够通过GitHub等网站上的bug修复之类的东西为项目做出贡献也是件好事。但我想成为我控制的代码的版权所有者。例如,我的GitHub存储库中的代码(我将其称为主代码库)。我听说为了这个,我需要让每一个贡献者,他们向这个代码库添加代码,给我他们贡献的版权。这到底是怎么回事

在我的项目中,我还使用其他许可(主要是开源)资源。以下是他们的列表和许可证:

  • DotNetOpenAuth(Ms PL)
  • T4MVC(MvcContrib的一部分,使用Apache许可证2.0进行许可)
  • ASP.NET MVC(Ms PL)
  • ADO.NET实体框架CTP4(我找不到许可证)
当然,我想为任何类型的项目使用主代码库。商业的,非商业的,开源的

所以我这里有一些非常重要的问题:

  • 我应该使用哪个许可证?我认为GPL或LGPL不适合这里。我在看Apache2、新BSD、MIT和Ms-PL。Ms-PL似乎很适合,但我不确定
  • 对于我在本项目中使用的资源,我有哪些限制和/或义务?我想我在某个地方读到,我必须为Ms PL资源添加-LICENSE.txt。这是真的吗?对于Apache2和其他许可证,这是如何工作的?如果我修改了这些资源的任何代码,然后在我的项目中使用它们,我该怎么办
  • 我还希望在许可证中有一个“原样”条款,这样人们在使用我的代码时如果出现问题就不能起诉我
  • 我是否需要向文件中添加任何内容以明确许可证是什么?如果是,我该如何设置格式
  • 还有最后一件事。如果我决定用这个示例制作一个Visual Studio模板,我该如何许可它?

    我听到一个报告(来自无法备份它的人),说Ms PL限制其他开源软件使用其他许可证。我不同意他们的观点,但我们都不是律师

    大多数开放源码许可证包括原样条款

    我完全支持不使用GPL或LGPL,因为这严重限制了您使用软件做任何您想做的事情的“自由”。它高度偏向于永久的“自由软件”的“宗教”,而不是太多的自由。不是想用火饵,但这是一个真正的问题

    就我个人而言,我选择PL女士是因为我与你的问题所表明的目标相同,我觉得PL女士符合要求。我不能保证正确的法律解释,但这是我不专业的意见


    我确实认为,无论如何,您都需要在自己基于Ms PL的软件redists中包含许可证/版权声明,但我相信您不必为这些许可证添加新的引用。所以,如果您的许可证文件包含您自己的许可证,并且其他软件的许可证包括您的ReDIST,那么,我认为它足够了,并提及每个许可证应用的文件。然后不要重新编译任何依赖项,以删除已编译软件中可能包含的版权声明。

    因此,如果我在使用DotNetOpenAuth的项目中添加DotNetOpenAuth-License.txt,并声明它包含DotNetOpenAuth.dll文件Ms PL/您会同意吗?我也环顾了一下四周,似乎无法找出Apache许可证v2和Ms-PL之间的区别。你找到了吗?这听起来很合理,是的。老实说,我没有研究Apache许可证,所以我不能对任何差异发表评论。更新:我在大家的帮助下选择了Ms PL。我还访问了CodePlex和GitHub,看看类似的项目有什么样的许可证。如果我有一个非.Net项目,我会选择Apache License 2.0。因为我非常相信原型和增量编程,所以我已经发布了一个基本版本。你可以在找到它。我投票结束这个问题作为离题,因为它是关于许可和法律问题,而不是编程或软件开发。有关详细信息,请参阅。