有句老话说,人人都抱怨天气,但没人为此做些什么。在糟糕的软件专利造成的危害方面,开源社区一直积极表达愤慨之声。因此,值得关注的是,当一位领先的专利法学者提出软件专利问题的潜在解决方案时,正如马克·莱姆利最近在一篇题为“软件专利与功能性权利要求的回归”的新论文中所做的那样。
广义而言,功能性权利要求指的是撰写专利权利要求,涵盖发明所实现的更广泛的功能,而不是撰写针对发明人开发或构思的具体实施例的权利要求。换句话说,功能性权利要求不是树立一个直接指向发明的路标,而是类似于建造一道宽阔的围墙来包围发明,试图尽可能多地声明领地。莱姆利给我们举了莱特兄弟的生动例子,来说明功能性权利要求如何运作以及它可能导致的问题。
正如莱姆利详细描述的那样,莱特兄弟发明了一种改进飞行器的特殊方法:他们想出了一种扭曲机翼来控制飞行方向,同时转动后舵来平衡机翼弯曲效果的方法。简而言之,他们通过用一根缆绳同时扭曲机翼和转动方向舵,解决了飞机保持稳定性的问题。然而,莱姆利指出,他们的专利是用功能语言撰写的,声称“用于同时将[机翼的]横向部分移动到不同角度关系的装置”和“使所述方向舵呈现给风侧的装置……具有较小入射角的装置”。
一位名叫格伦·柯蒂斯的人改进了机翼设计,使用了副翼,副翼可以由飞行员独立于方向舵移动。与莱特兄弟的设计不同,副翼和机翼没有连接。尽管存在这种不小的差异,但莱特兄弟还是成功地对柯蒂斯和其他人主张了他们的专利,尽管许多替代飞机已经超越了莱特兄弟的技术成就。莱姆利观察到,直到政府后来强迫莱特兄弟许可他们的专利,飞机创新才真正“起飞”。
那么,飞机与当前的软件专利问题有什么关系呢?
嗯,首先,再讲一点历史。最高法院最终对功能性权利要求的广泛使用做出了回应,并在 Halliburton Oil Well Cementing Co. v. Walker 329 U.S. 1 (1946) 案中有效地将这种做法排除在外。《1952 年专利法》邀请功能性权利要求重回桌面,但受到第 112(f) 条规定的限制,该条将执行特定功能的装置限制为说明书中描述的相应“结构、材料或行为及其等同物”。换句话说,如果您使用功能性权利要求语言,那么该权利要求将被狭义地解释为仅涵盖您在专利申请中描述的用于执行功能的特定示例(及其法律等同物)。
由于结构和功能在计算机中几乎可以完全分离,因此软件专利权人可以利用第 112(f) 条来规避其施加的正常约束。莱姆利很好地解释了这个概念
“计算机软件发明的硬件‘结构’……是一台计算机。一般来说,程序在什么类型的计算机上运行并不重要。这一事实为专利权人提供了一个机会,让他们撰写‘结构性’权利要求,其中结构不是新颖的,也不起任何作用。声称‘用于计算警报限值的装置’的专利权人正在援引第 112(f) 条的限制,因此,权利要求将相应地限制为专利权人在说明书中描述的特定软件算法或实现方式。但是,如果专利权人声称‘一台被编程为计算警报限值的计算机’,那么今天的法院会将术语‘计算机’视为充分的结构,并将权利要求理解为涵盖任何可以计算警报限值的计算机,无论计算是如何编程的。”
莱姆利认为,简单地通过司法解释来弥合关于软件权利要求的第 112(f) 条漏洞,将解决上述软件专利的大部分问题。他的论点依赖于几个关键的观察结果。首先,法规通常是前瞻性运作的,而对现有法规的新司法解释通常是追溯性的。因此,对 112(f) 条的新解释将适用于成千上万的现有软件专利,而不仅仅是未来的专利。其次,第 112(f) 条的等同物不适用于后来开发的结构,而仅适用于专利颁发时已知的等同物。莱姆利观察到,由于软件变化如此之快,如今大多数诉讼软件专利都是针对专利申请时不存在的技术主张的。他继续说,“[这]对于专利流氓尤其如此,他们倾向于在专利寿命的最后几年主张权利。一旦这些专利被理解为援引第 112(f) 条,它们的字面范围将仅限于专利权人实际设计的技术以及专利颁发时已知的等同物。”
因此,总而言之,莱姆利预计,实现他的提案将对几乎所有软件专利的权利要求范围产生有意义的改变。瞧。就这么简单。
莱姆利提案的明显优势在于,与其他经常宣传的解决方案(例如通过法规废除软件专利或通过加强 PTO 的审查来淘汰不良专利)相比,它可能更容易实现和在实践中应用。如上所述,另一个潜在的优势是对专利流氓的潜在负面影响。
莱姆利对将软件专利视为功能限定权利要求会不公平地损害专利权人的担忧提出了预先反驳。特别是,担忧在于将软件权利要求限制为一台特定机器上的一个特定算法或实现方式,会不公平地限制专利范围,从而允许其他公司在避免侵权的同时实施等效技术。他的辩护似乎取决于为专利权人开发的技术定义“适当的抽象级别”的能力。
对我而言,这种回应似乎不足以令人满意,因为软件与副翼、管钳或割草机刀片不同,它本身就是一种固有的抽象。换句话说,许多软件创新中的关键驱动因素之一是渴望抽象设计、特征或功能,以提高可扩展性和/或可管理性。因此,如果软件开发人员做出的新颖且非显而易见的贡献是抽象本身(体现在计算机中),那么专利审查员或法院如何确定“适当的抽象级别”?
虽然我还没有时间自己考虑答案,但我怀疑答案可能会给莱姆利原本直截了当的提案增加一些复杂性。也许我们无法改变天气,但开源社区肯定可以成为软件专利解决方案的一部分。
34 条评论