软件反向工程的合法性及立法建议,本文主要内容关键词为:性及论文,建议论文,工程论文,软件论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
软件反向工程通常首先通过反汇编、反编译等方式对软件的二进制代码进行转换,得到人们可阅读的汇编代码或高级语言源代码,之后在此基础上进行程序分析和理解,进而得到软件的接口规范、组织结构等信息。软件反向工程是软件分析的一种形式,其本身并不包含重新开发软件的过程。通过软件反向工程所获信息可能被用于维护和改进软件、检测侵权行为、研究软件技术、获取兼容信息等多种目的。笔者在我国软件研究及开发人员中进行了问卷调查和访谈,72%的受访者认为软件反向工程的需求在计算机行业中非常普遍或比较普遍存在。
通过反向工程获取商业秘密的合法性目前得到了各国法律的普遍认可。然而软件往往以二进制代码的形式发布,人们在进行软件反向工程时通常需要将二进制代码转换为便于人们理解的形式再进行分析,这一转换就构成了对软件从一种形式到另一种形式的复制。尽管这种附随的“复制”并非抄袭或制作复制件以提供给他人的行为,却使软件反向工程进入著作权法考察范围之内。
软件成为著作权法保护对象的主要理由在于复制软件成本极低,为了鼓励软件开发及相应的投资,保障软件产业的发展,需要为软件提供某种形式的对复制的保护。然而,软件反向工程等一些使用软件的行为中所附随的复制,并非软件成为著作权法保护对象时经证明需要管制的复制行为。这反映了当前生活中“复制”的内涵相对于著作权法立法之时“复制”的内涵,在事实上有所扩展。著作财产权中的复制权范围应由法律对相关利益关系的考量和价值判断来确定。
关于著作权、特别是其中著作财产权的价值预设在理论上长期存在自然权利学说与功利主义学说之争。从我国知识产权立法过程来看,我国立法保护智力成果是出于促进社会公共福利的功利主义考虑。我国法律中复制权涵摄范围不应默认延伸至包含软件反向工程中所涉复制,而应与我国法律价值体系保持一致,判断这种延伸是否有利于实现促进科技发展的目的。著作权法实现目的之途径是通过赋予作者对其作品的有限垄断权来激励创作和传播。在具体判断时,既不能使权利人失去必要激励,也不能无故扩张著作权而损害公众利益,应在著作权人与公众之间建设最有利于促进科技文化发展的利益平衡。软件因为以文字为表现形式、复制简易,成为了著作权法保护对象;又因其属于功能性的技术产品,开发中所涉利益格局与制造业中的产品开发更为接近。本文从现有法律规范蕴含的价值判断的视角,分析软件反向工程的合法性问题。
软件反向工程中所涉利益关系与文学艺术领域有所不同,在传统著作权法中缺少直接观照。著作权法设立之初主要面向文学艺术领域。尽管在凭借符号进行表达、创作成本远高于复制成本、复制快捷等方面,软件与文学作品具有一致性,但是软件作品毕竟属于技术产品,与文学作品相比有其特殊之处。一方面,软件的技术性和功能性决定了在增量创新、产品竞争等方面其与文学艺术领域的利益平衡关系不同。首先,软件是具有实用功能的技术产品,用户有时对功能的细微改变有实际需求,并且技术进步常常是在现有技术的基础上进行增量式创新,细小的技术进步也可能给社会带来巨大的资源节约和财富增长;其次,在技术产品领域,市场竞争具有促进技术进步、提高经营水平、丰富产品市场、降低产品价格等诸多重要社会价值。另一方面,软件往往以二进制代码形式发布,事实上阻碍了他人了解软件作品中的思想和技术。因此在软件领域,衡量利益的天平在著作权法对公共利益的促进这一端,在很大程度上已经失去了促进思想传播这一项。允许软件反向工程可在一定程度上缓解这一利益失衡。
法律已明确允许一般意义上的反向工程,即对其所涉利益关系进行了评价,其与软件反向工程所涉利益关系非常接近。可以通过对比软件反向工程和其它行业中反向工程的异同,从现有法律规范中更为直接地得到立法者对软件反向工程所涉利益关系的价值判断。本文在总结反向工程涉及的主要利益因素的基础上,对软件产业与传统制造业中各因素的异同进行比较,具体如下:
第一,在传统制造业中,生产者可以在反向工程中学习技术,从而可以应用于新产品开发,并且此过程可能带来技术革新。允许软件反向工程同样有利于促进技术发展、丰富软件产品市场。这对于信息技术并不领先的我国尤为重要。
第二,允许反向工程是维持知识产权制度设计及分工的重要途径。不允许软件反向工程可能使著作权法为不公开的技术思想提供一种至少50年的长期保护,与著作权法立法精神不符,也会削弱专利制度的作用。
第三,证明他人对自己的产品进行了反向工程常常比较困难。是否进行了软件反向工程同样难于发现及证明。禁止软件反向工程反而会为发现及证明他人抄袭了自己的软件或侵犯了专利权均设置障碍,将明显增加诉讼成本。
第四,允许反向工程的一项消极影响是,可能使开发者在设计或生产中付出更多成本来使其产品更难被反向工程,因此可能增加社会开销。目前软件产业中可观察到的此类开销并不大。软件加密和代码混淆只需使用软件工具自动处理。对于结合硬件的加密,在通用软件领域目前仅有银行客户端和其它少数软件采用了结合硬件的加密,但目的在于保障安全或防止盗版,并非为防止反向工程。
最后,允许反向工程可能影响在先生产者的收益。这是反对反向工程者提出的最主要理由。但在先者可能获得的收益,并不等于法律上的权利。需要分析法律希望为在先开发者的收益提供何种程度的保护。
首先,在进行成本比较时,不应考虑在先者用于技术创新研究的成本。创新者进行技术研发的成本有可能很高,但难于估量。正因如此,法律设置了专利权来提供一种排他性的有力保护,以激励对发明创造的投资。
其次,对不具专利的在先者,后来者带来的竞争虽然可能对在先者收益有影响,但如果在先者理论上仍可能从市场中获利,则不足以构成禁止反向工程的理由。在一些传统制造业中,后来者进行反向工程并模仿制造的成本已经达到与在先者成本相当的水平,并且所需时间并不长。法律对这些行业中反向工程的允许,反映了法律对竞争的鼓励。竞争的基本经济功能在于激励生产经营者不断研发和采用新技术、新设计,并且不断地完善自身的经营管理、降低成本,从而为消费者及整个社会带来更大的福利。
软件行业中技术创新的成果同样可诉诸专利法保护(这里的技术创新需要区分于著作权法保护的程序具体表达的开发)。软件行业与传统制造业的显著不同在于,如果没有著作权法的保护,即使在先者再努力改善经营,其成本也将显著高于后来者,在很大程度上丧失了与之竞争并盈利的可能性。为解决此问题,著作权法通过设置关于软件复制和传播的权利,为在先者与后来者公平竞争提供一定保障。
笔者在问卷调查中重点询问了后来者实施反向工程并开发不侵权产品所需时间和人力的问题。调查对象中有74%认为,进行反向工程后再开发不侵权软件所需时间和人力至少与正向设计量级相当。原因可以从反向工程和软件开发两个阶段进行分析:一方面,目前软件反向工程通常仍需大量人工分析,整体而言具有开销大、难度高、耗时长的特点。软件反向工程往往是为获得特定产品兼容性信息或技术落后者需要学习时才进行。另一方面,即使有通过反向工程获得的信息作参考,编写不侵权的程序也不是一个相比独立开发而言具有显著低成本的简单过程。即便不考虑反向工程,软件行业中也存在多种可能接触到他人有著作权的软件源代码的情形。在这些情况下,开发者虽然有作为参考的软件,也需要尽可能构思不同的结构和表达以避免侵权。这一过程通常需要花费与原始开发量级相当的时间。
笔者也随机访问了在调查中认为“进行反向工程后再开发软件所需成本明显较小,具有数量级差异”的软件研发人员。其理由主要包括实施反向工程者可能原本技术水平特别低以及进行反向工程后可以进行简单修改就使用他人代码或流程。但技术水平低者通过反向工程提高水平后开发只是相对其自身成本明显小,并非相对于行业平均成本或在先者成本;而简单修改代码或流程就挪为己用的行为则是受到著作权法限制的。著作权法保护的表达并不仅限于字句,可以在一定程度上扩展到作品的详细结构。无论是否允许软件反向工程,侵犯他人软件著作权的软件开发都属于违法行为,著作权人的权利可以获得法律保护,并不需要禁止软件反向工程来为软件著作权人提供双重保护。
综合上述所有因素的分析,在传统制造业中与在软件行业中进行反向工程所涉利益关系十分相似。法律制度应具有一致的内在价值体系,对相同的利益冲突应有相同的价值判断。从我国法律对其它反向工程的明确允许可以推出,允许软件反向工程符合我国法律的价值取向。同时,通过上述利益分析可见,允许软件反向工程虽然对在先开发者带来较大压力,但不会使其失去市场竞争的可能,即不会使其失去从事开发的必要动力;并且反向工程有利于技术传播和进步,对社会公共利益有着积极意义。因此,允许软件反向工程也符合我国著作权法立法目的。实施软件反向工程也有限制;其限制不应在于软件反向工程本身,而在于获得软件作品和结果利用方式均不得侵犯他人合法权利。
在得到法律应允许软件反向工程这一价值判断后,还存在法律解释和立法技术问题。目前国际公约采用了对复制权首先进行宽泛定义,再用合理使用制度排除某些行为的方式。将软件反向工程中所涉复制解释入复制权范围比较符合对国际公约的一般理解。在这种解释下,法律应将软件反向工程中所涉复制规定为一种合理使用。目前《计算机软件保护条例》第17条可作为软件反向工程合法的依据,但仍应通过司法解释或立法进一步予以明确。
保障软件反向工程所获信息不被用于侵犯他人著作权的行为,最为重要的是确立合理的软件著作权保护范围并在司法实践中有效落实。在著作权法理论下,作品的详细结构在一定程度上也受到保护。美国法院提出的“抽象-过滤-比较”三步骤判断方法可为我国提供参考。清楚了解软件著作权保护范围,是合法利用软件反向工程所获信息的重要前提。有效保护及促进知识产权,重点不仅在于加强立法、执法和司法,更须加强普法。