计算机软件反向工程版权保护的界定

2024-10-09

计算机软件反向工程版权保护的界定(共3篇)

计算机软件反向工程版权保护的界定 篇1

百有论文网()

计算机软件反向工程版权保护的界定

百有免费在线资料库()收集

计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。其目的一般是分析研究程序的功能特性、诊断和排除原程序中存在的错误、开发原程序的附属产品或兼容产品(包括功能相似产品),再就是分析某一程序是否侵害其他程序的著作权,提供研究报告,供法院裁决时参考等。

计算机软件反向工程的合法性,一直是计算机软件知识产权保护中争议较大的问题。从国际版权保护的基本原则来讲,只有计算机软件思想、概念的表达形式(Expression of idea)受著作权法的保护,而不是思想、概念本身。从他人的计算机软件产品中还原出的思想、概念,再以该思想、概念为基础进行新的表达,原则上应当不构成对他人计算机软件著作权的侵犯。问题在于这两种表达之间往往存在不同程度的相同或相似。事实上,还原工程较难做到只利用原软件的思想和概念,而不利用思想和概念的表达,这就是导致争议的关键所在。

事实上,在计算机软件开发的过程中,为了保障计算机系统的兼容机会,就同一功能进行移植性开发是必不可少的。因此,就他人计算机软件产品进行反向工程进而分析其功能、算法、结构等设计要素,把它用于自己准备开发项目的可行性研究、拓展思路、发现问题和进行成本核算等,在计算机软件业是常见的行为。计算机软件的反向工程如果运用得当,还可以为计算机软件产业的法律诉讼提供技术支持。

目前,法律界有人主张,未经授权,对他人计算机软件进行反向工程将构成对该软件著作权的侵害。其主要观点是:

(一)把他人计算机软件的目标程序通过反编译和反汇编(Decompilation)还原成该软件的源程序,并打印在纸张上以便阅读分析,是反向工程不可避免的步骤,它构成对该目标程序的复制行为;

(二)通过反向工程对他人计算机软件源程序进行分析,将获得该程序的处理过程和流程图,而处理过程和流程图是该程序的演绎作品,这是演绎他人作品的行为;

(三)从反向工程对他人计算机软件的使用行为的目的和后果来看,具有明显的商业性且严重影响该软件的市场销售和使用价值。

也有人认为,应该不禁止人们通过反向工程对计算机软件进行分析而得到其思想。既然计算机软件是作品,反向工程实际上只是计算机软件的合法复制品所有人对其进行阅读和理解的使用方式,其合法性是毋庸置疑的。在法律规定的范围内,合理、谨慎地运用反向工程,可以推动创新、打破垄断、活跃经济,帮助维护经济社会的进化规则。

最初确认计算机软件反向工程的合法性是在1991年5月14日欧共体通过的《计算机程序保护指令》。欧共体委员会在起草《计算机程序保护指令》过程中一直意图尽可能充分地保障计算机系统的兼容机会。《计算机程序保护指令》第6 条明文规定,为了获得必要的信息来独立开发出兼容的程序,合法用户可以对程序进行复制和编译(Translate and& nbspedit),而无须经过权利人的同意。但该条同时对用户的行为作了如下限制:

(一)只有合法用户或“以合法用户的名义”才能进行反向工程;

(二)“必要的信息”不能从其他途

百有论文网()

径轻易取得;

(三)只能对生产兼容程序所必要的那部分程序进行反向工程;

(四)通过反向工程获得的信息不能用于非兼容程序的目的,不能扩散给对开发兼容产品不必要的第三人,也不能用于开发、制作或销售表达形式类似或有其他著作权侵权因素的程序;

(五)反向工程不得不合理地损害权利人的正当利益或妨碍计算机程序的正常使用。这条规定很值得我们借鉴。需要强调的是,美国也作出了在符合一定条件时,反向工程合法的判例。在Sega公司诉Accolade公司一案中,1992年4月,初审法院美国加州北部地区联邦法院认为,出于开发和生产兼容性程序的目的,未经许可对目标代码程序进行反汇编或反编译是侵犯版权行为。同年10月,二审法院美国第九巡回上诉法院推翻了地区法院的判决。理由是不能错误的借用版权法锁定硬件平台,即锁定软件的运行环境。

一直以来,国外学术界对反向工程进行了大量的研究。美国加州伯克利大学的 Pamela Samuelson教授和Suzanne Scotchmer教授合作发表的关于反向工程的研究专著《反向工程的法律和经济》(《THE LAW & ECONOMICS OF& nbspREVERSE ENGINEERING》),被认为是对反向工程里程碑式的研究总结。其开篇

第一段话这样说道:“反向工程是一种从人造物品中提取技巧和知识的过程,这种做法被接受和实践已经有很长时间。律师和经济学家认可反向工程是获取这些信息的恰当手段,即使其意图是制造一种产品并从被反向工程的厂商手里夺取客户。既然有这一共识,过去几十年里反向工程所遭受的非议是令人吃惊的。”这说明学术界已经接受了反向工程。

我国《计算机软件保护条例》第三条第㈠项规定:“计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。”按照这一解释,笔者认为,计算机软件的合法复制品所有人可以不受任何限制地对源程序进行反向工程。但其目的应受到限制。即反向工程是否构成侵权应该主要看反向工程的目的。如通过反向工程对源程序进行分析、了解后,只是吸取其设计思想,就不应该认为是侵权。如果将反向工程获得的信息应用于以下方面:

(一)用于独立开发计算机软件取得兼容性以外的目的;

(二)传播他人,除非为取得独立开发的计算机软件的兼容性所必须;

(三)用于开发与该计算机软件的表达形式具有实质性相似的计算机软件或为任何侵犯著作权的行为。则构成著作权的侵权。

即使这样,一般情况下,计算机软件反向工程也是违法的。理由是:

(一)一般商家都会在其销售的计算机软件产品包装盒上印有版权信息,其中含有禁止用户采用各种形式对该计算机软件进行反向工程的条款,用户一旦购买,就意味着要接受所有条款,当事人之间形成的法律关系受合同法保护。因此,再对计算机软件进行反向工程就会违反购买软件时承诺的合同义务。

(二)网络上下载的共享软件或者免费软件,在安装时也会提示一些信息作为安装计算机软件所必须接受的协议条款,其中也含有禁止进行反向工程的内容,只有同意所有条款才能够继续安装。如在MSN Messenger 7.0版本的安装向导中,“使用条款”和“隐私声明”窗口就有这样的条款:“您不得对‘服务’中包括的任何软件或任何机器进行分解、反编译或反向工程(除非并且只有当适用法明确允许时)”。实际上,这已经是计算机软件行业一种特有的保护形式了。

计算机软件反向工程版权保护的界定 篇2

反向工程的概念起源于集成电路的布图设计。它是指对其他设计者的“掩膜作品”布图设计进行深入的质量分析,性能分析。根据先前的研究评价结果,设计出新的集成电路的布图设计。触类旁通,计算软件的反向工程也被计算机软件设计者提出。计算机软件反向工程是软件开发过程的逆向开发过程,它是利用反编译软件对一款软件产品的某个模块,或者是多模块进行反编译操作,然后得到软件的源代码,虽然由编译器生产的源代码与实际开发者的源代码有相当大的出入(计算机编译器软件进行代码编译时要对代码进行优化处理),但是得到的反编译代码却能够反映出该反编译模块或者是几个模块的业务流程。我们得到反编译代码后,对反编译后的源代码(以后统称为源代码)进行理解,深入的分析,从而了解实际的程序业务处理流程设计,或者是这几个模块的架构。通过分析模块之间的架构,可以大致上的了解程序的性能,如果要进行程序的瓶颈分析的话,能够得到程序的瓶颈所在,或者是为程序开发扩展插件提供了资料,可以很快的开发出该款软件的附属产品,兼容产品或者是与该款软件功能相似的软件产品。

利用反向工程进行软件开发与传统的自行的软件开发进行比较可以得到以下结论。利用反向工程进行软件开发可以节约开发成本,减少软件开发商的投资和时间,开发成本大幅度的下降,而且开发出的软件产品在质量上还比较好,能够快速的赢得市场。另外还可以对原有软件设计的不足进行修正,从而提升市场的竞争力,为软件经销商赢得客户。现在的大多数的软件公司,或者是开发团队都在间接的利用这一技术,在开发一款软件前,软件的开发者了解到了开发需求后,都会去寻找与客户需求相符的现成软件产品,通过对既有的软件产品进行分析来改进自己的软件产品的设计,为设计思路指明反向,或者是解决开发过程中的技术难题。可是软件的反向工程的实施却给原有的软件开发商的利益造成损失,而这种利益的损失最终反映为计算机软件反向工程的合法性的争论。和集成电路反向工程一样,合理的利用软件反向工程不属于违法行为,而这种行为我们应该提倡,不合理的利用软件反向工程应该属于违法行为,我们应该杜绝这种行为的发生。

2 计算机软件反向工程的操作流程

目前的比较流行的软件开发方法是瀑布式开发,敏捷式开发,这些开发方式都是建立在先前的系统分析之上的。了解市场和用户需要之后,确定所要开发的产品的各种需求。包括功能需求,性能需求等,然后对软件进行设计,进行界面设计,然后进行架构设计,详细设计,代码编写,测试。最终形成了稳定的代码以及相关的技术文档和业务文档以及使用手册。

软件开发商在实施软件反向工程的步骤:

1)找寻与业务相关的现有成熟的软件,利用反汇编软件或反编译软件,对该软件进行反编译,并且生成源代码。

2)利用该软件的运行手册或者是帮助文档对现有的软件进行功能分析,主要体现在仔细阅读源代码,确定某些代码块的作用。

3)对既有的功能块进行串联,确定整个软件的组织架构,分析该软件架构的合理性。

4)揣摩单个业务模块逻辑的合理性。

5)在3、4的基础上提出新的软件架构,或者是改进的算法。

6)进行软件开发,适当的时候可以利用既有的源代码。

简而言之,传统的过程是以市场和用户的需求以及软件开发商的设计原则和计思路等信息为输入,以软件产品的可执行程序和软件产品的使用文档和手册为输出。而软件反向工程的过程则与之恰好相反,它是以软件产品的可执行程序和使用手册文档信息为输入,以该软件的设计原则和设计思路为输出。

3 计算机软件反向工程的用途

计算机软件反向工程能够对软件程序进行逆向的解剖、分析,推导出软件产品的功能、模块架构、业务处理流程、功能算法、界面设计技术。通常情况认为软件反向工程的用途有以下几种。

1)软件反向工程能够解决软件的运行障碍

由于软件在设计阶段的工作没有做好,或者是软件开发者的编程技术有待提高,频繁的处理某一个业务的时候会出现一些意想不到得错误。或者是计算机硬件不能够达到软件的运行标准而出现的运行障碍。在这种情形下,软件的合法拥有者可以个人或者是委托他人对软件实施反向工程来诊断或者是排除原程序中的错误。

2)软件反向工程能够完善既有的软件产品

随着时间的推移,既有的软件也不能够完全满足现有的业务,或者是性能不能够达到现有的标准,软件的合法持有者需要增添功能或者是修改业务逻辑,以此来满足现在的需求。这个时候软件反向工程是一个不错的选择。

3)软件反向工程能够检测恶意的软件代码

由于某些原因,软件的编写者有意或无意在程序中加进了一段特殊的代码。这个时候我们把它称之为病毒。软件的合法持有人为了系统的安全,利益不受到损失,需要把这些特殊的代码删除。这就需要通过反汇编或者反编译获得该程序的源程序,对其实施软件反向工程技术来删掉软件中的非法代码。

4)软件反向工程为再次开发节约了成本

利用软件反向工程,分析出软件设计者的编程思想和设计思路,了解软件的整体架构,再次开发出相同功能的软件产品。减少了设计时间,快速进入软件的编码阶段,为软件的开发节约了成本。

4 软件反向工程仿制软件

利用软件反向工程获知了他人程序的设计流程、算法和编程思想之后,进行改头换面的处理。然后进行编译,生产软件,然后进行批量的复制,从而达到盈利的目的。例如:将原软件产品步骤的某些顺序加以改变,或者是把软件产品的外观改变,比如说更换图片,更换控件,在原软件产品中加入一些可有可无的新特征,添加一些注释语句到程序代码中等等。

5 总结

合法的在软件开发过程中在运用软件反向工程过程中我们应该提倡,这是对软件产品,或者是软件生产技术的一种改进。它能够当前快速发展的经济形势,提升企业的竞争力。而不合法的使用属于窃取别人劳动成果的行为,这是一种不职业的行为,我们应该杜绝这种情况的发生。

参考文献

[1]李思军.计算机软件反向工程问题研究[D].四川大学,2005.

软件反向工程的法律规制 篇3

摘 要:大数据时代下,信息技术运用愈加广泛,计算机软件的保护愈加受到重视。作为中立技术手段的反向工程,利用价值较高。但我国法律对于软件反向工程的规定较为零散,理论界争议较大。本文赞同将反向工程技术看作是一种中立的技术手段,在使用这种中立的技术手段发生的侵权纠纷,可通过《反不正当竞争法》进行规制。

关键词:源代码;复制行为;反向工程;反不正当竞争法

一、软件反向工程之界定

根据《最高人民法院关于审理不正当竞争民事案件应用法律若干问题的解释》的规定,反向工程是指通过技术手段对从公开渠道取得的产品进行拆卸、测绘、分析等而获得该产品的有关技术信息。即软件反向工程是指利用反汇编反编译等方法从软件的目标代码出发,对软件进行二进制代码的转换,从而寻找到该软件的源代码。讨论软件反向工程的反不正当竞争法规制问题,首先要对软件反向工程的合法性进分析。

二、软件反向工程的合法性识别

(一)软件反向工程中复制行为之合法性

软件的表现形式是代码,在广义上也是一种文字,这种文字形式造成复制便捷,人们在理解软件的代码过程中,不可避免的要将目标代码转化为人类便于理解的形式。根据国际上的一般做法,对软件源代码等核心信息的合理使用是受到认可的。

(二)兼容性信息对合法性之影响

根据1991年欧盟通过的《关于计算机程序法律保护理事会指令》中的相关规定,兼容性是指计算机程序交换信息和相互使用信息的能力。兼容性信息的获取必然是为了独立的软件开发。发生软件著作权侵权纠纷后,行为人可以利用实施反向工程是为了研究和学习其兼容性信息进行抗辩,而行为人对于证明其目的不正当则显得十分艰难。

(三)技术需求对合法性之影响

软件著作权人通常认为借助反向工程获取软件信息后,会大大降低其软件在市场上的占有率。而软件的更新升级、技术的广泛运用会使软件的使用者享受到更多的技术优势。故在权衡这两种利益时,我们有必要将运用反向工程技术对于软件著作权所有人或是软件的在先使用人的利益的影响的程度纳入考虑。

三、“伪反向工程”行为对侵权诉讼之影响

软件的反向工程在诉讼中被争议的焦点就在于,人们不能准确的猜测他人的内心想法并且加以证明。即使在获取软件核心信息时具有反向工程的外观,但是其使用目的在于创造实质相同的软件产品,进行市场竞争,也应当被列为不正当竞争行为。“伪反向工程”行为的存在,使得软件著作權人在权利受到侵害时举证存在困难。动态的行为过程很难在事后得到证明,可探其究竟之方式之一在于从目的及结果进行分析。但推论某种结果的条件存在多种表现形式,很难一一对应,这就为真正实施“伪反向工程”之行为人的抗辩提供了依据,不正当竞争的风险随之提高。

四、软件反向工程的竞争法规制路径

(一)我国现阶段对于软件反向工程的反不正当竞争法规制

1.我国对于反向工程的态度及法律规制

我国在根本上承认反向工程的合法性,但是如果使用的目的、方法不正当就会被列为一种不正当的竞争方式,理应受到反不正当竞争法的规制。虽然源程序等代码所构成的软件内部程序因为著作权法的基本原则而不能受到其保护,但如果行为人利用软件的核心信息程序制造出实质上相同的具有相同市场竞争力的软件的行为,或者是通过窃取、利诱等不正当的方式获取后却以反向工程予以抗辩,抑或是虽然基于合理的目的进行反向工程获取了相应的商业秘密,却进行不正当的披露或利用。

2.我国法律体系中对于反向工程规定之缺陷

我国对于软件反向工程之规定散见于条例中,对于其定义与法律规制较少。在著作权法中基于思想与表达二分法原则,通过软件反向工程获取的软件核心信息很容易被归结到思想的范畴内,不利于纠纷解决。反不正当竞争法对于规制利用反向工程进行软件发明的过程有重要的作用。但是在我国的反不正当竞争法及修改意见稿中却未见相应规定,对于反向工程在诉讼中的纠纷解决之规定也显陈旧。本文认为,在现有反不正当竞争法的框架下可以寻求相应的法律条文进行规制,但是,将软件反向工程规制确定到《反不正当竞争法》中十分必要,进而完善软件反向工程相关概念及立法。

(二)从反不正当竞争法的角度对软件反向工程之规制

本文认为,借鉴美国欧盟等对于反向工程之规定,我国应对反向工程行为规定限制性条件规定,在侵权纠纷中,对于相应的行为进行排除。另外可在司法实践中增加SSO判定法和AFC判定法。虽然这两种方法在实践中都有其缺陷,但是在纠纷解决中可提供新的解决思路。

行为人采取反向工程手段获取软件的核心信息无可非议,但是其使用目的并不在于研究与学习该软件,修改其程序错误或者是分析其是否侵犯其他软件的著作权,其制造出于原软件程序实质上相同的软件,且其最终是为了投入市场实现其营利性目的。在这种情况下,行为人不可以反向工程为抗辩理由。

技术解剖或者企业内部采取的相关手段具有隐蔽性,作为竞争对手想要证明其行为的不正当性存在障碍在诉讼中,权利人可以依据其对相关的软件核心信息采取了加密措施而对方当事人仍旧获取了商业秘密,且将这种软件的核心信息投入产品的设计使用投入市场进行营利,在这种情况下,无论其是否利用反向工程,结果都证明其进行了不正当竞争行为。

行为人即使通过法律认可的反向工程手段获取了软件的核心信息,但向社会大众或者不特定的第三人披露其商业秘密,或者将核心信息使用在软件的开发使用上,或者在未经授权的情况下允许其他人使用该项核心信息,都视为《反不正当竞争法》第十条关于侵犯商业秘密的规定。

参考文献:

[1]曹伟.软件反向工程:合理利用与结果管制.知识产权.2011.4.

[2]张吉豫.软件反向工程的合法性及立法建议.中国法学.2013.4.

作者简介:

上一篇:游览北京天坛公园的作文下一篇:学训词公开承诺书