微软公共许可证是病毒么?

在第3(d)节中, Microsoft公共许可证 (Ms-PL)指出:“如果您以编译或目标代码forms分发软件的任何部分,则只能在符合本许可证的许可证下进行。 在我看来,声明“符合本许可证”意味着包含Ms-PL许可代码的软件也必须像Ms-PL许可的那样免费。 这是一个病毒性的要求,类似于GNU GPL?

不是。该条款意味着您需要遵守MS-PI许可的代码的许可证。 没有要求完整的派生工作需要相似的许可,或者您需要提供源代码到您的修改或类似的东西。

您唯一需要做的就是包含原始许可文本。 尽pipe如此,您仍然必须遵守专利和商标(等)条款。 只要你包括许可证,并没有做任何直接违反许可证,你可以做任何事情的代码。 做任何你喜欢的修改,把你想要的任何限制放在你的代码上,出售它,以二进制forms分发它,等等。

我也担心这个文本看起来很像病毒性的要求。

但是网上的一些分析证实,这个文本其实只是说:
– 条款3(d)的第一部分(包括许可证文本)不适用于重新分配二进制文件,
– 但许可证的其他限制仍然适用(不要滥用商标,不要删除版权声明,放弃对其他贡献者的任何专利索赔)。

http://www.codeproject.com/info/Licenses.aspx
编译派生代码可以分发,用于商业和非商业用途。 如果要重新分配源代码,则必须在重新分发中包含此许可证的完整副本

  • 错误修复/扩展必须发布到公共领域False
  • 可以在专有(封闭源代码)应用程序中使用True
  • 是病毒牌照错误

以及http://blogs.technet.com/b/tarpara/archive/2009/04/06/microsoft-open-sources-asp-net-mvc-1-0-with-bsd-like-ms-pl -license.aspx :
处理起来并不是很多,因为它有效地像BSD许可证一样。

但是,人们应该注意到,与BSD许可证相反,它与GPL不兼容,这意味着使用此许可证代码严重损害了以后在开源社区的重用。

看起来你可以将编译后的Ms-PL代码分发到一个单独的库中,在Ms-PL(或兼容)下许可,并将你自己的代码编译到不同的库中,你可以根据需要进行许可。 道歉,如果这不回答问题。