我应该在.NET中使用什么许可证用于新的OSS项目

时间:2009-10-27 15:09:18

标签: c# .net open-source tdd

问候,     任何对TDD很重要且使用.NET的人似乎最终都会遇到密封类问题。 .NET库中的某些类是密封的,这会阻止您扩展它们(从而模拟它们)。为了减轻伤害,Microsoft不为这些类提供接口。所有类的工作倾向于将您与IO(FileInfo,DirectoryInfo)或IIS(HttpContext,HttpRequest,HttpResponse)等事物联系起来

最终你最终会编写自己的接口和匹配的包装类。我这么做了很多次,所以我决定用它来制作一个开源项目供所有人使用。

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

2 个答案:

答案 0 :(得分:3)

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

至于你的具体问题:

  

我偏爱Apache / BSD风格的许可证;但我可以用.NET吗?

是的,这对于.NET应用程序来说是完全可以接受的,也是一个很好的选择,还有MIT许可证。

  

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

GPL确实对使用做了相当严格的限制,这往往会限制商业利用(因为它迫使用户根据您的库重新分发他们的应用程序作为GPL)。不过,LGPL是一个不会禁止商业使用的选项。

  

或者我应该使用像Microsoft Permissive License这样的东西?

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

答案 1 :(得分:1)

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

  

版权所有(c)year copyright holders

     

特此授予许可,免费   向任何获得副本的人收取费用   这个软件和相关的   文档文件(“软件”),   在没有的情况下处理软件   限制,包括没有   限制使用权,复制权,   修改,合并,发布,分发,   从属许可证,和/或出售的副本   软件,并允许人员   软件提供的人员   所以,以下为准   条件:

     

以上版权声明及此   许可通知应包括在内   所有副本或重要部分   软件。

     

该软件“按原样”提供,   没有任何形式的保证,快递   或暗示,包括但不限于此   对适销性的保证,   适用于特定用途和   不侵权。在任何情况下都不应该   作者或版权所有者应承担责任   对于任何索赔,损害或其他   责任,无论是在行动中   合同,侵权或其他,引起关注   来自,不相关或与之相关   软件或使用或其他交易   在软件中。