当我即将编写一个简短的算法时,我首先检查我正在使用的基类库是否在其中实现了算法。如果没有,我经常快速谷歌搜索,看看是否有人之前做过(这是20例中的19次)。
大多数时候,我找到了我需要的确切代码。有时很清楚什么许可证适用于源代码,有时候不是。它可能是GPL,LGPL,BSD或其他。有时人们会在一些随机论坛上发布一个代码片段来解决我的问题。
我很清楚,如果代码在某种程度上很重要,我无法重复使用代码(将其复制/粘贴到我的代码中),而无需关心许可证。我不清楚的是,我是否可以在不执行许可证违规的情况下复制包含5行左右的代码段。
我可以复制/粘贴5行代码段而无需关心许可吗?单线怎么样? 10行怎么样?我在哪里画线(没有双关语)?
我的第二个问题是,如果我找到一个10行代码片段,它完全符合我的需要,但觉得我无法复制它,因为它是GPL许可的而我的软件不是,我已经记住了如何实现它所以当我实现相同的功能时,我的代码几乎与我几分钟前看到的GPL许可代码相同。 (换句话说,代码被复制到我的大脑和我的大脑之后,将其复制到我的源代码中)。
修改:我位于瑞典。这让我更加困惑,这是依赖国家的。如果我重新使用一段代码(以我合法居住的方式)并将此源代码出售给一个重新使用代码非法的国家的公司,该怎么办?
答案 0 :(得分:0)
它很大程度上取决于国家。在一些国家,计划被视为文学的弊端,因此允许少量“引用”作为合理使用。
不幸的是,您必须说明您所居住的国家/地区,并查看当地的版权法。在大多数情况下,更便宜的解决方案是邮件作者的许可(特别是如果它是开源项目)。
答案 1 :(得分:0)
关于第一个问题:法律可能是愚蠢的,技术上版权适用于任何表达,并且适用时不要求表达式的作者明确断言;如果没有许可证,理论上可能即使对于小型片段也应承担侵犯版权的责任。可能的防御基于fair use,但(理论上),你最终可能会在法庭上为自己辩护(你的合理使用声明并不能阻止版权所有者起诉 - 除了常识之外什么都不做 - 但如果他或她决定使用确实是公平的,法官可能会对你做出决定。
你的第二个问题取决于你的代码是否是代码片段的derivative work,另一个与“合理使用”问题交织在一起的棘手概念。同样,唯一明确的答案是法官在具体案件中给出的答案(“明确的”,除非被上诉法院驳回,实际上; - )。
请记住,大多数立法者都是经过培训的律师:有时人们可能想知道他们是否会为了确保律师能够获得大量工作而使法律变得微妙和困难; - )。
答案 2 :(得分:0)
版权法(如“伯尔尼公约”)在某种程度上保护了一小部分文字,所以你必须咨询一下你所居住的法律知识渊博的人。图书馆里可能有本地可用的东西,或者你可以咨询律师。
至于你在瑞典做一些合法的事情,并在美国发给我的可能是非法的事情,我真的不知道。我认为我会遇到法律问题,尽管有Dmitri Sklyarov案件需要担心(他在俄罗斯做了一些合法的事情,来到了美国,并且在我不理解的法律情况下被捕) 。再次咨询律师。
答案 3 :(得分:0)
我不是律师 - 但我最近参与了这样的问题。复制和粘贴博客中的代码肯定会被视为侵犯版权,除非博客声明代码所在的许可以及如何重复使用。
我建议使用这样的示例代码,只为您提供解决方案的一般流程/想法 - 然后从您自己的头脑和您自己的风格重新实现这个想法。
另据建议,邮寄许可是另一种选择。大多数人博客代码都可以重复使用。