为了编写原始代码以在欧盟或英国与图书馆一起使用,对商业java JAR文件进行反编译和/或反向工程以查看其内部结构是否合法?

评论

关键是互操作。如果您可以通过interop参数合理地证明反向工程是合理的,那么在欧盟范围内一切都很好。

#1 楼

IANAL;如果这是由公司完成的,则在采取任何措施之前,您需要咨询专门在计算机法领域的律师。

大多数反向工程限制实际上来自EULA /服务条款及其他软件提供商与用户之间的合同约束协议。

经常使用无尘室方法来规避软件提供商所施加的任何限制。那就是逆向工程师创建所谓的“需求文档”并避免任何代码/设计任务的过程,这些任务是由从未对目标产品或相关产品进行逆向工程的指定开发人员独立执行的。这样,在生成副本的“原始代码”的过程中,无需对程序进行任何逆向工程。

因为在创建副本实现时没有使用原始发明的知识(请注意细微的差别,因为知识是在定义需求时使用的),洁净室方法是规避版权侵权的有效方法,但是不能绕过专利法。

根据Wikipedia 2009/24欧盟指令,与欧盟法律规定的逆向工程合法性问题最相关。请记住,与软件公司的任何合同协议也将影响对其软件进行逆向工程的合法性(并且在该处通常明确禁止此类行为)。

这是欧盟指令2009/24的摘录:


(15)未经授权而复制,翻译,改编或变换了提供计算机程序副本的代码形式,即构成了对作者专有权的侵犯。然而,可能存在这样的情况,当为了获得独立创建的程序与其他程序的互操作性而获得必要的信息时,代码的这种复制及其形式的翻译是必不可少的。因此,必须考虑到,仅在这些有限的情况下,有权使用程序副本的人或代表他人执行复制和翻译的行为是合法的,并且符合公平惯例,因此必须被视为不需要权利人的授权。此例外的目的是使连接计算机系统的所有组件(包括不同制造商的组件)成为可能,以便它们可以一起工作。对作者专有权的这种例外不得以损害权利人的合法权益或与对该程序的正常利用相冲突的方式使用。


此EFF常见问题解答是这也是一个好的开始,尽管我认为它主要针对美国法律,但其中一些建议在全球各地都很有价值。

评论


我将接受这个答案,因为我认为它是有用的,可理解的,并且指向所有正确的地方,需要进一步的调查。

–杰森·阿瑟顿(Jesson Atherton)
16年9月7日在9:29

谢谢!如果您想要此处包含的更多信息,请告诉我:)

– NirIzr
16-9-7上午9:41