作者:杜秀军律师
一、什么是计算机软件专利
1、计算机软件的概念
(1)我国《计算机软件保护条例》将计算机软件定义为“计算机程序及其有关文档;
计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列,同一计算机程序的源程序和目标程序为同一作品;
文档,是指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法的文字资料和图表等,如程序设计说明书、流程图、用户手册等。”
我国国家知识产权局在其《专利审查指南》第二部分第九章中,将计算机软件专利描述为“涉及计算机程序的发明专利”,并沿用了《计算机软件保护条例》中对计算机软件和计算机程序的定义,认为计算机程序本身包括源程序和目标程序。
(2)世界知识产权组织将计算机软件定义为:“计算机软件包括程序和对程序的说明和指导,程序指为达到实现相应的功能或者结果,运用计算机进行处理,并与计算机可读介质结合为一体,并通过对代码、文字或者图形等指令来对相关信息进行处理。”
(3)美国将计算机软件定义为:“通过直接或间接作用于计算机来取得一定结果的语句或指令。”欧盟将计算机软件定义为:“包括先前准备的程序设计资料和计算机程序”。
从上述各国规定中可以看出,国际通说认为:计算机软件包括计算机程序和文档,计算机程序又包括源程序和目标程序。
从计算机科学的角度来讲,目标程序才是计算机真正执行的命令序列,目标程序是一系列“0”或“1”组成的二进制代码,计算机通过识别代表“0”或“1”的电气或电磁信号进行工作,由于目标程序不利于人类阅读修改,人们设计出便于人类阅读和修改的源程序,并建立起目标程序和源程序的对应关系,使得源程序可以通过特定对应规则编译成目标程序。这样程序编制人员可以通过编写人类可阅读修改的源程序来控制计算机的工作。文档是程序编制人员为了让他人理解源程序而制作的文字性材料,文档本身并不转换成目标程序,因此对计算机执行毫无影响,一份计算机软件可以没有文档,但必须有源程序和目标程序。
2、计算机软件专利——涉及计算机程序的发明
什么是计算机软件专利,我国法律中并没有明确的定义,一般来讲,是指全部或部分通过执行计算机软件来实现技术方案的专利。
由于我国的专利是发明、实用新型和外观设计的统称,实用新型和外观设计保护的是有形产品,因此计算机软件只能通过发明专利进行保护,因此国家知识产权局将计算机软件专利定义为“涉及计算机程序的发明”。
国家知识产权局《专利审查指南》(2010)中规定:“涉及计算机程序的发明是指为解决发明提出的问题,全部或部分以计算机程序处理流程为基础,通过计算机执行按上述流程编制的计算机程序,对计算机外部对象或者内部对象进行控制或处理的解决方案。所说的对外部对象的控制或处理包括对某种外部运行过程或外部运行装置进行控制,对外部数据进行处理或者交换等;所说的对内部对象的控制或处理包括对计算机系统内部性能的改进,对计算机系统内部资源的管理,对数据传输的改进等。涉及计算机程序的解决方案并不必须包含对计算机硬件的改变。[1]”
从《专利审查指南》的表述中可以看出,国家知识产权局认为,涉及计算机程序的发明专利保护的是一种解决方案,该解决方案全部或部分通过计算机程序,对计算机外部对象或内部对象进行控制和处理。
二、为什么要以专利方式保护计算机软件
1、计算机软件与硬件的分离和飞速发展是计算机软件专利保护的经济动因,促进软件产业发展是各国陆续开放软件专利保护的根本目的。
在计算机行业发展之初,计算机软件作为计算机硬件的附属,通常与计算机硬件一起作为专利保护的对象。然而,随着计算机行业的发展和计算机硬件标准的统一,计算机软件行业可以脱离硬件而独立发展,计算机软件行业成为一个新兴的行业,众多的企业投入到计算机软件的研发当中,软件行业的飞速发展促使软件企业寻求其劳动成果的利益最大化。
同时,由于软件行业对硬件资源的较低依赖和对环境的低污染,各国政府开始大力支持本国政府的软件产业,其中以美国和印度为最。
2、其他保护方式的不足是计算机软件寻求专利保护的根本动因。
针对软件行业的需求,世界知识产权组织和各国政府开始寻求对计算机软件的保护途径,最普遍的途径是通过著作权、商业秘密和反不正当竞争法途径对软件产品进行保护。
然而,由于计算机软件的自身特性,计算机软件难以编制却易于破译,通过只保护表达而不保护思想的著作权保护有很大的局限,不能有效保护计算机软件所凝结的开发企业和个人的劳动成果;同时,计算机软件易于复制却难于取证,通过商业秘密和不正当竞争保护同样存在管理难,取证难的困境。正是上述不足促使各国政府和软件企业寻求新的保护手段。
三、计算机软件专利保护的发展脉络
1、美国
计算机软件作为产业最早出现于美国,而且迄今为止美国仍然是世界上软件产业最发达的国家,因此,美国对于计算机软件的专利保护引领着世界计算机软件专利保护的潮流。
1790年的美国专利法规定,可申请专利的主题包括“任何实用的技术、制品、引擎、机器、装置或任何改进。”
1793年,美国专利法修订后,将可专利主题扩展至物质组成,并规范其表述为“任何新的和实用的技术、机器、制品或物质组成(art、machine、manufactureorcompositionofmatter)及其改进”。
1952年,美国专利法又将可专利主题修正为美国现行专利法第101条的“方法、机器、制品、物质组成及其改进(process、machine、manufactureorcompositionofmatter)”,从“art”到“process”的表述,可以看出美国对专利保护范围的开放程度。
虽然国内许多学者认为美国对计算机软件专利的保护经历了若干个不同的阶段,但笔者认为,与其说美国计算机软件专利保护经历了不同的阶段,不如说美国计算机软件专利保护经历了由浅入深,不断修正的历史过程。虽然早期的计算机软件专利经历了屡屡被驳回的时期,但美国司法界始终没有否定计算机软件的可专利性,只是针对不同的个案调整计算机软件专利保护的规则。而且由于个案的特殊性,美国USPTO和法院在不同案件的不同态度并不能证明同一时期美国司法界对所有的计算机软件专利采取完全统一的标准。
1972年之前,美国专利与商标局(USPTO)对计算机软件持谨慎态度,而司法界对计算机软件专利的保护持相对积极的态度,联邦巡回上诉法院(CAFC)的前身——海关和专利上诉法院(CCPA)连续在三个案例中推翻了USPTO作出的驳回决定,认为只要涉及计算机软件的机械执行过程,而不是思维过程,作为“技术工艺”的一部分就具有专利性。
1972年的Gottschalkv.Benson案中,法院认为:将一个二进制编码的十进制数值转换成纯二进制数值的计算机程序不是专利权的保护客体,因为其权利要求不限定任何特定工艺和技术,或任何特定装置或机器,或任何特定目的的利用。二进制数的转换可以借助于一种转换表格在人们的头脑中进行。这项申请专利的程序实际上只是重新编排了转换的顺序和符号表示。它所涉及的转换公式除了在数字计算机内,不再有别的实质性使用。如果对此公式授予专利权,则这项专利权势必先占该数学公式,也就等于向数学公式打开了专利大门,这不符合专利法的基本准则。
1978年的Parkerv.Flook案中,美国联邦最高法院认为,系争专利为一个数学公式,是在化学反应过程中计算其警告上限的一种数学公式,在总体上仅涉及一种自然现象(自然规律)或数学算法,不构成可专利主题,但一种自然规律的具体应用或可构成可专利主题。
1972至1980年间,美国通过InreFreeman(1972)、InreWalter(1978)、InreAbele(1980)三个案件建立起两步检测法(Freeman-Walter-AbeleTest),即判断计算机软件属于专利客体包括两个步骤:
步骤1:先审查该申请专利的处理过程中是否含有对数学公式或数学算法的权利要求;如果包含则进行步骤2;
步骤2:把专利申请的权利要求作为整体,考察其是否仅仅是数学公式或者数学算法;
如果该申请实际上企图先占该数学公式或数学算法,不能授予专利。
1981年的Dimondv.Diehr案中,CCPA认为:“模压橡胶产品形成的过程中,由计算机定时收集温度和时间,并按照Arrhennius公式进行计算,以控制硫化时长”的专利“虽然权利要求中涉及数学公式和计算机程序,但该发明在整体上是一个物理化学过程而不是数学算法。不应仅仅由于引入了计算机程序就不属于专利保护主题范围”。联邦最高法院认为:“对于一项专利申请,在判断其是否属于专利保护主题时,必须把权利要求作为一个整体来考察。将权利要求分解成旧有的和新颖的部分,然后单独考察新颖的部分是否属专利保护主题,这种做法是不合适的。对于工艺过程的权利要求尤其如此,因为,尽管工艺过程的各个组成部分在组合前都是公知和普遍使用的,但其新颖组合却有可能获得专利。当一项包含数学公式的权利要求是将该公式应用于某种机械结构或者过程,而该机械结构或者过程作为整体,起着专利法旨在保护的功能时,该权利要求就符合了专利法第101条的规定。”
1982年,美国《联邦法院促进法》(FederalCourtsImprovementAct)获得通过,由里根签署成为法律。依据该法,由原海关与专利上诉法院(CCPA)和联邦索赔法院的上诉部分合并组成联邦巡回上诉法院(CAFC),主要负责专利上诉案件的审理,目的是为了“获得全国统一的、确定的以及可预见的专利审判结果”。为了达成这一初衷,CAFC形成了一些可以重复适用、简单明确原则(bright-lighttest)的习惯。
1994年,在InreAlappat的“示波器的波形平顺演绎法”专利案中,CAFC建立了新的“实用、具体和有形”的判断标准,CAFC判决认为:使用一台仪器,经过一系列计算,可以在光栅监视器上产生平滑波形,相当于抽象概念的实际应用,即平滑的波形就相当于一种“实用、具体和有形的结果”。不能因为计算机软件包含有数学公式而丧失其可专利性,使用通用计算机执行不同的软件,内部的逻辑结构和记忆装置发生改变,获得“实用、具体和有形的结果”,属于可专利主题。
1996年3月29日开始实施的《与计算机有关发明的审查指南》对《美国专利法》§101条(可专利主题)进行了解释。《与计算机有关发明的审查指南》认为:“反映国会意图的、对于§101条的范围的完整表述应该是:在太阳下的由人所制造的任何新的有用的方法、机器、产品或组合物质都是适合专利申请的客体。
1998年,CAFC在Statestreet诉Signature的“轮毂轮辐式金融服务配置数据处理系统”专利案中判决认为,虽然算法本身属于抽象概念,但当它实际应用时,如果产生“实用、具体且有形的结果”,就成为可专利主题。
“实用、具体且有形的结果”标准打开了计算机软件专利,特别是商业方法专利的泄洪闸,造成了美国商业方法专利的泛滥,例如亚马逊公司的“一次点击”商务专利,在快餐店刺激消费者购买更多食物的方法等一批低质量专利应运而生,遭到了美国社会各界的批判。
2008年,在InreBilski案的“对抗价格波动财务风险的避险方法”专利案中,该案诉争专利为一种针对以固定价格出售至商品的消费性风险成本的管理方法,CAFC放弃道富案的“实用、具体且有形”的判定标准,提出“机器或转换”标准,CAFC认为:如果诉争专利符合“与特定机器或设备相连结,或将特定物品转变为不同状态或事物”两个条件之一就可授予专利权。然而,该标准本身缺乏确定性,2010年,美国联邦最高法院虽然支持了CAFC的结论,但认为“机器或转换”标准并非判定商业方法专利的唯一标准。
2012年3月12日,美国联邦最高法院在MayoCollaborativeServiceV.PrometheusLaboratoriesInc.案(Mayo再审案)中,初步提出了一种判断步骤,即Mayo两段测试法:“
步骤一:首先判断该权利要求是否指向自然规律、自然现象或抽象概念,如果属于三者之一,再进行步骤二;
步骤二:判断该权利要求是否存在足以确保整体方案明显多于(significantlymore)非适格主题的发明概念,而使得该权利要求被转化为适格主题,即将该权利要求中的每一个特征分别或组合后考虑,判断是否存在特征或特征的组合足以让该专利在实际上构成适格主题比不构成适格主题重要得多(significantlymore)。”
2013年,美国联邦最高法院在涉及人体DNA是否属于专利权客体的“AssociationforMolecularPathologyv.MyriadGenetics”案中,再次强调,法院根据长久以来的判决,自行确立了三种例外,分别是自然法则(Lawsofnature)、自然现象(naturalphenomena)和抽象概念(abstractideas)。
2014年6月19日,美国联邦最高法院在Alicev.CLSBank案中作出全体一致意见,认为纯粹的商业方法不是专利权的保护客体。并重审2012年Mayo案中的判断方法。
2016年,CAFC在Enfishv.Microsoft案中判决指出:“美国联邦最高法院在Alice案中并没有排除所有软件专利的可专利性,下级法院也不应该这么认为。在判断专利的方案是否属于抽象概念时,不应当仅对权利要求中的语言和内容进行判断,而应当参考说明书的内容,从整体上判断权利要求请求保护的方案的本质是否属于抽象的概念。”
从美国计算机软件专利保护的历史进程中可以看出,美国计算机软件专利保护经过多年的曲折反复,虽然美国司法界、特别是CAFC试图建立一整套简单易行的规则,但总是遇到现实的挑战。而最终决定计算机软件专利是否符合专利保护客体还是需要从专利法第101条的规定出发,考虑权利要求整体要求保护的方案是否符合“方法、机器、制品、物质组成及其改进(process、machine、manufactureorcompositionofmatter)”,而任何简单易行的规则只能适用于某一类计算机软件专利的审查,不可能适用于全部专利。即便是现在美国联邦最高法院确立的Mayo两段测试法,将来未必不会受到挑战。
2、欧洲
与美国相比,欧专局(EPO)对软件专利的授权比较保守,在美国进行初步探索之时,EPO对计算机软件专利完全予以排斥。然而随着美国逐步放开软件专利保护制度,EPO在1985年的审查指南中将专利保护范围扩展到与计算机软件相关的发明,到了20世纪90年代,EPO通过IBM案、养老金收益案等一系列判决确立了计算机软件专利的可专利性,在EPO现行的审查实践中,EPO不再关注计算机软件的可专利性,而将审查注意力放到对“三性”(新颖性、创造性和实用性)的判断上。
四、我国计算机软件专利保护的现状与问题
虽然我国《专利法》没有将计算机软件排除在专利保护客体之外,但我国对计算机软件专利的保护仍持谨慎态度。我国国家知识产权局在2010年版的《专利审查指南》将涉及计算机程序的发明专利作为单独一章予以介绍,但该章内容相当晦涩难懂,并不能解决计算机软件专利实践中的问题。
例如《专利审查指南》第九章的表述:“如果涉及计算机程序的发明专利申请的解决方案执行计算机程序的目的是解决技术问题,在计算机上运行计算机程序从而对外部或内部对象进行控制或处理所反映的是遵循自然规律的技术手段,并且由此获得符合自然规律的技术效果,则这种解决方案属于专利法第二条第二款所说的技术方案,属于专利保护的客体。”在表述中,国家知识产权局虽然强调了“技术问题”、“遵循自然规律的技术手段”和“符合自然规律的技术效果”。但并不具备实践上的可操作性。
对于计算机软件专利的审查,实践中一般有三种不同的驳回理由:
1、以不属于专利法第2条专利保护客体为由予以驳回;
2、以属于专利法第25条第2款规定的“智力活动的规则和方法”为由予以驳回;
3、以不符合“新颖性、创造性、实用性”为由予以驳回。
上述三种理由存在任意使用的情况,造成专利申请人和代理人思想的混乱,不服驳回决定或判决的情况时有发生。
五、计算机软件专利保护的反思
无论是计算机软件专利保护经验丰富的美国,还是相对保守的我国而言,计算机软件专利保护都处于无法明确统一的混乱状态,笔者认为,之所以无法出现明确的审查标准,与各国均将对计算机软件专利的“新颖性、创造性”审查提前至“是否属于专利保护客体”阶段不无关系。因此,笔者认为,计算机软件本身应当属于专利权的保护客体,是否能够授权应当通过“新颖性、创造性、实用性”进行审查,而不应当在“是否属于专利保护客体”方面浪费太多的司法资源。具体理由如下:
1、计算机软件专利必然为专利权的保护客体
众所周知,计算机软件必须通过计算机来运行,因此计算机软件专利必然隐含着与计算机结合的潜在条件,因此计算机软件专利本质上应当为一种通过计算机进行操作的方法,即便该软件所用的计算机是最普通的计算机,也不能改变该方法利用了计算机这种实体工具的事实,因而应当属于专利权的保护客体。
2、各国司法界只考虑计算机软件本身,而不考虑所隐含的计算机来判定计算机软件是否属于专利保护客体已经违反各国的法律“对专利方案整体进行判断”的要求。
3、利用“新颖性、创造性、实用性”而不是“是否属于专利客体”审查计算机软件专利,非但不会造成计算机软件专利的泛滥,而且能够实现对计算机软件专利更好的控制。
首先,是否属于专利客体更多是一种价值判断,司法者自由裁量的范围很大,而且没有统一的标准,专利申请人无法形成有力的抗辩。
其次,可以避免实践中审查员在进行“是否属于专利客体”判断后疏于审查“新颖性、创造性、实用性”的情况。
最后,“新颖性、创造性、实用性”的审查容易形成统一有效的标准,有利于综合把握计算机软件专利的授权质量,避免低质量专利的出现。