许可证是否与小代码段相关?

Mar*_*tin 10 language-agnostic licensing

当我即将编写一个简短的算法时,我首先检查我正在使用的基类库是否在其中实现了算法.如果没有,我经常进行快速谷歌搜索,以查看是否有人之前已经完成(事实上,20次中有19次).

大多数时候,我找到了我需要的确切代码.有时很清楚什么许可证适用于源代码,有时候不是.它可能是GPL,LGPL,BSD或其他.有时候人们会在一些随机的论坛上发布一个代码片段来解决我的问题.

我很清楚,如果代码在某种程度上很重要,我不能重复使用代码(将其复制/粘贴到我的代码中)而不关心许可证.我不清楚的是,我是否可以在不执行许可证违规的情况下复制包含5行左右的代码段.

我可以复制/粘贴5行代码片段而无需关心许可吗?单线怎么样?10行怎么样?我在哪里画线(没有双关语)?

我的第二个问题是,如果我找到一个10行代码片段,它完全符合我的需要,但觉得我无法复制它,因为它是GPL许可的而我的软件不是,我已经记住了如何实现它当我开始实现相同的功能时,我的代码几乎与几分钟前看到的GPL许可代码相同.(换句话说,代码被复制到我的大脑和我的大脑之后,将其复制到我的源代码中).

编辑:我位于瑞典.这让我更加困惑,这是依赖国家的.如果我重新使用一段代码(以我居住的合法方式)并将此源代码出售给一个重新使用代码非法的国家的公司,该怎么办?

Ale*_*lli 0

关于第一个问题:尽管该法律可能很愚蠢,但从技术上讲,版权适用于任何表达方式,并且无需表达方式的作者明确声明即可适用;如果没有许可证,理论上,即使是小片段,您也可能要承担侵犯版权的责任。可能的辩护是基于合理使用,但是(同样,理论上)您最终可能会在法庭上为自己辩护(您的合理使用主张并不能阻止版权所有者起诉——除了常识之外,没有什么可以阻止——但是如果法官认为使用确实公平,他或她可能会做出对您有利的决定)。

你的第二个问题取决于你的代码是否是代码片段的衍生作品,这是另一个与“合理使用”问题混合在一起的棘手概念。同样,唯一确定的答案是法官在具体案件中给出的答案(实际上是“确定的”,除非被上诉法院推翻;-)。

请记住,大多数立法者都是受过培训的律师:有时人们可能会想,他们是否只是为了确保律师总是有足够的工作而使法律变得微妙和困难;-)。

  • @David,我曾经(80年代末)帮助一所大学法学院的研究人员建立了一个“专家系统”——他们巧妙地选择了一个小型的、独立的领域,不受政治/意识形态压力......:渔业法规(意大利语)内陆水道。他们不到 1/3 就进入了所有适用的法律和法规……第一个自相矛盾出现了,整个项目变得毫无用处(它使用正常的亚里士多德逻辑,而不是模糊或概率性的,所以,考虑到“公理”[法律],它可以并且将会找到*任何*定理的证明)。 (4认同)
  • 我觉得整个话题非常令人担忧。每个人都按照“最佳实践”行事,即使是最小的代码片段的归属,也会导致代码库膨胀到散布着实际代码的微小片段的难以理解的大量归属。例如,假设 `var param = param || “default”;`首先出现在一些获得许可的JavaScript代码中,那么我猜数以万计的JS开发者都侵犯了某人的版权。在这方面,我希望法官能够更自由地适用“合理使用”,至少在开源软件方面。 (2认同)