首页 » Go语言程序设计 » Go语言程序设计全文在线阅读

《Go语言程序设计》附录B 软件专利的危害

关灯直达底部

专利是资本主义经济中的一种反常现象,因为他们是国家授予的私营垄断。亚当·斯密在他的《国富论》一书中对垄断进行了强烈的谴责。

专利在近现代受到各种商业组织的大范围支持,小到真空吸尘器制造商,大到到制药业巨头。但是谈到软件专利,我们却很难找到到底谁在支持它们,除了那些专利投机者(指那些专门购买或者租赁专利的公司,他们自身从来不创造新东西)和它们的律师。比尔·盖茨曾在1991年说过:“如果在今天的大部分想法被发明的时代人们就已经知道如何进行专利授权,并且申请了相关的专利,那么今天这个行业将处于完全停滞的状态。”当然,他的这个观点今天再听起来有几分微妙。

软件专利影响了每一个生产软件的商业组织,不管生产的软件是用于出售的还是内部使用的。甚至很多非软件行业巨头(像卡夫食品和福特汽车)都不得不花费大笔金钱来对抗软件专利诉讼。但是每个程序员都面临这样的风险。例如,链表也是有专利的,但这个专利并不属于它的发明者Allen Newell、Cliff Shaw和Herbert Simon,尽管这几个人在1955年左右就提出了这个观点,但是50年后却成了别人的专利。skip-list也是同样的情况,由William Pugh在1990发明,却被别人于10年后申请了专利。遗憾的是,有成千上万的软件专利可以用来作为例子,不过这里我们就只再多举一个例子,“一种触发计算机对计算机数据中发现的数据结构进行检测和响应的系统和方法”(A system and method causes a computer to detect and perform actions on structures identified in computer data),这个苹果于1999年获得的专利涵盖了所有处理数据结构的软件(www.google.com/patents? id=aFEWAAAAEBAJ&dq=5,946,647)。

我们很容易认为那些范围过广、内容太过泛泛或无法度量的专利应该会比较容易被判断为无效,但实际上,即使是Google这样的巨头也需要花费上百万美金的律师费来保护他们自己。那些初创公司以及中小企业又如何能做到在提供创新软件的同时不被那些像寄生虫一样活着的专利投机者一次又一次地勒索?

在美国以及其他的国家,专利系统大致都是这么运作的。首先,要记住一点,无论当事人是否知道某个专利的存在,该专利都在起作用。而且侵权专利有可能导致天价罚款。现在假设有一个程序员正在完全独立地开发一个闭源软件,设计了一个智能算法来做一些事情。这时有个专利投机者听到小道消息说这个程序员的公司拥有一个可能赚钱的创新。于是,这个专利投机者弄出一个针对该程序员的禁令,宣称说他侵犯了他们的某项泛泛而谈的专利(如上面刚提过的那项苹果专利)。于是,你必须提交你的源码以供独立分析。自然,这个分析将不会仅仅包含引用的专利,而是该专利投机者所拥有的所有专利。这样专利投机者就能完全看到这个程序员所开发的那个智能算法了,他们甚至会考虑自己为这个算法申请一个专利,毕竟他们有足够的钱用于律师费的开销,而钱恰是中小企业所缺的。当然,这些专利投机者不是真的想上法庭,他们的“商业模式”不过是“敲诈勒索”罢了:他们希望这个开发者继续出售他们的产品,并为他们那个宣称被侵犯的某专利支付许可费用。不过,因为绝大部分的专利都无法强制执行,从而无法让专利投机者得到真正的好处,但法庭争斗将导致这些中小企业的大多数破产,因此通常只能以这些中小企业同意支付专利授权费用而告终。而一旦这些企业继续支付许可费用,专利投机者就可以用这个变得更长的专利授权列表来敲诈下一个受害者。

大公司有能力购买专利并与这些专利投机者对抗,不过他们也没有必要对这些受害的中小企业表现出多少同情,因为这些中小企业可能会成为潜在的竞争对手,所以这些中小企业大部分都不怎么受关注。包括开源公司Red Hat在内,一些公司会申请多项专利以作为防御措施,他们可以通过使用专利的相互许可协议来最小化法律费用。但对于像苹果、谷歌和微软这样已经花费数十亿美元构建专利组合的巨头而言,这种做法有多少效果就不得而知了。这些已经花巨资在专利上的巨头不太可能期望这种专利制度被终止(无论这种制度的破坏性有多大),因为制度的终止将导致他们大幅度的账面减记,这对于公司股东和CEO 们都是不可接受的,因为CEO们能得到多少报酬完全取决于公司的股价。

中小企业和独立创新者通常没有足够的资金来抵御专利投机者的勒索。一小部分人会尝试转移到海外,而绝大部分将要么不得不支付大笔费用来抵制这种勒索(或者中途倒闭),要么乖乖为那些没什么价值的专利支付授权费用。软件专利已经对美国的独立创新者和中小企业进行的软件创新事业造成了一定程度的寒冬效应,让这些商业组织的成本变得更高昂,日子过得更艰难,因此也降低了他们为程序员创造更多工作岗位的能力。当然,很多律师从软件专利里得到了不少好处,仅2008年就达到了112亿美元,尽管专业经济学家似乎也无法从软件专利中计算出哪怕一分钱的经济利益。

其他国家的软件开发者也没好到哪里去,有些公司为了避免专利勒索已经不得不将自己的软件从美国市场撤出。这意味着一些创新软件在美国不再可用,从而可能为一些非美国商业组织带去一些竞争优势。不仅如此,ACTA(Anti-Counterfeiting Trade Agreement,防伪贸易协定)覆盖了所有类型的专利,这个协定正在被全世界包括欧盟在内逐步接受,但是在我写这本书时还未包括巴西、中国和俄罗斯。此外,欧洲自己的“欧盟专利”(www.unitary-patent.eu)组织很有可能会在整个欧盟范围内实行美国风格的专利制度。

软件是一种受版权严格保护的知识产权。(例如,比尔·盖茨曾经完全靠软件版权成为世界上最富有的人,在软件专利这种恶性创意出现之前就已经做到。)撇开软件版权的成功之处,美国和其他的国家已经开始(或者已经被国际贸易协定强制规定)将软件纳入了它们的专利制度范畴。让我们来想象一下,如果所有这些没什么价值的专利(如范围过广、内容泛泛或是先前技术的专利)忽然消失了会怎么样呢?这必然会大量减少专利勒索并刺激创新。但那个关键疑问依然存在:软件真的需要专利化吗?

包括美国在内的大部分国家不可能会申请与数学公式相关的专利,无论这些公式的新旧。然而,数学公式代表的是想法(也就是专利要“保护”的对象),如我们从“邱奇-图灵论题”中所知,软件的逻辑都可以简化成一个数学公式,所以软件可以归结为数学的一种特定表现形式。这恰恰是Donald Knuth反对软件专利时的论点。(请查阅Knuth教授写的一封简明扼要的信,见www.progfree.org/Patents/knuth-to-pto.txt。)

这个问题也不是不可解决,不过需要立法禁止任何人申请软件专利(或者将软件归类成数学这个不准申请专利的类别,其实我一直认为软件就是数学),而且还需要搞定专利局(专利局会希望专利越多越好,因为他们的收入通常跟专利的数量而非价值成正比)。但这比较困难,因为获取政客的关注需要付出不小的代价,而且那些有能力购买专利的家伙当然也有能力反向游说政客。而且这个主题非常枯燥且行业相关,对那些政客的政治生涯没有太多好处。但真的有很多人在同时游说两个党派以改变现状。你可以从 endsoftpatents.org(在欧洲是www.nosoftwarepatents.com)了解更多为什么软件专利具有那么大的灾难性,以及如何打败它们。