我正在开发ASP.NET MVC中的个人项目,我计划开源。在过去,我开源了很多PHP脚本和基于UNIX的东西。对于那些人,我通常使用BSD / Apache风格的许可证,除非我包括一个阻止它的库。在Linux / PHP方面,这通常意味着GPL编辑,因此仍然会产生相当明确的安排。
但是,对于这个项目,我试图找出哪些许可证甚至可能来应用于这个项目,而没有找到任何好的资源来回答这个问题。我知道这个问题的唯一“真实”答案是律师。然而,由于这不会产生收入,如果我要向该项目投入1000美元,我宁愿雇用一名平面设计师或可用性专家来申请通过而不是支付律师费用
此特定项目还使用Subsonic进行数据库访问,使用Argotic进行RSS解析,这进一步使问题复杂化。
我知道我可以使用所有这些部分,并且我可以重新分发使用它们的项目。但是,我所留下的是对最终项目可以/必须获得许可的混淆。
我可以通过迷宫中的Subsonic和Argotic位进行协商,因为它们已经在开源许可证下,但我不能成为唯一一个试图找出我可以应用于项目的许可证的人写在ASP.NET MVC之上。
回应评论:
我并不“害怕”任何事情。我只是试图将这种最终应用程序的许可和分发同样关注到我的体系结构和开发中。除此之外,我看到生命被毁了,因为我们今天没有注意到可靠的拜占庭知识产权法。
而且,坦率地说,我实际上已经从一个开源组件的律师那里得到了一封令人讨厌的信,我将其列入我自己的开源项目,但是使用了许可证他们不满意。
不幸的是,“开源许可证”在法律术语上并没有比说“只使用网络编程语言而且你会没事”更具体。 GPL显然是最受欢迎的开源许可证之一,也是少数几个面向它不能应用于ASP.NET MVC应用程序的许可证之一。我很好奇是否 现有的许可证实际上可以与我正在使用的组件的其他许可证“编译”而不会引起合法的“编译器”错误。
我不是说答案很简单(事实并非如此)。我问了这个问题,因为我真的对从一个仔细研究过这个问题的观点的答案感兴趣。当我最初发布它时,我完全期望它长时间没有回答,因为这不是一个简单的问题。
答案 0 :(得分:2)
最终的RTM答案结束了ASP.NET MVC本身已经在Microsoft Permissive License下发布,这是一个OSI认证的许可证。该许可证与Apache,BSD和该许可证系列的其余部分非常相似。最重要的是,根据该许可证,即使您的项目包含System.Web.Mvc DLL以使其可以部署,您也可以相当自由地许可您的代码。
答案 1 :(得分:1)
ASP.Net MVC应该最终成为核心.Net框架的一部分。一旦它,你将不需要重新分配它。
与此同时,您可以将您喜欢的任何许可证应用于您自己的代码,但不能使用它重新编写MVC程序集。用户可以自己下载当前的MVC预览。
答案 2 :(得分:1)
我真的没有得到你害怕的东西。根据我的理解,Subsonic和ASP.NET MVC可以重新分发用于开源或商业许可证,只要您不使用需要GPL 所有内容的某种病毒GPL许可证,您应该没问题。
您可以尝试阅读Free Software Foundation's reference on licenses that you can use for open source projects,试着了解您可能想要使用的许可类型。
答案 3 :(得分:0)
如果没有,他们几乎肯定会提供RTM的某种上线许可证。
答案 4 :(得分:0)
我对这一切并不熟悉,但是前几天我在CodePlex上,有人在微软公共许可证下发布了一个项目:
http://en.wikipedia.org/wiki/Microsoft_Public_License#Microsoft_Public_License_.28Ms-PL.29
答案 5 :(得分:0)
对于根据GPL获得许可的事物以及因此与GPL不兼容的事项的例外情况而言,这是相当常见的。例如,exim的许可证是:
该程序是免费软件;您可以重新分发和/或修改 它是根据GNU通用公共许可证的条款发布的 自由软件基金会;许可证的第2版,或 (根据您的选择)任何更高版本。
此外,为避免任何疑问,授予许可 将此程序与OpenSSL或任何其他库包链接起来 (重新)分发由此产生的二进制文件 联。
如果你想使用GPL,你可以做类似的事情。
然而,听起来你并不特别想使用GPL,你想要一个BSD风格的许可证,在这种情况下你不需要特殊的例外。只需将代码置于所需的许可证下即可。只要很明显您的许可证仅适用于您的代码而不适用于您正在分发的其他软件,则不应存在法律问题 - 您可以将自己喜欢的任何许可证放在自己的代码上。
答案 6 :(得分:0)
您应该能够像分发DotNetNuke一样重新分发它。我相信这是一个开源项目。