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

Language agnostic 许可证是否与小代码段相关?,language-agnostic,licensing,Language Agnostic,Licensing,当我准备编写一个简短的算法时,我首先检查我正在使用的基类库中是否实现了该算法。如果没有,我经常在谷歌上快速搜索,看看有没有人做过(20次中有19次) 大多数时候,我都能找到我需要的确切代码。有时很清楚什么许可证适用于源代码,有时则不然。它可能是GPL、LGPL、BSD或其他类型。有时人们会在某个随机论坛上发布一段代码片段来解决我的问题 我很清楚,如果代码在某种程度上是实质性的,我不能在不考虑许可证的情况下重用代码(复制/粘贴到代码中)。我不清楚的是,我是否可以在不违反许可证的情况下复制包含5行左

当我准备编写一个简短的算法时,我首先检查我正在使用的基类库中是否实现了该算法。如果没有,我经常在谷歌上快速搜索,看看有没有人做过(20次中有19次)

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

我很清楚,如果代码在某种程度上是实质性的,我不能在不考虑许可证的情况下重用代码(复制/粘贴到代码中)。我不清楚的是,我是否可以在不违反许可证的情况下复制包含5行左右的代码段

我是否可以复制/粘贴5行代码段而不考虑许可证?一艘班轮怎么样?10行怎么样?我的底线在哪里(没有双关语)

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


编辑:我在瑞典。这让我更加困惑,这是一个依赖国家的问题。如果我重复使用一段代码(以我居住的地方合法的方式),并将此源代码出售给某个国家的公司,而在该国家重复使用代码是非法的,该怎么办。在一些国家,节目被视为文学作品,因此少量的“引用”被视为合理使用


不幸的是,你必须说明你住在哪个国家,并检查当地的版权法。在大多数情况下,更便宜的解决方案是邮寄作者以获得许可(尤其是在开源项目的情况下)。

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

第二个问题取决于您的代码是否是代码段的一部分,这是另一个棘手的概念,它与“合理使用”问题交织在一起。同样,唯一确定的答案是法官在具体案件中给出的答案(“确定的”,除非上诉法院驳回;-)

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

版权法(如《伯尔尼公约》)在某种程度上保护了即使是很小的作品,因此你必须咨询熟悉你所在地法律的人。图书馆里可能有本地可用的东西,或者你可以咨询律师


至于你在瑞典做一些合法的事情,然后在美国把它寄给我,在那里可能是非法的,我真的不知道会发生什么。我想我会是一个陷入法律困境的人,尽管这件事值得担心(他在俄罗斯做了一些合法的事情,来到美国,在我不太理解的法律环境下被捕)。再次咨询律师。

我不是律师,但我最近一直在关注类似的问题。从博客复制和粘贴代码肯定会被视为侵犯版权,除非博客声明了代码所处的许可证以及如何重用代码

我建议使用这样的示例代码只是为了给您提供解决方案的一般流程/想法,然后以您自己的风格重新实现该想法


正如所建议的,邮寄申请许可是另一种选择。大多数人的博客代码都可以重复使用。

我已经编辑了我的原始文章。(我在瑞典)法律是微妙而困难的,原因很简单,它们必须是处理人类行为的精确方式,它们试图体现某种正义。相应的编程等价物将是人工智能的某些领域。@David,我曾经(80年代末)帮助一所大学法学院的研究人员建立了一个“专家系统”——他们巧妙地选择了一个小型的、独立的领域,不受政治/意识形态压力的影响……:在(意大利)内陆水道上捕鱼的规定。当……时,他们加入所有适用法律法规的比例不到三分之一。。。第一个自相矛盾的现象出现了,整个项目变得毫无用处(它使用了正常的亚里士多德逻辑,而不是模糊的或概率的,因此,如果“公理”[定律]中存在矛盾,它可以而且会找到任何定理的证明)。而这则轶事的要点是,@大卫:我认为你在为立法者的草率寻找借口(包括法官):许多矛盾源于草率的法院判决所确立的先例;-)1.制定精确、明确的规则,规定你在一年中的什么时候可以在什么水域使用什么船只,什么样的渔网,什么样的诱饵,什么样的捕鱼需要什么许可证等等,这不应该超出人类的知识范围,除非你是一个钓鱼爱好者(我不是;-),但肯定不是火箭科学。(可能有编程等价物;-)。我觉得整个主题非常令人担忧。每个人都按照“最佳实践”行事,即使是最小的代码片段,