2008年10月30日,美国联邦巡回上诉法院于关于Bilski,它处理了一个对软件专利的严重打击基本上消除了商业方法专利 总之,尽管如果业务流程使用新的、不明显的和有形的计算机系统,仍有获得专利的空间,但保护必须集中在使用总体架构的有形计算机系统上,而不是过程。我写了很多关于联邦巡回法院的决定,以及它的智慧,或缺乏智慧。我欠了大约一个月的债格罗克劳对一些关于我的观点和信仰的深思熟虑的评论的回应,所以事不宜迟,我会尽力解释我的想法和我希望看到的进展。这将需要一系列帖子,因此此帖子将作为第1部分。
我曾说过计算机软件与数学不一样,我受到了很多批评,我简直无法摆脱这一点。然而,当我阅读了Groklaw收到的评论后,我不确定我的批评者和我在这个立场上是否有人会相信的那么大的分歧。丹尼尔·贝林森(Daniel Berinson)发表了一个特别有帮助的评论,他拥有物理学博士学位和电气工程学位,但同时也是一名程序员。丹尼尔引用论数学与程序设计的相互作用作者:E.W.Dijkstra。以下是Dijkstra的几句话:
- “为了使论点易于管理,我们需要格外小心:我们可以总结一下,在编程中,数学优雅并不是一种可有可无的奢侈,而是一个生死攸关的问题。”
- 程序员将数学技术应用于一个具有前所未有的复杂性潜力的环境中;这种情况使他在方法上非常、非常清楚自己采取的步骤、引入的符号等
- “他比普通数学家更关心这个论点的有效性,比普通数学者更关心他论点的数学优雅。”
我同意所有这些,不认为Dijkstra所说的与我所说的或我所相信的相矛盾。我认为我和批评者之间的分歧很大程度上是由于专利法看待数学的方式,这显然与许多计算机程序员看待数学的方法大不相同。
不可能辩称软件代码不受数学影响,因为它确实如此。我认为Dijkstra关于“程序员应用数学技术”的解释是完全正确的。尽管如此,事实上,使用数学技术并不意味着软件就是数学。根据美国专利法,你不能获得涵盖数学方程式或自然法则的专利。你当然可以用数学方程和自然法则作为构建块,来创造一些新的、不明显的、可以申请专利的东西。因此,即使软件使用数学方程式,也不会禁止根据真实和正确的美国专利法授予软件专利。
定义在发明中使用数学方程式的能力的主要例子是美国最高法院在钻石诉迪尔发明人声称在橡胶制品生产过程中操作成型机的方法。发明人声称,他们的方法确保了物品在印刷机中保留适当的时间。专利审查员驳回了这些专利要求,因为他们认为该专利要求引用了一个数学方程式。专利局的上诉委员会确认了审查员的意见,但随后海关和专利上诉法院(联邦巡回法院的前身)裁定,这些索赔并非针对数学算法,而是针对改进的橡胶制品成型工艺。最高法院同意CCPA的意见,并裁定这些主张并非试图为数学公式申请专利,而是涵盖了使用数学公式的工业过程。因此,在橡胶固化过程的监测阶段,数学计算正在进行,这并不意味着数学方程被从公共领域删除。其他人可以使用数学方程和计算,而不是作为受保护的工业过程的一部分,从而得到正确成型和固化的橡胶。现在,最高法院在Diamond v.Diehr一案中的裁决可能会冒犯一些人,但这一裁决已经确立,并且符合美国专利法,因此,对于法律讨论来说,这需要作为起点。
回到一般的软件问题上,计算机程序员使用的逻辑当然是数学性质的,但这与说程序员创建的代码是数学算法大不相同。现在我在这里泛泛而谈,但我试图解决的是,是否所有计算机软件都应被视为不可专利的主题。我认为完全没有理由认为所有软件都是不可专利的主题,因为说软件代码等同于数学方程式或数学算法是完全不正确的。使用相同的逻辑结构当然是明智的,并且符合编程的最佳实践标准,但在核心计算机软件的指导下。代码是以数学逻辑为基础编写的一系列指令。在专利领域,这并不意味着也不意味着软件专利等同于数学专利。这仅仅意味着指令是用受数学影响很大的语言和格式编写的。
在我继续之前,重要的是也许要陈述显而易见的事实。应该考虑软件这一事实可授予专利的客体想像力丝毫没有得出软件应该获得专利的结论。不幸的是,专利法不必要地混淆了一个复杂的问题,即一项发明是否应该通过拥有结论(即专利)和五项专利性要求(即可申请专利的主题)对不同的概念使用令人困惑的相似标签。一项发明是可申请专利的标的物这一事实仅意味着,如果该发明有用、新颖、不明显,并且描述得足够具体,能够满足美国专利法律和规则的要求,那么该发明就有可能获得专利。因此,可申请专利的主题调查是一个门槛调查,而不是专利将要或应该发布的结论。
不可否认,程序员使用的逻辑与数学家使用的逻辑相似。得出结论,使用相同或相似的逻辑意味着软件代码是数学的,这是一大步。数学对程序员的影响在很大程度上甚至可能仅仅与工作流有关。数学教我们如何通过以可预测和可追踪的方式解决问题的步骤来管理问题。通过采用相同类型的深思熟虑、循序渐进的方法来编写代码,程序员可以管理代码的编写片段,并将所有内容结合在一起,形成一个整体结构,从而提供所需的功能。众所周知,第一次尝试失败的概率几乎是100%,所以数学影响最有用的地方是在调试过程中。通过遵循从数学中学习的规则和过程,调试过程变得易于管理。
我无法理解为什么利用从数学中学到的经验教训会、可能或应该使软件无法获得专利。如果你把这种逻辑发挥到极致,你就绝对没有任何东西是可以申请专利的,我怀疑这是一些人的目标,但肯定不是所有人的目标。同样,不可否认的是,数学是几乎一切事物的支柱。事实上,一切都可以用数学模型来解释。如果你把数学和物理结合起来,几乎没有任何机械、电气或化学现象是无法用描述性的方式解释的。那么,这是否意味着机械、电气和化学发明不应该申请专利?
同样,我们知道实验室中有已知的调查和研究过程。实验的进行和记忆是通过使用计算机程序员使用的相同的数学逻辑。为了使发现可信,它必须是可复制的,因此需要对控制、环境和过程进行定义,以便其他人可以参与相同的过程来验证结果。这个过程也是非常机械的,在很大程度上受数学逻辑和过程的影响。那么,这是否意味着任何创造科学过程的东西都不应该获得专利,因为所使用的逻辑是数学的逻辑?
数学是科学的脊梁和发明的脊梁。如果我们愿意说,与计算机相关的过程是不可申请专利的,因为它们采用了数学结构和逻辑,那么这条界线在哪里?在专利背景下,我们不能也不关心发明人用于实现发明的基本信息和逻辑。如果我们这样做了,那么绝对不会有任何东西获得专利,因为可以创建的一切都是以前存在的元素和步骤的组合。相反,我们关注的是科学成果。输出是否足够新且不明显,值得申请专利?
我倾向于认为,软件所呈现的真正问题不是它是否应该获得专利,而是与授予专利相关的专利术语。无论出于何种意图和目的,美国专利都可以从专利申请的原始提交日期起持续20年,尽管我们知道,大多数专利不会持续那么长时间,因为它们由于未能支付维护费而更早进入公共领域。然而,对于一项可能有效使用寿命为2年的发明来说,20年是很长的一段时间。除此之外,在计算机技术领域,您平均要等待30.8个月才能收到专利局对您的申请的任何实质性答复,平均要等待42.4个月才能最终解决申请。这是一个令人无法接受的漫长等待,20年是一个无法接受的长时间给予保护。在我看来,我们需要停止关注软件是否应该获得专利,并决定让它一劳永逸地获得专利。与此同时,我们需要想办法将发明人等待的时间缩短到可接受的长度,并放弃一刀切的专利条款。如果我们真的想按照宪法的目的造福社会,我们需要鼓励而不是阻止提交专利申请,并在合理但有限的时间内承认权利。将计算机相关的应用程序在专利局搁置3.5年对任何人都没有好处,而承认一项最多有5年生命周期的技术拥有20年的权利对社会也没有好处。
关于作者
|
|
尤金·奎因。
IPWatchdog,Inc.总裁兼创始人。 美国专利代理人(注册号44294)
罗格斯大学电气工程学士 富兰克林·皮尔斯法律中心法学博士 富兰克林·皮尔斯法律中心知识产权法学硕士给我发送电子邮件
|
Gene是美国专利律师、法律教授和IPWatchdog.com网站.他教书专利律师审查课程是联合发明家协会董事会成员。《华尔街日报》、《纽约时报》、《洛杉矶时报》、美国有线电视新闻网《财经》以及世界各地的各种其他报纸和杂志都引用了吉恩的话。