【问题标题】:What License should I use for a new OSS project in .NET [closed]我应该为.NET中的新OSS项目使用什么许可证[关闭]
【发布时间】:2009-10-27 15:09:17
【问题描述】:
您好,
任何热衷于 TDD 并使用 .NET 的人似乎最终都会遇到密封类问题。 .NET 库中的某些类是密封的,这会阻止您扩展它们(从而模拟它们)。雪上加霜的是,Microsoft 不为这些类提供接口。所有类的工作都倾向于将您与 IO(FileInfo、DirectoryInfo)或 IIS(HttpContext、HttpRequest、HttpResponse)等事物联系起来
最终你只需要编写自己的接口和匹配的包装类。我已经这样做了很多次,所以我决定把它做成一个开源项目供大家使用。
我的问题是我可以/应该使用什么许可证。我偏爱 Apache/BSD 风格的许可证;但我可以将它与.NET 一起使用吗?我可以使用 GPL 并且仍然让人们在商业应用程序中使用它吗?或者我应该使用 Microsoft Permissive License 之类的东西吗?
【问题讨论】:
标签:
c#
.net
open-source
tdd
【解决方案1】:
您可以在 .NET 中使用您希望使用的任何许可 - 框架和平台不会将您锁定在任何特定许可中。
至于你的具体问题:
我偏爱 Apache/BSD 风格的许可证;但我可以将它与.NET 一起使用吗?
是的,这对于 .NET 应用程序是完全可以接受的,并且是一个不错的选择,以及 MIT 许可证。
我可以在使用 GPL 的同时让人们在商业应用程序中使用它吗?
GPL 确实对使用施加了相当严格的限制,这往往会限制商业应用(因为它会迫使用户基于 GPL 库重新分发他们的应用程序)。不过,LGPL 是一种几乎不会禁止商业使用的选项。
或者我应该使用 Microsoft Permissive License 之类的东西吗?
这在 .NET 库中更为常见,并且对于许多 .NET 开发人员来说会更加熟悉。如果您对此许可的条款感到满意,那么它是一个非常好的选择(至少在不仅通过许可限制使用方面)。
【解决方案2】:
如果您想完全开放,请使用MIT 许可证。
版权所有(c)yearcopyright holders
特此授予许可,免费
向任何获得副本的人收取费用
这个软件和相关的
文档文件(“软件”),
不处理软件
限制,包括没有
限制使用、复制、
修改、合并、发布、分发、
再许可和/或出售
软件,并允许人们
软件提供给谁
所以,受制于以下
条件:
以上版权声明和本
许可通知应包含在
的所有副本或大部分
软件。
软件按“原样”提供,
不提供任何形式的明示保证
或暗示,包括但不限于
对适销性的保证,
适合特定目的和
非侵权。在任何情况下均不得
作者或版权持有人需承担责任
对于任何索赔、损害或其他
责任,无论是在诉讼中
产生的合同、侵权或其他
来自、不属于或与
软件或使用或其他交易
在软件中。