软件反向工程的合理性

(一)软件反向工程的合理性

1.技术层面。软件开发人员在开发软件的过程中不可避免地会存在漏洞,这些问题在软件测试过程中不一定会被发现,一旦投入市场并长期使用便会逐渐显露出来。此时,如果用计算机软件反向工程获得软件的源程序,运用反向思维对软件源程序进行分析研究,以此为依据查找软件漏洞,排除软件故障,改进软件性能,工作效率便会大大提高,软件质量也会有大幅进步。其次,软件开发商成千上万,软件之间却常常需要配合使用,例如应用软件必须和系统软件兼容,甚至有些软件就是为配合其他软件运行而开发,因此软件开发人员在编写程序时绝不能闭门造车,必须了解其他软件的设计结构,设计出与其他软件能够互联的接口,否则软件的功能将会大大缩水,甚至失去施展之地。再次,在反病毒领域,软件反向工程也发挥着极其重要的作用,病毒制造者在软件中加入了一些特定代码,使计算机不能正常运行甚至全面瘫痪,软件反向工程对于查杀病毒具有至关重要的作用,软件工程师无法获知源代码,只能对目标代码进行反向工程,将病毒代码摘除,使计算机恢复正常状态。此外,软件更新换代速度令人惊叹,软件只有不断升级才能满足用户需求,而软件的继续开发往往也离不开软件反向工程,软件反向工程可以大大缩短研发周期,从而使软件在激烈的市场竞争中掌握先机。当然,软件市场不排除有投机取巧者通过软件反向工程获得成熟源代码,然后加入一些批注或者标点等无意义的语句,并直接将仿制软件投入营利,以此为目的的软件反向工程必须坚决抵制。

2.经济层面。技术方面的目的根本上是由市场效益所驱动的,软件行业是知识密集型、技术密集型产业,具有高投入、高风险的特点。

软件行业的高投入主要是指研究和开发成本较高。一个软件开发项目的启动从前期市场调研到软件开发再到后期测试,人员数量可能达到几百甚至上千,而且这些人员都是需要具有相应计算机专业知识的高精尖人才,人力成本不容小觑。此外,软件产品具有开发持续时间长、结果不确定的特点,同时又具有生命周期短、时效性强的特点,前期的投入并不一定能够获得预期的效益,因此软件行业的高投入常常伴随高风险。虽然软件不会被磨损,但很容易被取代,利用软件反向工程在既有软件上进行再研究,可以有效避免重复工作,更加迅速准确地发现软件的瓶颈所在,提高软件的性能与兼容性,不但可以大大缩短开发时间,减少开发成本,在信息技术迅速发展的今天抢先占据优势位置,而且可以激发软件开发商的开发热情,避免软件行业的垄断,形成软件行业的良性竞争,促进软件行业的飞速发展。

3.法律层面。(https://www.daowen.com)

(1)软件反向工程与利益平衡理论。世界各国的著作权制度在设计之初就将利益平衡理论作为价值导向,其价值目标在于使著作权法调整的主体之间的利益关系处于相互协调的和谐状态,即在作者、著作权人、邻接权人和广大受众之间寻找一个利益平衡点,一方面一定程度上限制权利人的个人利益,另一方面又保障广大受众的公共利益,使得这种平衡既能够激励创作者创作优秀作品的热情,又能让广大使用者充分享受知识创造的累累硕果。

当今时代,计算机软件已经成为人类活动的基本工具,是信息交流的基本媒介,而软件行业的竞争速度以秒为单位,在更新换代如此之快的节奏之下,一个新的软件的开发如果永远从零开始,将要花费成倍的时间与成本,开发成功之日也许就是被市场淘汰之时,而且不断的重复工作也是对社会资源的极大浪费,整个软件行业的发展速度也会大大降低。此外,较早进入软件行业的开发商已经较先掌握了软件行业的核心技术,或者已经抢先开发了可以掌握后来者咽喉的平台软件。“一旦软件反向工程被法律规定为禁止行为,则后来者将无从获得上游软件的兼容信息,结果必然是软件行业巨头的垄断,最终将是广大消费者为垄断带来的高价格买单。”[2]软件反向工程可以刺激软件开发商不断更新产品以增强竞争力,打破垄断,使软件价格遵循市场规律,造福于消费者,进而促进整个行业的快速发展和社会财富的不断积累。

(2)软件反向工程与思想表达二分原则。众所周知,著作权法仅仅保护表达方式,而不保护思想。两件作品表达的主旨无论有多么相似,只要是独立创作,在表达方式上与已有作品存在差异,仍然不可否认该作品的独创性。正当的软件反向工程是对源程序进行分析理解,从而领悟源程序的设计思想和结构理念,即著作权法意义上的对思想的借鉴,这并不违反著作权法。但是对于软件开发来说,可供思想表达的程序选择范围十分有限,即使仅仅借鉴了思想,也不能排除表达方式的相似性,因此在判断是否抄袭的问题上十分困难。此外,使用反汇编或反编译程序时,基于程序自身特点限制,经过反向工程得到的代码并不是对源代码的完全复制,这使得情况更加复杂,判断过程难上加难。为解决这个问题,美国在实践中发明了一种“净室”方法,即在软件开发过程中,将研究人员分为两组,一组人员负责对既有成熟软件进行反向工程,通过反编译反汇编等获得不受著作权法保护的软件构思,然后将构思传达给另一组人员,另一组人员在完全没有接触该款软件的前提下,依据第一组人员提供的软件构思独立设计软件,由此即使和既有软件有相似之处,也可以规避被定性为侵权的风险。这种方法也为司法实践的准确判断提供了路径。