2009-10-27 68 views
2

问候, 任何对TDD很重要并且使用.NET的人似乎最终都会遇到密封类问题。 .NET库中的某些类是封闭的,这会阻止你扩展它们(从而嘲笑它们)。侮辱伤害微软不提供这些类的接口。所有类的工作都倾向于将你与IO(FileInfo,DirectoryInfo)或IIS(HttpContext,HttpRequest,HttpResponse)联系起来。我应该在.NET中使用什么许可证用于新的OSS项目

最终你最终会编写自己的接口并匹配包装类。我已经做了很多次这样的事情,所以我决定只是让一个开源项目出来供大家使用。

我的问题是许可证可以/应该使用什么。我偏爱Apache/BSD风格的许可证;但我可以在.NET中使用它吗?我可以使用GPL,但仍可让人们在商业应用中使用它吗?或者我应该使用Microsoft Permissive License之类的东西?

+4

我投票结束这个题目,因为它是关于授权或法律问题,而不是编程或软件开发。 [见这里](http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964)和[here](http://meta.stackexchange.com/questions/139804/can-许可问题永远在主题上)以获取详细信息,以及[帮助]了解更多信息。 – JasonMArcher 2015-06-18 19:30:12

回答

3

您可以使用您希望使用.NET的许可证 - 框架和平台不会将您锁定到任何特定许可证中。

至于你具体的问题:

我偏爱一个阿帕奇/ BSD风格的许可证;但我可以在.NET中使用它吗?

是的,这是完全可以接受的使用。NET应用程序,还有一个很好的选择,以及MIT许可证。

我可以使用GPL吗?仍然可以让人们在商业应用中使用它吗?

GPL确实对使用有相当严格的限制,这往往会限制商业应用(因为它会强制用户根据您的库将应用程序重新分配为GPL)。尽管如此,LGPL是一个几乎不禁止商业用途的选择。

或者我应该使用类似Microsoft许可许可的东西?

这对于.NET库来说更为常见,并且对于许多.NET开发人员来说,它们会更加熟悉。如果您对本许可证的条款感到满意,那么它是一个非常好的选择(至少在不限制许可证的使用方面)。

1

如果您想完全打开,请使用MIT许可证。

版权所有(C)yearcopyright holders

特此授权,免费 收费,任何获得该软件副本 和相关 文档文件(“软件”), 到人在没有 限制,包括没有 限制使用,复制, 修改,合并,发布,分发, 分许可证,和/或出售 软件的副本允许人提供本软件做 所以 人员,须符合下列 条件:

以上版权声明和本 许可声明应包括在 所有副本或 软件实质部分。

的软件提供“AS IS”, 不附有任何明示 或暗示,包括但不限于 适销的担保, 适用于某一特定用途和不侵犯 。在任何情况下应在 作者或版权所有者均不 对任何索赔,损坏或其他 责任,无论是在 合同,侵权行为或其他操作,所产生 FROM,的或IN WITH THE 软件或连接软件中使用或其他交易 。

相关问题