【问题标题】:what kind of open source license for a project which uses other open sources files使用其他开源文件的项目需要什么样的开源许可证
【发布时间】:2016-01-15 11:02:13
【问题描述】:

我正在编写一个 C# WPF 项目,我有一个关于我应该为我的项目分配什么许可证的问题。 我正在使用其他开源代码进行内部处理,例如数学计算或在好看的图中显示数据。

Creative Commons Attribution 3.0 Unported License、Microsoft sdk 最终用户限制和 The Code Project Open License (CPOL) 是我使用来自第三方的代码的一些许可或协议。

他们提供对其代码的完全访问权限,以便我可以轻松地将这些函数复制并粘贴到新的类文件中?我是否需要在自己的工作中表扬他们,即使是针对开源项目?

【问题讨论】:

  • “我需要给予信任吗” 对于 CC 和 CPOL,是的,将它用于开源项目并不会神奇地消除要求。对于 Microsot SDK,您需要更具体。一般来说,即使是最松散的许可证之一,如 MIT 许可证(允许将其包含在闭源软件中)仍然坚持给予信任。
  • @Martheen 没有“开源”的正式定义。事实上,一些定义确实神奇地消除了引用的要求。
  • 实际上,我很高兴感谢那些做了某事并以某种方式帮助我获得安全时间的人,以便我可以完成我的工作,但我担心我的项目需要什么样的许可证应该使用
  • @Martheen Microsoft SDK 禁止将代码用于商业用途,所以我想对于微软这样的大公司来说,将代码用于开源应该是可以的
  • @nicomp :我说“将它用于开源项目”。无论我对源自 CC 或 CPOL 许可证的代码使用什么用法,都不能删除该要求。

标签: c# open-source licensing


【解决方案1】:

您需要知道,在大多数情况下,依赖项不会影响您用于项目的许可证。例如,如果您留下指向 MIT、Apache 甚至 LGPL 库的项目链接,您可以使用任何您喜欢的许可证。 GPL 是一个典型的例外。

因此,请了解您的依赖项的每个许可证的详细信息,并参考他们的常见问题解答以供进一步参考。

如果您不链接到这些库,而是直接使用它们的源文件,甚至修改它们,那么它可能会触发更多基于覆盖它们的每个许可证的限制。例如,LGPL 将要求您的项目在 LGPL 下发布。

有时,您的选择甚至可能导致无效/不兼容的结果。然后你将不得不放弃一些依赖并求助于其他替代方案。

Microsoft SDK 很特别。我认为它们中的许多都允许您进行编译,但是 SDK 中的一些库可能不会与您的项目二进制文件或源代码一起重新分发。因此,您需要仔细查看正在使用的 SDK 以及每个 SDK 的限制。

最后的建议,找律师。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-21
    相关资源
    最近更新 更多