使用违反您不了解的许可证的库

时间:2012-01-24 14:42:56

标签: licensing

构建商业产品可能会使用各种使用其他库的开源库。在理想的世界中,您会知道他们使用哪些许可证以及使用它们是否安全。

但是,如果您使用的开源产品(或商业广告也适用于此处)违反了许可证,您不知道这对您的工作有何影响?

因此,例如,我使用的产品A使用的是许可证而不是产品A,使用它的任何东西都必须是开源的。但是,产品A违反了规则,却隐藏了这一事实。

现在这意味着我的产品也应该是开源的,但我不知道它应该是。即使我不知道我是否可以违反许可证?

2 个答案:

答案 0 :(得分:1)

我不是律师(tm),但我当然会说你有责任。如果您使用的产品A使用其他产品B,您必须知道使用B的事实,并且您必须了解B的许可条款,因为 - 实际上 - 您自己使用B。

但这正是我所期待的......

答案 1 :(得分:1)

许可就像一个链条。例如,如果一个组件以未经许可的方式使用其他一些工作,则整个链条被破坏,另一个组件无法正确地授权给其他人。

对于版权,它通常不取决于您是否知道自己在做什么。听起来很苛刻,只是在你要求商业发行的时候提前说。

如果您创作作品,则应该按照以下要求执行:

  • 找到您使用的所有第三方代码。
  • 找到所有二进制blob。
  • 目录组件。
  • 找出谁拥有版权以及每个组件可用的许可证,检索许可证并将其与软件一起存储(如果软件未附带实际许可证文本,则说明您存储文本的位置和原因) )。
  • 如果不清楚组件可用的许可证,请联系coypright所有者/作者。你应该更喜欢书面沟通。
  • 确认您已完全填写每个许可证的要求。
  • 验证所有组件是否在许可方面相互兼容。

我认为积极主动这一点很重要,否则你不能说你不知道你是否不能记录你所知道的事情。这只是意味着你不想知道几乎不能提供任何保护。您需要了解哪个级别的可识别组件,我会说这取决于(说:您需要多长时间才能使用此组件)。

询问您的律师并进行一些风险分析:您可能没有法律义务检查使用A-B和A-C的子组件A是否正确检查了这两个组件的权利。但是,如果事实证明AB违反了A并且A没有正确地授权给你,无论A的许可人告诉你什么,你仍然可以放弃AB的任何使用权,这可能会导致你必须丢弃A.所以对于关键组件你可能想做更多的事情而不是法律要求你做的事。

在商业背景下,“假设”可能适得其反。请问你的律师。

应该记录澄清版权和许可证的工作,它的进展以及基础过程。您还应该寻找这些流程的法律帮助,如果您遇到冲突(并且软件许可可能很复杂),您还需要合法地讨论您拥有的内容。根据您使用的组件,预计这将是一些工作。