C# 使用其他开源文件的项目的开源许可证是什么

C# 使用其他开源文件的项目的开源许可证是什么,c#,open-source,licensing,C#,Open Source,Licensing,我正在写一个C#WPF项目,我有一个关于我应该为我的项目分配什么许可证的问题。 我正在使用其他开放源代码进行内部处理,例如数学计算或在好看的绘图中显示数据 Creative Commons Attribution 3.0未导入许可证、Microsoft sdk最终用户限制和代码项目开放许可证(CPOL)是我使用的第三方代码的部分许可证或协议 它们提供对代码的完全访问权限,以便我可以轻松地将这些函数复制并粘贴到新的类文件中?在我自己的工作中,即使是在开源项目中,我也需要表扬他们吗?您需要知道,在大

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

Creative Commons Attribution 3.0未导入许可证、Microsoft sdk最终用户限制和代码项目开放许可证(CPOL)是我使用的第三方代码的部分许可证或协议


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

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

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

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

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

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


最后一点建议,找一位律师。

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