假设我创建了一个新的(DSP)算法。如果我在copyleft许可证(GPL等)下开源算法,是否会有一些优势?从我对许可的了解中,这应该使人们避免使用与封闭源完全相同的代码,但是他们能够将算法“重写”为封闭源吗?
注意:我真的不知道该算法是否是新算法,但尚未作为开源发布。因为我来自欧盟,所以如果我想版权所有,我需要寻找软件专利吗?
假设我创建了一个新的(DSP)算法。如果我在copyleft许可证(GPL等)下开源算法,是否会有一些优势?从我对许可的了解中,这应该使人们避免使用与封闭源完全相同的代码,但是他们能够将算法“重写”为封闭源吗?
注意:我真的不知道该算法是否是新算法,但尚未作为开源发布。因为我来自欧盟,所以如果我想版权所有,我需要寻找软件专利吗?
Answers:
Copyleft许可证(如GPL)中的限制适用于代码的修改版本以及原始代码。因此,他们不能只是调整空格或大括号样式,然后删除您的许可声明。
但是,无论是最抽象的“算法”,您都不能申请专利/版权所有/版权所有。您可以在您最喜欢的quicksort实现上放置一个许可证,但是不能对quicksort本身进行许可证。如果有人阅读您的代码只是为了学习算法,然后以自己的方式从头开始重写算法,那很好。
据我所知,第一个发布算法的人没有什么“优势”,除非它特别值得一提,否则可能会有些名气和(现实世界中的)声誉。成为第一个被copyleft的人肯定不会为您带来任何好处,但是有人对其进行了leftleft的事实将被视为对自由软件社区的好处。
如果您想防止一项可专利的东西获得专利,然后与更广泛的社区“隔离”,则可以进行防御性公开。例如,Cuis Smalltalk使用一些新的抗锯齿技术来做到这一点:
我在其他答案和评论中看到了一些有价值的信息,但也看到了一些错误信息,因此我尝试给出一个摘要并添加一些其他内容。
如果我在copyleft许可证(GPL等)下开源算法,是否会有一些优势?
通过在GPL下发布算法实现的源代码(我假设这就是您的意思),您将获得演示算法按预期运行的优势,每个人都可以检查您的源代码以确保其中不包含任何内容“异常”,例如严重的错误或恶意软件。也许您会为进一步的改进做出一些贡献。而且,由于您是版权所有者,因此您仍然可以在不同的许可下自由发布或出售自己的实现。
一个不同的问题是,成为第一个发布该算法的人是否给您带来了好处。通过成为第一个,您可以尝试阻止他人获得该算法的专利,因为您的实现将作为您是发明人的某种证明。但随着@Snowman已经在评论正确地指出,由于第一到文件(而不是第一个向发明)的许多欧洲专利法规政策,可能实际上不是工作。
从我对许可的了解中,这应该使人们避免使用与封闭源完全相同的代码,但是他们能够将算法“重写”为封闭源吗?
您禁止人们发布您的源代码或在封闭的源代码中对其进行修改,而不是在商业组织内部使用它。您可以锁定他人,使其使用不同于GPL的许可将其发布为开放源代码或封闭源代码。但是,您并不能阻止人们在任意许可下发布算法的新“无尘室”实现,该实现仅根据您对算法的描述而无需实际查看源代码。
因为我来自欧盟,所以如果我想版权所有,我需要寻找软件专利吗?
尽管许多欧洲国家/地区的法律正式禁止使用纯算法的专利,但过去许多公司通过将特定算法声明为“计算机实现的发明”来规避这些法律。AFAIK,欧洲专利局过去不接受像美国专利局那样多的算法专利,尽管如此,他们多年来已经接受了成千上万种可以解释为算法专利的专利。如果这些专利实际上将在法庭上保管则是一个不同的问题,但是想要找出答案的人通常必须将其置于审判之中,并承担所有相关的风险。评论中提到了两个最受欢迎的示例组,有关GIF图像压缩的专利和有关MP3压缩/解压缩的专利,请参见此处 有关更多示例。
因此,如果您想减少被起诉的风险,在发布包含特定算法的软件之前,您可能应该查看是否有人在此方面拥有专利,即使在欧盟也是如此。
您不能对算法进行“左复制”。“ Copyleft”的可执行性依赖于版权保护,但是算法不具有版权,因此您不能“ copyleft”算法。换句话说,您的问题可能基于错误的前提。
版权只能用于保护特定的实现,而不能用于算法的思想。因此,您可以使用基于版权的许可证(例如“ copyleft”样式的许可证)来保护算法的特定实现,但是这不会阻止其他任何人构建同一算法的不同实现。因此,无法“复制算法”。
特别是,GPL许可证建立在版权法的基础上。版权法大致上是这样说的:未经您的允许,任何人都不能复制您的版权内容。GPL许可证说:我同意在某些条件(“ copyleft”许可的条件)下复制受版权保护的内容(代码)。因此,对于具有版权的事物,这允许在现有版权法的基础上引导“ copyleft”许可。但是,对于没有版权的事物,这种方法是没有用的。版权法仅保护创意表达,不保护思想。特别是,它不能保护算法。
专利法是另一回事。在某些辖区,可能有可能获得算法专利。这将在很大程度上取决于法律管辖权,可能还取决于您所处的情况。一般而言,发布算法可能有助于建立阻止他人为该算法申请专利的现有技术,但是这种方法的细节比较棘手,最好咨询律师。通常,如果您想就与算法专利有关的任何事情提供可靠的建议,我建议您与IP律师联系,因为该范围太广,无法在不了解该信息的情况下进行回答。