法律

“反向工程”与“净室技术”

  《著作权法》对软件的保护与对其他作品一样,只保护表达(expression)不保护思想(idea),这意味着只要用不同的代码表现出来,即使蕴涵在软件产品中的思路是一样的,也不构成著作权法意义上的侵权,这使得“反向工程”在著作权法意义上的合法化成为可能。近年来“反向工程”和“净室技术”越来越多地出现计算机计算机软件的研发过程中。反向工程(reverse-engineering),是指在阅读、研究软件的目标代码后,对他人软件的目标程序进行逆向解剖、分析,再通过反汇编方式寻找源代码,以推导出他人的软件产品的功能、组织结构、处理流程、算法等并应用自己研发的软件中。与反向工程相联系的,是一种名为“净室技术”(clean-room)的开发模式。其主要过程是将研发人员分成两组,第一组负责对原软件进行反向工程,分析出其设计要素和思路;第二组负责开发新软件。第一组人员只能通过文档告诉第二组人员原软件“做什么”,但是不能告诉是“怎么做的”。两组人员之间所有的信息传递都在法律顾问的严格监督下进行,且不能直接接触,以确保“净室”的封闭性,实现开发过程与环境的“净化”,从而合理地规避《著作权法》对软件作品的保护。

  对于自主研发水平尚不发达的我国软件企业,“反向工程+净室技术”是迅速建立自主软件产业的良策,也是很多企业正在采用的开发模式,因此,在开发过程要对其行为的合法性进行严格判断。

  首先,要判断我国企业选用的“被反向工程”的软件是否来源合法,用通俗的话说就是是否保证是正版软件,是否购买了足够的“点数”,该软件是否在点击合同或拆封合同中明确提出“禁止反向工程”或“禁止反汇编”。

  其次,要检索该软件除了受《著作权法》的自动保护之外,是否已经申请了专利,受《专利权法》保护;该软件的LOGO或其他标识是否受《商标法》保护。因为“反向工程+净室技术”只能起到对著作权上的权利进行合理规避的作用,其对专利权是无能为力的。

  最后,要特别注意在开发过程中保留“净室技术”的证据。目前在司法实践中,判定软件是否侵权的主要衡量标准是“实质性相似+接触”,而“实质性相似”又是一个相对主观的标准,因此,被诉方是否能够提出证据,证明两组人员在净室开发中没有过“接触”便有着决定软件是否侵权的重要意义。通常,能够证明两组开发人员“无接触”的证据主要包括:记载有工作时间、地点、人员的文档,法律顾问提供的证明,等等。因此,为了确保开发过程的合法性,我国软件企业应当坚持将全部的计算机开发工作文档化、规范化。同时,在采用“反向工程”研发软件时,要聘请法律顾问,在其监督下封闭开发,并且对每个工作日、工作地点都进行详细的纪录。这种规范的开发流程不仅有利于软件研发的效率,一旦发生诉讼,更可以成为最有力的“不侵权证据”,维护国产软件开发者的合法权益。