开源许可证均受版权法的支持。没有版权法,开源就会分崩离析。

版权最初是为创意作品而设立的,,包括算法。在上,特别指出“仅仅列出成分或内容”也不受保护,这可能适用于渲染代码的某些部分(例如,动态库中的函数表可以被视为内容列表)。

考虑到这些因素,似乎我的代码整体都不受版权保护。这对我来说没问题,例如,我不希望我编写的函数头受版权保护(对于任何想要编写一个接受数组并输出 int 的函数的人来说,这都是非常痛苦的)。然而,这引出了我的问题;我的代码的哪些特定部分/品质受版权保护/可受版权保护,因此可以根据开源许可证获得许可?最好回答具体到美国的问题。

警告:

如果答案是“您的所有代码都受到保护”,那么答案将非常非常糟糕。这是因为我们实际上知道并非所有代码子集都受到保护。如果我们知道整个作品都受到保护,但并非所有子集都受到保护,那么我们可以说您的代码的任何特定子集可能不受保护,换句话说,如果有人拿走了您的几乎(但不是全部)代码,那么答案“您的所有代码都受到保护”表明您的这部分代码可能不受保护。

11

  • 4
    我想说的是,你对版权持有“彩色砖块”的观点,这不是一个好的模型。你可能想读一下我写的,它概述了一个思维模型,虽然远非完美无缺,但造成的问题比彩色砖块模型要少。


    – 


  • 从美国的角度来看,您可能会对(以及应用该测试的判例法)感兴趣,该测试在比较两段代码时“过滤掉”不受版权保护的组件,仅比较受版权保护的内容。


    – 


  • @MadHatter 你的‘砖’模型似乎与归属有关,而不是与是否适用版权有关。


    – 

  • 1
    不,不是。这是一种思考版权的方式,以及它如何在受保护的作品中存在。你假设受保护的作品由受保护的部分和不受保护的部分组成,如果你能将不受保护的部分单独取出,你就可以使用它们。版权不是这样运作的。


    – 


  • 1
    从该链接中可以看出,AFC 测试并未被普遍认为是一个好的模型。我承认美国是这样看待版权的,但不幸的是,美国仍在努力实现版权全球化,而许多其他国家却不想按照美国的方式去做。我还注意到,你的问题询问的是代码的哪些部分受到保护,因此可以根据 OS 许可证进行授权,但你不需要先解决第一个问题才能实现第二个问题。对所有内容进行授权;让声称其中某些内容可以在版权之外使用的最终用户来解决这一问题。


    – 



最佳答案
2

我感觉你在寻找一个简单的黑白答案,它为你提供了一套标准,你可以应用这些标准来确定某些代码是否受版权保护。然而,版权的运作方式并非如此 – 即使在同一个司法管辖区,个别法官和法院对此也存在分歧(也许最著名的是),而不同的司法管辖区肯定会对完全相同的问题做出不同的裁决。

2

  • 感谢您的回复。我确实想得到一个非常有针对性的答案。我想对这个答案提出一些建设性的批评 – 仅仅因为法院会对主题和法律产生分歧,并不会阻止律师就某些情况提供法律建议(例如)。即使我们不知道它通常如何应用,我们也知道法律应该如何应用,这正是我所寻找的。


    – 


  • 7
    我不知道您为什么认为我们这些外行知道法律“应该”如何应用,在再次审理谷歌诉甲骨文案时,1)地区法官 2)三名联邦法官 3)最高法院多数派和 4)最高法院少数派对法律应如何应用存在分歧。


    – 


一般而言,法律(也适用于版权)并不以数学上正确的方式适用于集合和子集。律师、法官和立法者通常不是数学家,他们可以轻松地为更大集合中的子集、子集本身甚至事物形成的历史定义不同的规则(即使历史不可知,他们也会应用历史规则)。

原则上,版权保护适用于所有代码,你无法从中抽取一个子集并声明它不受保护。唯一的例外是,如果你能证明该子集在任何情况下都不可能受到版权保护。如果

  • 所讨论的代码实际上是实现这一目标的唯一方法。
  • 子集是自然事实的列表。它必须是关于除提取事实的代码之外的其他事物的事实,因此函数名称的列表不符合条件。

还请注意,虽然版权法保护您表达的想法,但它并不阻止其他人对同一想法提出非常相似的表达。两个人独立编写一个看起来几乎相同的 hello-world 类型的程序是完全允许的。他们两人都会对自己的版本受到版权保护。