假设我使用了一个游戏引擎并制作了一个游戏(我自己从头开始)。此外,我提供了有关如何对我的游戏进行逆向工程的详细信息,包括方法和细节。
两个问题。
- 这样做是否合法?
- 我可以打开我的代码并提供用于教育目的的游戏逆向工程用例吗?
假设我使用了一个游戏引擎并制作了一个游戏(我自己从头开始)。此外,我提供了有关如何对我的游戏进行逆向工程的详细信息,包括方法和细节。
两个问题。
你应该向律师询问法律问题——我不是这样的人,我对这个话题的理解并不比真正的律师更有价值。也就是说,据我所知:一般来说,对于因逆向工程而陷入法律困境的人,他们要么需要:
以上两者都围绕着未经授权的逆向工程使用。鉴于您正在谈论免费分发软件,并获得逆向工程的明确授权、源代码以及有关如何逆向工程的说明,您实际上放弃了通常围绕逆向工程的民事诉讼类型的权利。如果您要起诉某人对您的软件进行逆向工程,他们会简单地指出您自己的授权作为辩护,以证明他们的行为为何是合法的。在犯罪方面,没有人的商业利益受到损害——这是对逆向工程进行刑事处罚的基石——因此政府没有理由关心它。与此事有关的人必须感到不安,逆向工程师才能入狱或被起诉。
人们为其他人的逆向工程的明确目的而创建软件的想法并不新鲜。几十年来,Capture The Flag 和crackme 比赛已经这样做了。尽管不太常见,但有时商业软件允许通过许可协议进行逆向工程。例如,这里有一段来自Hex-Rays 许可协议的文字:
该许可证还允许您
- 对软件进行逆向工程。
我可能要注意的一件事是,如果您的代码依赖于第三方库:您自己没有合法资格授权人们对他人的代码进行逆向工程。即,如果您使用的游戏引擎有反对逆向工程的许可条款,那么您对自己的代码进行逆向工程最终是可以的声明并不能取代引擎开发人员自己的围绕其代码逆向工程的许可条款。我想引擎开发商有可能让你对违反他们的许可条款负责。但是,如果引擎是开源的,那么像这样的知识产权利益就没有实际意义,因为人们可以简单地阅读源代码,而不是对其进行逆向工程。