摘要:著作权法的宗旨是在作者与公众之间构建最利于促进科学和文化发展的利益平衡关系,从而增进社会公共利益。传统著作权法对软件反向工程相关利益关系缺少具体评价。当前法律普遍认可通过反向工程来获取商业秘密的合法性。对法律价值取向的分析应着眼于法律制度的整体。通过比较软件反向工程与传统制造业中反向工程所涉利益格局的异同,依据现有法律蕴含的价值评价,可推演出允许实施软件反向工程有利于促进社会整体利益的判断。软件反向工程并不等于抄袭。在管制利用反向工程结果进行软件抄袭的问题上,重点在于通过立法法律解释和司法进一步明确软件侵权判定标准和提高鉴定水平。
一、 软件反向工程之含义及法律规制现状
反向工程与正向工程相对,是指对目标系统进行分析,识别各组件及其相互关系,创造系统的另一种形式的表达或更高抽象层次的表达的过程。[1]目前在知识产权领域讨论较多的软件反向工程一般首先通过反汇编、反编译[2]等方式对软件的二进制代码进行转换,得到人们可阅读的汇编代码或高级语言源代码,然后在此基础上进行程序分析和理解,进而得到软件的接口规范组织结构算法流程等信息软件反向工程作为理解软件的一项重要途径,只是软件分析的一种形式,其本身并不包含重新开发软件的过程。[3]
软件反向工程的直接目的是从目标软件中获得所需信息。所获信息可能被用于维护和改进软件[4]、检测侵权行为、研究软件技术、获取兼容信息等多种目的。软件领域发表了大量关于软件反向工程的研究工作。[5]该技术被众多研发人员重视和采用,受到长期持续关注,其重要意义可见一斑。笔者在研究中针对软件反向工程相关问题在我国软件研究及开发人员中进行了问卷调查和访谈。考虑到对软件反向工程的深入认识需要一定经验,笔者在调研中选择了较有研发经验的对象并注重了单位类型的均衡性[6],发放并回收问卷78份。调查显示,72%的受访者认为软件反向工程的需求在计算机行业中非常普遍或比较普遍存在。另有21%认为需求一般,6%认为较少,1%认为在特定领域普遍存在。
通过反向工程获取商业秘密的合法性目前得到了各国法律的普遍认可。我国《最高人民法院关于审理不正当竞争民事案件应用法律若干问题的解释》第12条明确规定,通过反向工程获得商业秘密,不认定为反不正当竞争法规定的侵犯商业秘密行为。[7]其中并没有否定软件反向工程的合法性。然而,软件往往以二进制代码的形式发布,人们在进行软件反向工程时难以通过阅读二进制代码来获得结构、原理等信息,通常需要将二进制代码转换为便于人们理解的形式再进行分析,这一转换就构成了对软件从一种形式到另一种形式的复制。尽管这种附随的“复制”只是一种中间过程[8],并非抄袭或制作复制件以提供给他人的行为,却使软件反向工程进入著作权法考察范围之内。
目前软件反向工程合法范围仍有争议,各国法律也存有一定差异。[9]本文接下来首先论述根据我国著作权法立法目的,不应默认将复制权延伸到软件反向工程所涉复制;然后根据法律对技术领域相近利益冲突的评价,结合问卷调查和访谈的结果,论述软件反向工程的合法性;最后对我国相关法律规制机制提出建议。
二、面对复制内涵扩展应拒绝“利益延伸原则”
软件作为功能性产品,成为著作权法保护对象的主要理由在于,为保障软件行业的发展,需要提供给软件开发商一种关于制作和传播软件复制件的排他性权利。美国版权作品新技术应用国家委员会(CONTU) 在1978年的报告中指出:相比软件开发,复制软件成本极低; 为了鼓励软件开发及相应的投资,保障软件产业的发展,为软件提供某种形式的对复制的保护是最佳选择; 这一保护可由著作权法来提供。[10]20世纪80年代,美国国会接受了CONTU的建议,明确将软件纳入著作权法保护。日本等一些国家和组织曾尝试单独立法,但美国采用了外交、经济等手段,推动了承认软件著作权的全球化运动,使著作权法成为了目前全世界保护软件的重要法律平台。[11]中国软件著作权保护的立法进程同样存有美国施加的影响。在1989年中美知识产权谈判中,中国承诺在制定著作权法时,将软件列为著作权法保护的对象。随后我国全国人大常委会在1990年9月7日通过的著作权法( 第一版) 中将软件列入了著作权法保护对象。[12]
然而,软件反向工程等一些使用软件的行为中所附随的复制,并非软件成为著作权法保护对象时经证明需要管制的复制行为。软件的合法用户在安装、使用、研究软件等环节中必不可少地附随着复制。这些“复制”本身并不涉及对软件的抄袭和传播。这反映了随着软件及数字技术的应用,当前生活中“复制”的内涵相对于著作权法立法之时“复制”的内涵,在事实上有所扩展。法律需要解释复制权的范围,以调节相关利益冲突。法律概念是法律规范和法律制度的建筑材料,必须服务于特定目的,按照立法者的“社会理想”对国家和社会进行调整。[13]法律的目的决定了法律概念的解释,而不是相反。著作财产权中的复制权是否涵盖上述复制行为,应由法律对相关利益关系的考量和价值判断来确定。
关于著作权特别是其中著作财产权的价值预设在理论上长期存在自然权利学说与功利主义学说之争。自然权利说通常认为作者对作品具有当然的支配权,任何新的复制或其它利用形式都是从作品中衍生出来的,作者的权利自然应延伸至这些新的复制或利用形式所对应的利益,此即“利益延伸原则”[14]。而在功利主义观点中,赋予作者关于其作品的有限垄断权,目的在于激励创作和传播,从而促进社会科学文化发展; 新的复制形式是否应函摄在复制权下,应以是否最终在整体上有利于促进社会的科学文化发展有利于社会公共利益为准则。
如博登海默所述,“任何人都不可能根据某个单一的、绝对的因素或原因去解释法律制度。”[15]但立法者面对价值判断问题时,必须对为什么当为以及法的效力依据确立自己的立场。[16]有研究论述了从我国知识产权立法过程来看,我国立法保护智力成果是出于促进社会公共福利的功利主义考虑。[17]我国2001年版《计算机软件保护条例》制定期间,当时国家主席提出“在切实保护知识产权的同时,按照市场规律,使知识产权的保护范围保护期限和保护方式,有利于科技知识的扩散和传播,有利于各国共享科技进步带来的利益。”[18]这也反映了国家倡导立法应以促进科技传播及进步、有利于公共利益为宗旨。因此,我国法律中复制权函摄范围不应默认延伸至包含软件反向工程中所涉复制,而应与我国法律价值体系保持一致,判断这种延伸是否有利于实现促进科技发展的目的。著作权法实现目的之途径是通过赋予作者对其作品的有限垄断权来激励创作和传播。在具体判断时,既不能使权利人失去必要激励,也不能无故扩张著作权而损害公众利益,应在著作权人与公众之间建设最有利于促进科技文化发展的利益平衡。
三、 软件反向工程的合法性分析
软件因为以文字为表现形式复制简易,成为了著作权法保护对象; 又因其属于功能性的技术产品,开发中所涉利益格局与制造业中的产品开发更为接近。本节从现有法律规范蕴含的价值判断的视角,分析软件反向工程的合法性问题。
(一) 传统著作权法对反向工程相关利益关系缺少具体评价
著作权法设立之初主要面向文学艺术领域,权利范围、权利期限等都是针对文学艺术作品而设置的。尽管在凭借符号进行表达、创作成本远高于复制成本、复制快捷等方面,软件与文学作品具有一致性,但是软件作品毕竟属于技术产品,与文学作品相比有其特殊之处。
一方面,软件的技术性和功能性决定了在增量创新、产品竞争等方面其与文学艺术领域的利益平衡关系不同。首先,对于文学艺术作品,允许他人进行小部分改变通常不会带来多少社会效益; 但软件是具有实用功能的技术产品,用户有时对功能的细微改变有实际需求,并且技术进步常常是在现有技术的基础上进行增量式创新,细小的技术进步也可能给社会带来巨大的资源节约和财富增长,社会通常愿意鼓励技术开发者在现有技术基础上进行即使较小的改进。[19]其次,人们很少认为优秀的文学艺术作品是竞争压力的产物; 但在技术产品领域,市场竞争具有促进技术进步、提高经营水平、丰富产品市场、降低产品价格等诸多重要社会价值。从竞争法与专利法的关系紧张,及其与传统著作权领域基本相安无事的状况,也可看出两个领域中利益关系的不同。
另一方面,软件往往以二进制代码形式发布,因此在事实上阻碍了他人了解软件作品中的思想和技术,在一定程度上偏离了著作权法的利益平衡设计。在传统著作权法的利益平衡考量中,文学艺术作品的传播即意味着其蕴含的思想的传播,提供作者终生加50年的长期保护对公众获得作品思想的负面影响相对较小。但软件作品通常以二进制形式发布,人们无法直接阅读。因此在软件领域,衡量利益的天平在著作权法对公共利益的促进这一端,在很大程度上已经失去了促进思想传播这一项。允许软件反向工程可在一定程度上缓解这一利益失衡。
综上所述,软件反向工程中所涉利益关系与文学艺术领域有所不同,在传统著作权法中缺少直接观照。著作权制度长久以来积累了利益平衡方面的经验,为研究新的技术发展环境下的著作权问题提供了理论指导[20],但是理论指导与具体价值判断之间仍存在一段论证路程。法律制度是一个整体,其内部价值体系具有一致性。一般意义上的反向工程与软件反向工程所涉利益关系非常接近。法律已明确允许一般意义上的反向工程,即对其所涉利益关系进行了评价。可以通过对比软件反向工程和其它行业中反向工程的异同,考察是否可从现有法律规范中更为直接地得到立法者对软件反向工程所涉利益关系的价值判断。本文接下来即沿这种途径对软件反向工程的合法性进行考察。
(二) 从法律对传统制造业反向工程的价值判断视角评价软件反向工程
通过反向工程获得商业秘密在我国及许多其它国家的法律制度中普遍视为合法,并且通过反向工程所获得的信息可以自由使用,即使在进行反向工程之后制造了相同的产品,也被认为有利于整体社会福利。[21]对一项法律规定,必须清楚地提出决定性的利益冲突为何[22],这样才能真正掌握法律蕴含着怎样的价值判断。本文在总结反向工程涉及的主要利益因素的基础上,对软件产业与传统制造业中各因素的异同进行比较,具体分析如下:
第一,在传统制造业中,生产者可以在反向工程中学习技术,从而可以应用于新产品开发,并且此过程可能带来技术革新。[23]技术进步通常是增量式的。技术人员可借助反向工程从分析和学习中增加技术积累,并在竞争的促动下不断创新,推动技术和行业的进步。在这一点上,软件反向工程亦然。在笔者的调查中,90%的受访者认为对已有软件的分析和借鉴对自己非常有帮助或比较有帮助,9%认为帮助一般,仅1%认为帮助较少或非常少。允许软件反向工程有利于促进技术发展、丰富软件产品市场。这对于信息技术并不领先的我国尤为重要。
第二,允许反向工程是维持知识产权制度设计及分工的重要途径[24],对保障专利制度发挥其作用尤为重要。激励人们申请专利而非选择通过商业秘密进行保护的一项主要原因是,如果发明作为商业秘密来保护,一旦被他人通过反向工程等合法途径获知,该技术就失去了保护。反向工程带来的竞争现实可能激励企业努力进行更高标准的技术创新并通过申请专利予以公开。[25]允许软件反向工程同样有利于维系知识产权分工; 反之则可能使著作权法为不公开的技术思想提供一种至少50年的长期保护,与著作权法立法精神不符,也会削弱专利制度的作用。
第三,证明他人对自己的产品进行了反向工程常常比较困难。[26]是否进行了软件反向工程同样难于发现及证明。在笔者的调查中,许多研发人员认为“取证十分困难”,“法律难于禁止反向工程”。而许多国家的法律允许为了获得兼容性信息进行软件反向工程,这就要求证明其是否进行了不以获得兼容性信息为目的的反向工程。这种情况下发现和证明都更加困难。人们并不容易获得来自他人公司内部的消息。一条可能的线索是发现他人软件中含有自己软件中独特的代码或程序结构。要发现这一线索往往需要对他人软件进行反向工程。然而禁止软件反向工程反而会为发现及证明他人对自己的软件进行了反向工程、抄袭了自己的软件或侵犯了专利权均设置障碍。[27]此外,有多位软件研发人员提出:目前部分软件留有“后门”并隐藏自己的行为,其设计可能本身是恶意的、违法的,软件反向工程是识别这类行为的重要手段。因此,对于软件领域,禁止反向工程同样将明显增加诉讼成本,并增大发现和举证他人软件侵权或包含恶意行为的难度。
第四,允许反向工程的一项消极影响是,可能使开发者在设计或生产中付出更多成本来使其产品更难被反向工程,因此可能增加社会开销。目前软件产业中可观察到的此类开销并不大。一方面,在向用户提供软件二进制代码的情况下,主要的方法有加密[28]和代码混淆[29]。软件加密和代码混淆只需使用软件工具自动处理。对于结合硬件的加密,在嵌入式领域可根据成本分析决定是否增加硬件解密部件; 在通用软件领域目前仅有银行客户端和其它少数软件( 例如辅助设计软件AutoCAD等) 采用了结合硬件的加密,但通常只将一小部分数据和代码置入USBKey中用于身份认证,目的在于保障安全或防止盗版,并非为防止反向工程。即使允许软件反向工程,这些软件也同样会采用该技术手段。[30]另一方面,开发者也可以选择通过在线方式对用户提供软件服务,如云计算模式。在这种模式下,软件的存储和运行都在服务器端,普通用户无法接触到软件的二进制代码,因而也无法进行反向工程。一些研究表明,总体而言,这种软件和计算资源的使用方式的转变和发展将使社会受益[31],而非增大社会开销。
最后,允许反向工程可能影响在先生产者的收益。这是反对反向工程者提出的最主要理由。但在先者可能获得的收益,并不等于法律上的权利。需要分析法律希望为在先开发者的收益提供何种程度的保护。如果后来者进行反向工程并制造出竞争性产品的成本显著低于在先者,以至于在先者无法与后来者在市场上竞争并收益,法律应予以管制。这一结论可由法律管制软件复制的目的推知—后来者通过复制来“生产”类似产品的成本显著低于在先者的开发成本时,需要保障在先开发者从事产品开发所需的动力。正如有学者指出的,从经济角度看,如果进行反向工程并制造类似产品的成本非常低,那么其与盗版之间几乎不存在差别。[32]这种情况下法律有必要对进行反向工程并制造类似产品的过程进行某种管制。下面对这一结论中成本的比较对象及需要法律管制的标准进行进一步分析。
首先,在进行成本比较时,不应考虑在先者用于技术创新研究的成本。有学者认为法律允许反向工程的条件应为: 实施反向工程所需时间较长或者所需成本较高,以使创新者可以凭借先机或成本优势来收回其最初的研发投资; 并认为传统制造业的反向工程基本满足这一条件。[33]这一观点的偏颇之处在于,没有从知识产权法整体来考虑法律对创新的保护机制。知识产权制度的设计是通过专利法来激励技术创新及相关投资,对商业秘密仅针对违反诚实信用原则的行为提供有限保护,并以竞争压力来进一步引导生产者创新及申请专利。创新者进行技术研发的成本有可能很高,但难于估量。正如有学者指出的: 创造并不是无差别的可以以时间来衡量和比较的劳动; 无论是创造之间,还是创造与劳动之间,都是异质的,难以进行比较。[34]故实际上难以证明传统制造业反向工程时间够长或成本足够高,使在先者能收回最初的研发投资。正因如此,法律设置了专利权来提供一种排他性的有力保护,以激励对发明创造的投资。对于在先者认为自己的技术创新难于通过反向工程掌握、因此选择将其作为商业秘密保护的情况,法律无需限制反向工程,并且限制反向工程会影响专利制度发挥作用。
其次,对不具专利的在先者,后来者带来的竞争虽然可能对在先者收益有影响,但如果在先者理论上仍可能从市场中获利,则不足以构成禁止反向工程的理由。可以观察到,在一些传统制造业中,后来者进行反向工程并模仿制造的成本已经达到与在先者成本相当的水平,并且所需时间并不长; 这带来了激烈竞争的局面,许多商业因素都可能使在先者惨遭淘汰。[35]法律对这些行业中反向工程的允许,反映了法律对竞争的鼓励,其原由则在于市场经济的有效性对竞争的依赖。竞争的基本经济功能在于激励生产经营者不断研发和采用新技术、新设计,并且不断地完善自身的经营管理降低成本,从而为消费者及整个社会带来更大的福利。从经济角度看,“知识产权在本质宏观和动态上体现为对竞争的促进”[36],,现代反不正当竞争法也保护竞争机制本身所代表的社会公共利益。
软件行业中技术创新的成果同样可诉诸专利法保护。[37]有研究显示,我国软件专利申请数量呈指数级增长趋势,2007年以后每年申请量超过了1万件[38],反映了当今企业对通过专利来保护软件相关发明的重视。[39]软件行业与传统制造业的显著不同在于,如果没有著作权法的保护,在先者与后来者生产相同产品的生产活动存在本质差异: 在先者的开发成本绝大部分是编程人员编写软件的成本,而后来者只需简单复制软件即可。在这种情况下,即使在先者再努力降低成本改善经营,其成本也将显著高于后来者,在很大程度上丧失了与之竞争并盈利的可能性。为解决此问题,著作权法通过设置关于软件复制和传播的权利,为在先者与后来者公平竞争提供一定保障。
笔者在问卷调查中重点询问了后来者实施反向工程并开发不侵权产品所需时间和人力的问题。调查对象中有74%认为,进行反向工程后再开发不侵权软件所需时间和人力至少与正向设计量级相当。[40]根据相关研究及笔者进行的访谈,其原因可以从反向工程和软件开发两个阶段进行分析: 一方面,在现有技术下,虽然有反汇编反编译等工具的辅助,软件反向工程通常仍需大量人工分析,整体而言具有开销大、难度高、耗时长的特点。[41]软件反向工程经常是编程人员最后的选择[42],往往是为获得特定产品兼容性信息或技术落后者需要学习时才进行。对于极小型软件,反向工程并不困难,但在先开发者所用时间同样很短。对于大中型软件,软件反向工程并不能保证在可接受的时间及开销下获得所需信息。例如,早在1991年欧盟软件指令就允许为获得兼容性信息进行软件反向工程; 而在1998年,SUN公司仍不得不向欧盟委员会投诉微软拒绝提供必要的兼容信息来使SUN的工作组服务器操作系统与Windows客户端PC操作系统进行交互操作。另一方面,即使有通过反向工程获得的信息作参考,编写不侵权的程序也不是一个相比独立开发而言具有显著低成本的简单过程。即便不考虑反向工程,软件行业中也存在诸如参考开源软件、研发人员流动、与其它公司合作开发等多种可能接触到他人有著作权的软件源代码的情形。在这些情况下,开发者虽然有作为参考的软件,也需要尽可能构思不同的结构和表达以避免侵权。“无尘室”[43]是一种常用的避免侵权的方法,即保证分析过他人软件代码的员工不会参与代码重写。这一过程通常需要花费与原始开发量级相当的时间。[44]
笔者也随机访问了在调查中认为“进行反向工程后再开发软件所需成本明显较小,具有数量级差异”的软件研发人员。他们所提出的理由主要包括实施反向工程者可能原本技术水平特别低,以及进行反向工程后可以进行简单修改就使用他人代码或流程。但技术水平低者通过反向工程提高水平后开发只是相对其自身成本明显小,并非相对于行业平均成本或在先者成本; 而简单修改代码或流程就挪为己用的行为则是受到著作权法限制的。因此值得注意的是,著作权法对软件侵权判定标准的界定在很大程度上决定了开发不侵权软件的时间。与文学领域类似,著作权法保护的表达并不仅限于字句,可以在一定程度上扩展到作品的详细结构。如果“开发”新软件只是对在先软件的指令或语句进行简单机械的同义调整或替换,当然并不困难。对于这种情况,只要原软件的表达是受著作权法保护的,那么这种行为本身就属于侵犯著作权的行为。无论是否允许软件反向工程,侵犯他人软件著作权的软件开发都属于违法行为,著作权人的权利可以获得法律保护,并不需要禁止软件反向工程来为软件著作权人提供双重保护。
因此,对于在先开发者利益影响方面,软件反向工程与其它反向工程并没有本质差异。综合上述所有因素的分析,在传统制造业中与在软件行业中进行反向工程所涉利益关系十分相似。法律制度应具有一致的内在价值体系,对相同的利益冲突应有相同的价值判断。从我国法律对其它反向工程的明确允许可以推出,允许软件反向工程符合我国法律的价值取向。同时,通过上述利益分析可见,允许软件反向工程虽然对在先开发者带来较大压力,但不会使其失去市场竞争的可能,即不会使其失去从事开发的必要动力; 并且反向工程有利于技术传播和进步,对社会公共利益有着积极意义。因此,允许软件反向工程也符合我国著作权法的立法目的。此外,实施软件反向工程也有限制; 其限制不应在于软件反向工程本身,而在于获得软件作品和结果利用方式均不得侵犯他人合法权利。
四、软件反向工程相关法律制度完善与创新建议
(一) 关于软件反向工程的法律解释及立法建议
在得到法律应允许软件反向工程这一价值判断后,还存在法律解释和立法技术问题。我国现行法律没有关于软件反向工程的明确规定。目前国际公约采用了对复制权首先进行宽泛定义,再用合理使用制度排除某些行为的方式。[45]将软件反向工程中所涉复制解释入复制权范围比较符合对国际公约的一般理解。在这种解释下,法律应将软件反向工程中所涉复制规定为一种合理使用。
我国曾有判决引用《著作权法》第22条第6项作为判断软件反向工程是否构成合理使用的依据。[46]该条规定为了课堂教学或科学研究,在一定条件下可自由无偿使用作品。但若仅按该条进行判断将严重缩小软件反向工程的合法范围。《计算机软件保护条例》第17条目前可作为软件反向工程合法的依据。该条规定:“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”[47]首先,软件反向工程的直接目的是获得信息,符合该条款的目的约定。其次,该条款允许的使用方式属于未穷尽列举,可解释为包括软件反向工程。因此从文本解释不存在问题。基于对反向工程合法性的论述,这种解释也符合立法目的。
上述解释虽然可以作为软件反向工程合法的法律依据,但仍应通过司法解释或立法进一步予以明确。国家版权局2012年发布的《<著作权法>第三次修改草案( 征求意见稿)》显然吸纳了《计算机软件保护条例》第17条,却同时增设了针对软件反向工程的条款,与欧盟类似,拟限定仅在通过正常途径无法获取必要的兼容性信息时,才允许进行软件反向工程。[48]本文认为基于软件反向工程的积极意义,不应将其目的局限于获取兼容性信息。我国软件技术并非处于领先地位,更加应该允许我国软件从业者学习已有软件中的设计思想和技巧,在技术吸收的基础上进行创新,促进我国软件技术的进步。诚然,少数人可能会利用软件反向工程所获信息从事非法行为。在这些情况下,法律应直接管制这些更容易被发现和证明的违法行为,而不是对软件反向工程进行管制。为了强调实施软件反向工程不得侵犯他人权利,我国立法中在明确软件反向工程合法性的同时,可以进行如下明确限制: ( 1) 实施软件反向工程的主体必须是软件的合法使用者。( 2) 不得利用软件反向工程所获信息进行任何违法行为,包括抄袭受著作权法保护的程序代码或结构,将受保护的代码或结构传播给他人,规避或破坏技术保护措施以及破坏他人计算机系统等。对禁止规避软件技术保护措施的规定同样应设置例外,规定软件的合法使用者可以在必要限度内为进行反向工程而规避该软件的技术保护措施,但所获结果不得用于违法行为。
此外,许多软件著作权人在软件的拆封合同、点击合同中规定了禁止进行软件反向工程的格式条款。[49]笔者赞同此类合同条款无效的观点。软件所用思想、处理过程、操作方法等是著作权法明确不予保护的部分,对这些思想、方法的了解和使用是分配给社会公众的利益。软件反向工程是了解这些不受保护部分的重要途径。在拆封合同、点击合同中设置禁止软件反向工程条款将打破著作权法设置的利益平衡,损害社会公共利益,根据合同法规定属于无效条款。[50]一些国家在著作权法中明确规定,与法律关于软件反向工程等合理使用规定相抵触的合同条款无效。[51]一些跨国公司面对法律规定将许可合同条款进行了修改。[52]建议我国著作权法也予以明确规定。
(二) 进一步明确软件著作权保护对象范围
保障软件反向工程所获信息不被用于侵犯他人著作权的行为,最为重要的是确立合理的软件著作权保护范围并在司法实践中有效落实。在著作权法理论下,作品的详细结构在一定程度上也受到保护。如果软件侵权判断标准只停留在对文字层面复制的保护,那么只需要进行简单、机械的修改,就可以产生新的不侵权的软件。这当然会使著作权法的作用大打折扣,也将使本文论证软件反向工程合法性的基础不复成立。对一定程度的软件结构的保护并不是允许软件反向工程所带来的额外要求,因为无论是否允许反向工程,软件行业都存在着由于软件开源、员工调动、合作交流等多种可以接触他人软件源代码的情况,使得参照他人软件进行新软件开发存在可能。美国第二巡回上诉法院在Computer Associates International v. Altai,Inc. 一案判决中所提出的“抽象-过滤-比较”三步骤判断方法具有比较广泛的影响。该方法提出后很快被美国多数法院采纳,并得到了加拿大、英国、法国等多国法院的引用。[53]我国以往司法实践中的一些表述在一定程度上体现出各地法院及鉴定机构对软件著作权保护对象范围理解不一[54],三步骤判断法可为我国司法实践中软件相似性判断提供参考。在该方法中,“抽象”步骤具体分析出不同细致程度的程序结构; “过滤”步骤旨在排除软件中不受保护的部分; 最后的“比较”步骤在可受保护的表达中进行比较,以判断是否构成实质性相似。在此方法中,没有被“过滤”步骤排除的程序结构是受到著作权法保护的。
(三) 在技术行业中普及知识产权法律教育的必要性
立法者在知识产权法律制度中悉心设置着精巧的利益平衡,以期通过对人们行为的引导,实现促进科技文化发展的立法目的。然而知识产权的边界并不像物权那样容易直观理解。笔者发现,在参与调查的这些富有经验的软件研究及开发者中,63%表示不了解著作权法只保护作品的表达,对软件的保护不延及思想、处理过程、操作方法或者数学概念等(10%清楚了解,27%有一定了解) ;67%表示不了解著作权法对软件的保护在一定程度上包括软件的详细结构(6%清楚了解,27%有一定了解) ;78%表示不了解法律对涉及软件的发明专利的审查标准(1%清楚了解,21%有一定了解)。清楚了解软件著作权保护范围,是合法利用软件反向工程所获信息的重要前提。如果行业中大部分人并不清楚知识产权保护的条件和边界,又如何真正保护知识产权以及充分利用知识产权制度的利益平衡设计中分配给公众的利益? 有效保护及促进知识产权,实现知识产权领域的法治化,重点不仅在于加强立法、执法和司法,更须加强普法。
五、结论
对知识产权保护的加强,并不等于赋予权利人更多的权利,而是应针对我国的实际情况进行仔细的利益考量,加强应有的必要保护,避免不合理的权利扩张。软件反向工程在促进技术传播和进步、激励专利申请、鼓励竞争等多方面有着积极的社会意义。在专利法和著作权法保护下,在先者的发明创造成果可诉诸专利法进行保护,目前后来者进行软件反向工程并开发不侵权软件的成本与在先者的开发成本至少数量级相当,并不会致使在先开发者丧失与后来者进行竞争并盈利的能力。因而软件行业与传统制造业中反向工程所涉利益关系类似,允许软件反向工程符合法律中蕴含的价值判断,应在著作权法中肯定其合法性。同时,可借鉴“抽象-过滤-比较”三步骤判断方法中体现的对软件著作权保护对象范围的界定,进一步明确软件侵权判断标准,提高侵权鉴定水平,以维护软件著作权人的合法权利。
【注释】:
[1]根据需求分析的结果进行设计,再根据设计进行开发和实现。反向工程则通常从产品反推设计,或从设计反推需求。SeeElliot J. Chikofsky and James H. Cross II,Reverse Engineering and Design Recovery: A Taxonomy,7IEEESoftware,13,14-15( 1990) . 我国最高人民法院2007年发布的《最高人民法院关于审理不正当竞争民事案件应用法律若干问题的解释》第12条把反向工程定义为“通过技术手段对从公开渠道取得的产品进行拆卸、测绘、分析等而获得该产品的有关技术信息”。
[2]反汇编指将软件的二进制代码转换为人们可以理解的汇编代码的过程;反编译指将二进制代码或汇编代码转换为高级语言程序的过程。
[3]根据反向工程获得的信息来开发相似产品的过程通常称为再造工程( re-engineer)。参见前引①,Chikofsky等文,第15页。
[4]当前,软件存在错误或漏洞的现象比较普遍,处理器、外设、操作系统和需求等变化也可能带来对修改软件的需求,但软件厂商可能在软件发布一段时间后停止维护。如微软在2012年宣布,Windows XP SP3和office2003的技术支持将于2014年4月8日停止,且明确说明: 不受支持的Windows版本将不再接收来自Windows更新的软件更新。这些更新包括可以帮助保护你的电脑,防止有害病毒间谍软件以及其他恶意软件的攻击的安全更新。参见http: //windows. microsoft. com/zh-cn/windows/help/what -does-end-of-support-mean,访问日期:2013年2月27日。这给购买者带来了自己维护软件的需求。反向工程可以辅助软件开发人员维护软件系统、发现及修正软件中的错误、根据需求定制或改进软件等。例如,反汇编曾用于发现和解决软件二进制代码中的千年虫问题。See Brian Fitzgerald,Cristina Cifuentes,Anne Fitzgerald and Michael Lehmann,Symposium Review: Innovation,Software and Reverse Engineering,18 Santa Clara Computer &High Tech. L. J. 121,126( 2001) .
[5]笔者在美国计算机协会的文献数据库中进行了检索,自1980年至今有6558篇文献的摘要中含有关于反向工程的关键词,并呈显著增加趋势。检索自美国计算机协会的文献数据库: http: //dl. acm. org/,检索使用的关键词为: reverse engineer、program comprehension、program understanding( 程序理解) 、design recovery( 设计恢复) 、binary analysis( 二进制分析) , 检索日期:2013年3月14日。
[6]问卷调研对象平均具有8年以上软件研发经验,来自软件企业( 54%) 和高校及科研院所( 46%,包括中科院、北京大学、复旦大学、上海交大、中国科技大学、吉林大学、哈工大等) , 其中上市民营企业或国企23%( 百度、腾讯、中软国际等) 、未上市民营企业17%( 豆瓣、蔚秀云创、亿赞普等)、外企14%( IBM、谷歌、诺基亚西门子通信等)。所在单位主要从事的软件研发领域方面,60%涉及了系统软件,63%涉及了应用软件( 包括互联网和移动应用) , 22%涉及了嵌入式软件。
[7]《最高人民法院关于审理不正当竞争民事案件应用法律若干问题的解释》( 法释[2007]2号)。
[8]美国文献通常将反向工程中所涉复制称为中间复制( intermediate copying) ; 英国著作权法中将其称为转换过程中的附随性( incidentally) 复制,见英国1988年《版权、设计与专利法案》50B第1款( b)。
[9]美国在Sega Enterprises Ltd. v. Accolade,Inc. ( 977F.2d1510( 9thCir. 1992) ) 等案中裁定,为获取程序中不受保护的兼容性信息进行反向工程构成合理使用,并在《数字千年版权法》( DMCA) 中规定禁止规避技术措施的例外包括为获取兼容信息而进行反向工程( 美国《版权法》第1201条f款)。1991年《欧盟软件指令》第6条规定,在无法轻易获得兼容性信息的情况下,软件作品的合法使用者可以为获得兼容性信息而对软件的必要部分进行反向工程,但所获信息仅可用于使独立创作的计算机程序具备兼容性。韩国现行著作权法第101条第4款作出了类似欧盟的规定。印度《著作权法》( 1999年修订版) 则在第52条第1款( ab) 项中规定程序的合法复制品所有人为获取兼容性信息可实施任何必要行为; 并在( ac) 项中规定在利用程序功能所必需的情况下,可以对程序进行评价研究或测试,以确定该程序的任何要素的构想和原理。可见在印度著作权法中,为维护软件等目的实施反向工程亦属合法,这比欧盟软件指令提供了更宽的软件反向工程合法空间。各国著作权法条文可参见《十二国著作权法》,《十二国著作权法》翻译组译,清华大学出版社2011年版,第861-862、531-532、247-248页。
[10]Final Report of the National Commissionon New Technological Use sof Copyrighted Works,U. S. Government Printing Office,1978,pp.10-12. 该报告是1980年美国版权法修正案的重要基础。
[11]参见[澳]彼得•达沃豪斯、约翰•布雷斯韦特: 《信息封建主义》,刘雪涛译,知识产权出版社2005年版,第202页。
[12]此后美国仍不断针对软件著作权保护的具体规定向我国施压,根据1992年1月17日谈判结束时签署的中美两国政府关于保护知识产权的谅解备忘录,中国国务院在1992年9月25日发布了《实施国际著作权条约的规定》,满足了美方要求。参见寿步: 《中国计算机软件著作权保护的回顾与展望》,载《暨南学报》( 哲学社会科学版) 2010年第6期; 周林、李明山主编: 《中国版权史研究文献》,中国方正出版社1999年版,第390页
[13]参见[德]魏德士: 《法理学》,丁晓春、吴越译,法律出版社2005年版,第66页。
[14]自然权利思想在资产阶级革命时期发挥了极为重要的积极意义,使个人财产获得保障,激励自由竞争,促成了资本主义的发达。但其发展极致之时,弊端也日渐显露。时至今日,法律思想已由极端尊重个人自由转变为以社会公共利益为前提。参见郑玉波: 《民法总则》,中国政法大学出版社2003年版,第16页。
[15]参见[美]E. 博登海默: 《法理学: 法律哲学与法律方法》,邓正来译,中国政法大学出版社2004年版,第216-218页。
[16]否则,法律价值体系无从建设。法律工作者很容易在无意识当中成为权力所有者的工具。参见前引[13],魏德士书,第273页。
[17]参见崔国斌: 《知识产权法官造法批判》,载《中国法学》2006年第1期
[18]参见前引[12],寿步论文,第4页。
[19]See Dennis Karjala and Peter S. Menell,Applying Fundamental Copyright Principles in Lotus Development Corp. v. Borland International Inc. ,10 High Tech. L. J. 177,186-187( 1995) .
[20]参见冯晓青: 《知识产权法利益平衡理论》,中国政法大学出版社2006年版,第379页。
[21]See Pamela Samuelson and Suzanne Scotchmer,The Law and Economics of Reverse Engineering,111YaleL. J. 1571,1577( 2002) .
[22]转引自吴从周: 《概念法学利益法学与价值法学: 探索一部民法方法论的演变史》,中国法制出版社2011年7月版,第285页。
[23]在此方面,日本和韩国均为典型范例。两国政府先后推动了模仿创新,通过实施反向工程积累了技术能力,逐渐形成技术变革并提高了自主创新能力,最终使自己在一些产业处于领先地位。参见朱明等: 《反向工程战略与中国自主创新能力的提高》,载《中国软科学》2005年第6期; 李贻宾: 《日本企业研究与开发管理的演变》,载《现代日本经济》2001年第5期。
[24]参见前引[21],Pamela Samuelson等论文,第1583-1584页。
[25]正如美国联邦最高法院在Bonito Boats,Inc. v. Thunder Craft Boats,Inc. ( 489U. S. 141( 1989) ) 一案中所述,“公众已掌握的概念以及已经可以掌握的显而易见的概念,是所有人都可以用来进行创新的工具,它们提供了自由竞争的基础,专利制度对创造的激励正是建立在此基础上的。”
[26][美]威廉•M. 兰德斯、理查德•A. 波斯纳: 《知识产权法的经济结构》,金海军译,北京大学出版社2005年版,第469页。
[27]反向工程被认为是一项帮助权利人寻找竞争对手侵犯自己知识产权证据的重要途径。TechInsights、Taeus等公司开展多年业务,帮助他人对竞争对手产品进行反向工程,寻找侵权证据。参见张志海、王康: 《反向工程: 专利维权的撒手锏?》 ,载《中国知识产权报》
2012年12月26日; 海泽: 《如何打好反向工程这张牌? 》,载《中国知识产权报》2012年12月26日。我国鉴定机构也经常通过软件反向工程来分析软件相似性。例如,《苏州东菱振动试验仪器有限公司与苏州试验仪器总厂计算机软件著作权侵权纠纷上诉案》,( 2009) 沪高民三( 知) 终字第62号; 《郑州贝博电子有限公司诉郑州同创科技有限公司、中央储备粮周口直属库计算机软件著作权纠纷案》,(2007) 郑民三初字第284号; 《鞠文明等侵犯著作权案》,(2011) 锡知刑终字第0001号,等等。如果不允许软件反向工程,审判过程中鉴定机构可能获得当事人授权,但在立案之前,怀疑对方侵权者一般难以获得对方的软件反向工程授权。
[28]加密方法可分为结合硬件的加密和纯软件加密硬件加密。包括使用USB Key,或者在嵌入式领域,可将软件加密后存放在芯片中,在运行时通过特定硬件来解密等。纯软件加密则对目标代码进行加密或特殊压缩,代码运行时刻处理器执行嵌入在目标代码中的解密或解压缩代码,将程序解密或解压缩至内存中运行,例如UPX壳,参见http: //zh. wikipedia. org/wiki/UPX,访问日期:2013年5月14日。
[29]代码混淆即对发布的目标程序进行处理,使处理后的代码与处理前代码完成相同的功能,却很难被反编译,即使反编译成功也难于得出程序的真正语义。这一过程通常都使用代码混淆软件来自动进行,除增加反向工程难度外,也有减少程序大小的作用。参见http: //baike. baidu. com/view/3619991. htm,访问日期:2013年5月14日。
[30]参见林丽滨: 《USB Key技术在网银支付中的应用及改进》,载《现代经济信息》2011年第16期; 郝耀辉等: 《基于USB加密锁的软件防盗版方法》,载《计算机工程》2010年第23期。
[31]See Michael Armbrust,Armando Fox,Rean Griffith,Anthony D. Joseph,Randy Katz,Andy Konwinski,Gunho Lee,David Patterson,Ariel Rabkin,Ion Stoica and Matei Zaharia,A View of Cloud Computing,53 Communications of the ACM,50,50-58( 2010) .
[32]参见前引[26],兰德斯、波斯纳书,第469页。原文表述中比较的是反向工程与盗版,笔者认为比较“反向工程+制造”与盗版更为恰当。
[33]参见前引[21],Pamela Samuelson等论文,第1582页。
[34]参见刘春田: 《知识产权制度是创造者获取经济独立的权利宪章》,载《知识产权》2010年第6期
[35]以VCD播放机产业为例,万燕公司于1993年9月发布了世界首台家用VCD,并投入2000万元以上来开拓市场。其首批生产的2000台产品绝对大数被企业、尤其是国外企业购走,进行分析并很快掌握了其结构,推出同类产品。仅2年之后,万燕公司已被竞争挤出市场。万燕未能预见其技术秘密能够被如此轻易获得,没有为VCD申请专利成为了它的致命缺陷。参见王晓松: 《产品工程化中的壁垒与陷阱—以“万燕VCD”现象为例》,载《工程研究: 跨学科视野中的工程》2008年第1期。
[36]参见王先林: 《竞争法视野的知识产权问题论纲》,载《中国法学》2009年第4期。
[37]这里的技术创新需要区别于著作权法保护的程序开发本身( 表达创作)。
[38]参见刘珊: 《中德企业软件专利申请行为及影响因素实证研究》,华中科技大学2009年博士学位论文,第73-74页。有研究表示,不同专利检索方法所得到的绝对数值通常不同,但整体趋势一致。See Bronwyn H. Hall and Megan MacGarvie,The Private Value of Software Patents,Research Policy,Vol.39,No.7,2010,p.17.
[39]实践中软件专利的扩张也带来许多弊端,应坚持严格的审查授权标准,对软件专利进行从严控制,确保只有真正具有新颖性、创新性的软件相关发明才能受到保护。参见曹伟: 《计算机软件版权保护的反思与超越》,法律出版社2010年版,第194-198页。
[40]问卷调查中,有31%的受访者认为进行反向工程后再开发不侵权软件所需时间和人力较大或明显大;10%认为二者比较接近;33%认为进行反向工程后再开发所需时间和人力较小,但数量级相当,没有显著差异;21%认为进行反向工程后再开发所需时间和人力明显较小;5%认为不同软件情况差异较大,需要具体问题具体分析。一些研发人员对软件著作权保护范围认识的模糊可能对其关于开发不侵权软件的成本判断有所影响。在后续访谈交流中,有在问卷调查中认为进行反向工程再开发不侵权软件所需时间明显小的受访者,在进一步了解软件著作权保护对象范围之后改变了其观点,认为二者成本比较接近或至少量级相当; 并未有原本认为反向工程成本大或二者接近者改变观点。
[41]参见前引[21],Pamela Samuelson等论文,第1613页。
[42]See Jeffrey D. Sullivan and Thomas M. Morrow,Practicing Reverse Engineering in an Era of Growing Constraints under the Digital Millennium Copyright Act and Other Provisions,14 AlbanyL. J. of Science&Tech. 1,19( 2003) .
[43]“无尘室”( cleanroom) 一词来源于半导体制造业,旨在确保不会因灰尘导致生产的晶片具有缺陷在软件产业中,无尘室指为了避免自己开发的软件中包含他人知识产权而构建的一种开发环境无尘室开发通常由三个基本部分组成:有尘室( dirtyroom) 监管和无尘室。有尘室中的研发人员可以分析合法获得的任何程序和文件,整理出参考后不会导致侵权的信息,通过监管人员审查并交给无尘室中的软件研发人员。无尘室中的软件研发人员可以参考监管人员递交的材料,但不能接触可能含有侵权信息的其它资料。如果该无尘室开发是涉及双方合作或诉讼,该监管人员严格而言应来自独立的第三方。See Robert Zeidman,The Software IP Detective’s Handbook:Measurement,Comparison,and Infringement Detection,Boston,U. S. A. : Pearson Education,Inc. ,2011,pp. 371 -376.
[44]例如,在美国Computer Associates International v. Altai,Inc. ( 982F.2d693( 2dCir. 1992) ) 一案中,Altai公司一名员工在其编写的调度软件的一个模块中,30%是直接复制了Computer Associates公司开发的ADAPTER代码( ADAPTER的设计、开发和初版的发布均在1979年内完成)。 Altai公司得知后,雇佣了没有接触过原来的侵权代码的8名软件研发人员着手重写。尽管该模块只是调度软件的一小部分,且完全知晓功能和设计信息,不需进行反向工程,这一修改工作仍然耗时半年才完成。
[45]《伯尔尼公约》规定复制权范围为“以任何方式和采取任何形式复制”,同时规定可以允许在某些特殊情况下复制上述作品,只要这种复制不损害作品的正常使用也不致无故侵害作者的合法利益。实际上,《伯尔尼公约》约定著作权范围时,并未讨论各种软件使用中附随的复制。1967年斯德哥尔摩会议首次在《伯尔尼公约》中明确规定了复制权。从修订会议委员会主席的简要报告来看,当时仍然强调的是复制要“能够向公众间接传播,而且还可在此基础上进行进一步的复制”。( 参见朱理: 《临时复制是否属于著作权法意义上的复制— 以国际公约为核心的规范分析》,载《电子知识产权》2007年第1期) 。尽管如此,后来TRIPS和WCT均约定计算机程序作为《伯尔尼公约》第2条意义下的文字作品进行保护,使《伯尔尼公约》中对复制权的规定可延至软件作品。
[46]《北京沙驼石化工程技术开发有限公司诉徐权等侵犯计算机软件著作权纠纷案》,(2006) 海民初字第16187号。
[47]该条款在我国第一版《计算机软件保护条例》中并不存在。欧盟在1991年《欧盟软件保护指令里有类似规定,但亦有区别: 一是欧盟软件指令规定主体必须是软件合法使用者( 本文认为此处欧盟的规定是合理的) ; 二是欧盟软件指令是有穷列举,仅允许“装载、显示、运行、传输或存储”五种行为,而我国软件保护条例第17条属于未穷尽列举( 本文认为这符合我国计算机产业发展的需要)。
[48]参见国家版权局于2012年3月公布的《中华人民共和国著作权法( 修改草案) 》征求意见稿第43条,或2012年7月发布的第二版征求意见稿第45条。 即使限于获取兼容性信息的目的,该条款表述仍存在一些问题,可参见张吉豫: 《软件接口代码可著作权性研究—兼评<著作权法>第三次修改草案“反向工程条款”》 ,载《吉林大学社会科学学报》2013年第1期。
[49]参见熊琦: 《软件著作权许可合同的合法性研究》,载《法商研究》2011年第6期。
[50]类似观点可参见曹伟: 《软件反向工程: 合理利用与结果管制》,载《知识产权》2011年第4期。
[51]例如,德国著作权法第69条g第2款中规定: 与本法第69条d第2款、第3款和第69条e规定相抵触的合同条款无效。其中69条e即为反汇编条款,允许一定条件下的软件反向工程。法条参见前引⑨,《十二国著作权法》,第171页。
[52]例如,微软Windows8 《软件许可协议》中规定: “您不得……对该软件进行反向工程、反向编译或反汇编……但如果您居住地的法律允许,则可以从事上述活动在这种情况下,您只能从事法律允许的活动。”Windows 8 Pro 《软件许可协议》,参见http: //windows. microsoft. com/zh-cn/windows-8/windows-8-pro-eula,访问日期:2013年5月14日。
[53]Mark A. Lemley,Convergence in the Law of Software Copyright?,10 High Tech. L. J. 1,5( 1995).
[54]例如,《最高人民法院关于深圳市帝慧科技实业有限公司与连樟文等计算机软件著作权侵权纠纷案的函》( [1999]知监字第18号函) 中指出: “运行参数属于软件编制过程中的构思而非表达; 界面是程序运行的结果,非程序本身,且相同的界面可以通过不同的程序得到; 数据库结构不属于计算机软件……”而《北京惠斯特科技开发中心诉北京斯惠特科技有限公司等侵犯计算机软件著作权纠纷案》( ( 2007) 海民初字第16977号) 判决认为,“( 被告辩称) 相似之处仅限于参数、变量、界面等并不受到著作权法保护的部分,但菜单定义、数据表对应关系显已超出参数、变量、界面之范围”。令人不解其中进行区别所适用的原则。
来源:《中国法学》2013年第4期
版权声明:本站系非盈利性学术网站,所有文章均为学术研究用途,如有任何权利问题,请直接与我们联系。
责任编辑:李静恬