合理使用如何应用于代码段?[关闭]


26

在没有合理许可的情况下,您是否可以使用某种尺寸复制合理使用的代码?例如,如果我复制一个(通常)三行代码的代码段怎么办?这样合理吗?如果合理使用,我需要多长时间才能获得许可证?


11
法律根据您所在的位置而异,并且这里有来自世界各地的人们。在提出法律问题时,请告诉我们您的生活和工作地点。而且,不要相信我们所说的话。如果从某种程度上(例如在财务上)对您很重要,请咨询具有适当经验的当地律师。
David Thornley,2010年

1
注意:我为这个问题添加了一个答案,因为尽管该主题根据当前的指导方针是偏离主题的,但我仍然认为现有答案不够正确-我认为答案不正确或误导性要比发布新主题更糟糕答案。
Jules

Answers:


12

在美国,合理使用的法律原则不适用于将受版权保护的作品的摘录嵌入源代码中。您所在司法管辖区的法律如何应用这种学说可能会有所不同。

我将从美国版权局关于合理使用的文章中摘录,其版权一般如下:

第107节列出了可以将特定作品的复制视为公平的各种目的,例如批评,评论,新闻报道,教学,奖学金和研究[重点是我的]。第107条还规定了在确定特定用途是否公平时应考虑的四个因素:

  1. 使用的目的和性质,包括这种使用是商业性质还是非​​营利性教育目的
  2. 受版权保护的作品的性质
  3. 与版权作品整体相关的部分的数量和实质性
  4. 使用对受版权保护作品的潜在市场或价值的影响。

合理使用与侵权之间的区别可能尚不清楚,并且难以定义。 没有特定数量的单词,行或注释(强调我的名字),可以未经允许安全地使用。承认受版权保护的材料的来源并不能代替获得许可。

它总结了版权的法律限制,“合理使用”进一步限制,例如:

版权保护作者表达自己的特定方式。它不会扩展到作品中传达的任何想法,系统或事实信息。

最安全的方法是始终在使用受版权保护的材料之前获得版权所有者的许可。版权局无法授予此权限。

版权保护的局限性告诉我们,尽管您不能通过合理使用来复制代码的“片段”,但是可以重写在这些片段中表达想法,系统(包括算法)或事实信息的方式。

简而言之,三行代码应该足够小,以便您重写它,以免侵犯原始作品的版权。编写问题的时间可能比重写问题花费的时间更长。


14
我在这里看不到任何说明复制代码段不能合理使用的内容。它说明了如果被起诉将用于判断您的使用是否合理使用的标准。
KeithB 2010年

7
该列表仅是示例性的,而不是完整的。这就是为什么它包含单词“如”的原因。如果该代码具有很大的功能性,那么只占用了原始作品的一小部分,而这两个作品在市场上没有竞争,那么法院很可能会找到合理的使用方式。
David Schwartz

4
@Huperniketes,您必须具备什么条件才能“阐明法律”?您已经写了这句话,好像您引用的权威权威地表明复制代码不合理使用一样,但是实际上您只是在对法规进行自己的解释,甚至没有引用任何判例法。
Mark Amery

6
这实际上与我的观点无关。问题在于,用“例如”开头的清单在任何英语版本中都无法穷尽,甚至连律师每天都讲的离奇的“火星英语”也是如此。斜体的列表仅是示例列表,仅此而已。它除了对法官和律师暗示立法者的总体意图提供暗示外,对法律的实际含义没有任何帮助。合理使用是法律中令人难以置信的灰色区域,而以黑白方式呈现其中的任何部分都会给读者带来极大的伤害。
凯文(Kevin)

6
@Huperniketes,您声称我对法律一无所知时却在不了解材料的情况下做出愚蠢的断言。是提出法律主张的人-与简单的英语阅读相反,您的斜体段落显示将代码段复制到软件中永远不会被合理使用。我对此主张表示怀疑,但可以肯定的是,我不知道有任何判例法支持或反驳这一主张。这就是为什么我不提出事实主张。如果您想被信任,举证责任就在身上,但是您选择嘲笑和侮辱那些中性要求您出示证据的人。
Mark Amery

21

我不是律师

但是,您绝对可以在编写的任何代码中使用以下三行代码:

for (i = 0; i < 5; i++) {
    printf("I am not a lawyer!\n");
}

.... 纯粹是功能代码(不是您可能认为的功能,而是通过其功能来实现)。它实际上并没有完成任何事情。它只是锻炼了语言的结构。它支持做实际工作的东西,您经常键入它,以便有一个宏可以生成它。但是,您所说的不是“合理使用”,而是首先是具有版权或许可权?

唯一正确的答案是请律师。十行代码来自什么?高度专业的排序算法?某种固件?自Usenet诞生以来,数以百万计的配置文件解析器之一就在其中徘徊?由另一个程序生成的代码会根据您的数据库模式生成数据库类?

但是,请向我证明是为for循环或switch语句编写的,而不仅仅是复制了我的。在断言不再听起来很荒谬的时候,您可能就应该与律师或至少与您的工程经理/ PM /等等交谈。

我参与了多个免费/开源项目,其中一些项目要求对“琐碎”的内容进行版权分配。所有具有此要求的人都将“琐碎的”定义为添加或修改的十行代码。但这只是建立某种标准的任意试金石。比起10行切换,一行弯曲的字节比较更有可能受到版权保护。

我的摘要库包含数百个功能,所有功能都具有原始的作者信息(以doxygen风格的注释)以及许可信息(如果有的话,大多数只是公共领域)。

除非很琐碎(例如在我的幽默示例中),否则我不会重用代码,除非我知道自己有权这样做。我也始终遵循适用的任何许可规则。为了帮助我将来的自己(或将来的维护者),我喜欢在评论中留下指向找到内容的链接,即使这是tar球的名称,如果我离开公司,我也会打开USB记忆棒。


2
我非常怀疑许多片段是否属于公共领域。
Martijn

2
我来晚了,但是要注意,即使Tim Post保留了上述代码的所有权利,他也无法对该想法进行版权保护。如果您从该代码段中学到可以使用for循环将字符串打印五次,然后使用这些想法编写自己的(非常相似)for循环,那么无论如何,您都可以。蒂姆想要什么都没关系。根据版本的长短和版本的相似程度,您可能有负担证明您确实确实在重新实现它,但是如果可以做到,则可以保证。
GrandOpener 2015年

虽然版权不能保护思想,但专利可以保护思想。版权是一个法律术语,具有特定的法律定义。创意不能被版权保护,但是它们的表达方式可以并且应该是;根据现行的知识产权法,创作者的作品将自动获得版权和受保护。一个想法可以申请专利,如果它符合相应的标准。
Huperniketes

@Huperniketes-“ [想法]的表达方式可以[是版权]并且是存在的;根据现行的知识产权法,创作者的作品将自动获得版权并受到保护” –只要这些思想的表达达到原创性和发明创造被认为是必须受到保护的创造力的最低门槛,而复制的数量并不被认为是微不足道的。如果表述没有足够的区分性,或者复制的数量被认为是微不足道的,则这称为最小复制,并且不受版权保护。法院发现这延伸到...
朱尔斯

...计算机程序,它们显然是执行特定操作的最小程序(并且该操作本身不是创新的)。例如,若干这样的情况下,讨论在这里。在问题的上下文中,所引用的那三行几乎可以肯定地属于该类别:本质上完全是功能而非创造性,并且可以确定地执行在许多软件中都可以找到的通用操作。在这种情况下,它们可能不受保护。
Jules '18

1

版权适用于创意作品,包括想法的表达(合法地对待源代码),只要这些想法的表达达到的独创性和创造性水平超过被视为具有创造力的最低要求的水平保护和复制数量不被认为是微不足道的。

如果该表达方式与众不同,则称为未达到版权保护阈值;如果复制量被认为是微不足道的,则称为最小复制,并且不受版权保护。法院发现,在计算机程序显然是执行特定操作的最小程序的情况下(并且该操作本身不是创新的),它可以扩展到计算机程序。例如,这里这里讨论了几种情况。

在问题的上下文中,所引用的那三行几乎可以肯定地属于该类别:本质上完全是功能而不是创造性,并且几乎可以肯定地执行许多软件中都存在的通用操作。在这种情况下,它们可能不受保护。

从技术上讲,这实际上不是“合理使用”,它是版权持有人有权强制执行的特定法定豁免,而是基于随时间累积的普通法判例,但术语“合理使用”经常以包含两种含义的方式宽松地使用它们,实际上它们之间存在实质性的重叠。


1

美国的“合理使用原则”是对版权侵权主张的可能的肯定辩护。“肯定抗辩”是指您承认未经许可进行复制并因此侵犯了某人的版权,但是随后您声称出于某种原因您有权这样做而不会产生负面后果。老实说,这似乎是一种危险的策略。您建议编写侵犯某人或某人的版权的代码,并依靠合理使用的辩护。我很容易想到3行代码可能是“合理使用”的,但是这里的3行,那里的3行以及其他地方的3行不是。

对于版权侵权,有更好的防御措施:首先不要侵权。无需复制代码片段,而是阅读,仔细检查,了解它的工作原理,了解它,一旦完全了解它,就无需复制,而是编写自己的三行代码。这具有多个优点:

  1. 您不是在侵犯版权。
  2. 您学到了一些东西,并成为了更好的开发人员。
  3. 自己编写意味着它的编写风格与其他代码相同,从而使维护更加容易。
  4. 在花时间了解代码段的同时,您将了解其不足之处,局限性,错误,并在自己的代码中避免使用它们,这意味着您的代码比复制该代码段更好
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.