崔国斌:专利法上的抽象思想与具体技术—计算机程序算法的客体属性分析

发布时间:2019-08-03 11:50:15


内容摘要:程序算法的可专利性是计算机程序专利保护制度的一个核心问题。本文从专利客体从“产品”向“方法”拓展的历史过程出发,揭示专利法区分抽象思想和具体技术的传统标准——“物质状态改变”。本文认为,专利法区分抽象思想与具体技术的传统标准并不否定计算机程序算法的客体属性。程序算法是运行独立于人脑的物理系统(计算机)的具体方法步骤,并非抽象的思维规则。程序算法被执行后会导致传统专利法意义上的“物质状态改变”。因此,程序算法符合前述传统标准,可以顺利通过客体审查。沿着这一思路对专利法的传统理论进行整理,我们能够最大限度地尊重专利法传统,同时又及时地消除了技术进步对客体审查理论的挑战。

一、 引言

计算机程序的客体属性以来一直是专利法领域争论不休的热点议题。专利法从一开始就排斥计算机程序:程序代码被视为抽象的文字作品,[1](P21)程序背后的算法被视为抽象思想,[2]二者皆不能成为专利法意义上的客体。进而,专利法对所有与计算机程序有关的发明都持警惕的保留态度。上个世纪七十年代中后期以来,软件行业迅猛发展,社会对计算机程序的认识也逐步加深,专利法在产业部门的反复游说下改变了初衷,开始接纳部分与计算机程序有关的发明主题。到目前为止,计算机程序与传统工业应用系统结合在一起作为一个整体的系统、程序算法与传统的工艺流程结合在一起作为完整的工艺方法等,已经顺利成为专利法上的保护客体。[3][4][5] 当然,软件行业并不就此罢手,继续冲击专利法客体审查的底线,要求专利法承认“计算机程序+普通计算机”、“计算机程序+磁盘载体”、程序算法等逐步抽象的发明主题的专利客体地位。这些主张实际上是为计算机程序最终摆脱对传统工业应用背景的依赖直接成为专利法上的保护对象做铺垫工作。这些主张先后遭到专利法上一系列传统学说和规则的抵制[6](P1130)。[①]在传统学说和规则下,这不过是为抽象的思想蒙上具体的物质外衣以规避专利法在客体范围方面的限制规则。究竟这些新的申请主题是专利法上的具体技术方案,还是传统意义上的抽象思想?回答这一的问题,我们先需要了解专利法区分抽象思想与具体技术方案的真正标准。遗憾的是,专利法理论对这一标准的阐述并不清楚,这也正是全世界范围内学者们在计算机程序相关发明的客体属性上争论不休的原因所在。

本文从上述极具争议性的专利主题之一——程序算法着手, 探讨程序算法在摆脱传统工艺背景之后独立成为专利法上的保护客体的可能性。所谓算法是指“解决某一特定数学问题的方法步骤” [2] (P66),而程序算法就是指计算机程序中所采用的指挥处理器完成特定任务的一系列方法步骤[7](P146)。计算机程序所体现的算法,有很多个层次,最具体应该是全部程序指令联合起来的详细步骤,由此往上可以逐步抽象,得到比较概括和抽象的算法。计算机程序的创新之处在于算法而不是具体的代码,因此发明人谋求专利保护的正是程序背后的算法而不是该代码[7](P158)。

从上面的定义中可以看出,程序算法与数学有着天然的联系。很多算法都是在特定的数学模型下设计出来的,通过数学语言得以描述。因此算法很容易被视为数学规则的一部分,被视为专利法意义上的抽象思想。但是,算法又有不同者与数学规则的迥然不同的一面:程序算法对应着计算机的执行步骤。任何一个有效程序的实际运行过程都是按照特定的程序算法一步一步操纵计算机进行连贯的运算,直至目标得以实现。不论目标为何,程序算法终究可以视为人直接或者间接操作计算机获得某种结果的方法步骤,是人操作客观的物质机器的一种方法。一面是抽象思想,一面是具体的操作步骤,程序算法对专利法区分抽象思想和具体技术方案的能力提出空前的挑战。本文希望迎接这一挑战,为计算机程序相关发明客体合法化提供一种和谐的理论解释,同时也试图揭示专利法区分抽象思想与具体技术方案的一贯标准,为其它领域的专利客体审查提供全面的理论指导。

本文首先从专利法最初将保护客体从产品拓展到方法的历史过程出发,研究专利法区分抽象思想和具体技术的传统策略,从而寻找客体审查理论的脉络。接着,我们观察这一传统策略在“计算机程序算法+传统工艺流程”之类的发明客体上的应用,并对应用过程中衍生的各种理论学说进行简要的评论,揭示计算机程序客体审查方面存在的混乱状况。继而,本文揭示专利法排斥那些摆脱传统工艺流程背景的计算机程序算法本身的理论依据,指出这些理论自身存在的矛盾和缺陷。最后,本文指出在传统思路可以用来支持而不是否定计算机程序算法的客体地位,并通过其他多种途径证明程序算法的专利法客体地位的正当性。

二、 从具体产品到抽象方法:“物质状态的改变”

“抽象思想不能获得专利保护”是专利法上的一项基本原则。[2] (P67)专利法过去依据这一原则排除了诸多的申请主题,计算机程序算法并非其中的第一个。[②]如果程序算法能够被专利法所接受,则从形式上应该归入“方法发明”名下。专利法上的方法发明的客体本身就是一些相对抽象的操作步骤,不像物质或者产品发明那样具备客观的可感知的物理形态。也就是说,方法发明与抽象思想之间的界限是天然模糊的,专利必须有一套行之有效地区分方法发明和抽象思想的策略。在掌握这一策略之后,我们就有可能观察专利是如何利用这一策略对计算机程序相关发明进行客体审查,进而对传统专利法排斥程序算法的做法进行评价。这一节首先回顾专利法过去将保护客体从具体产品拓展到“抽象”的方法的历史过程,从中寻找专利排除“抽象思想”的策略。

今天人们大多当然地接受了专利法保护产品和方法两类发明客体的法律规则,却没有意识到专利法上的保护客体范围曾经经历了一个由具体、物理装置、产品向抽象方法逐步过渡的曲折过程。[③]在专利法早期,人们意识中的发明似乎都是看得见、摸得着的机器、物质机器组合等,专利法仅仅保护有形的发明物理产品,不愿意保护所谓的步骤或者方法发明[8](P1048)[9](P404)。比如在英国著名的《垄断法案》中,专利保护的对象仅仅限于制造物(Manufacture)[10](sect.6)[11](P134)[④]。美国早期的专利法也对方法发明持消极态度[12](P583)。尽管美国后来的专利法提到发明对象包括有用技艺(Useful art)、制造物等,. . .是运转的力。早期的案例认为一种技艺的发明者仅仅是自然力的发现者,除非他发明了应用该自然力的装置。”[13](P788) ,,因而发明人总是试图将抽象的方法发明表述为装置发明,从而避免发明被解释为一种抽象的思想。[⑤]