微软反垄断审判与自由软件

随着微软反垄断审判接近尾声,如果微软败诉,应该要求微软做什么的问题摆在了眼前。拉尔夫·纳德甚至正在组织一个关于这个问题的会议(见appraising-microsoft.org)。[这是在1999年3月写的]

显而易见的答案——限制微软与计算机制造商之间的合同,或者拆分公司——不会产生关键性的差异。前者可能会鼓励预装 GNU/Linux 系统的计算机的普及,但这无论如何都会发生。后者主要会帮助其他专有应用程序开发商参与竞争,这只会为用户提供其他放弃自由的方式。

因此,我提出三项补救措施,这些措施将有助于使像 GNU/Linux 这样的自由软件操作系统在技术上具有竞争力,同时尊重用户的自由。这三项补救措施直接解决了自由操作系统开发,以及使其具有运行为 Windows 编写的程序的能力的三个最大障碍。它们还直接解决了微软在“万圣节文件”中表示将用来阻碍自由软件的方法。同时使用所有这三项补救措施将是最有效的。

  1. 要求微软发布所有软件组件之间所有接口、所有通信协议和所有文件格式的完整文档。这将阻止微软最喜欢的策略之一:秘密且不兼容的接口。

    为了使这项要求真正奏效,不应允许微软使用与某些其他组织的保密协议来为实施秘密接口开脱。规则必须是:如果他们无法发布接口,他们就不能发布接口的实现。

    但是,允许微软在发布接口规范之前开始实施接口是可以接受的,前提是他们同时发布规范和实现。

    执行此要求并不困难。如果其他软件开发人员抱怨发布的文档未能描述接口的某些方面,或如何完成某项工作,法院将指示微软回答有关此方面的问题。任何有关接口(与实现技术不同)的问题都必须回答。

    类似的条款包含在 1984 年 IBM 与欧洲共同体之间达成的一项协议中,该协议解决了另一起反垄断纠纷。请参阅 www.cptech.org

  2. 要求微软仅在软件领域将其专利用于防御。(如果他们恰巧拥有适用于其他领域的专利,则可以将这些其他领域包括在此要求中,也可以将其豁免。)这将阻止微软在万圣节文件中提到的另一种策略:使用专利来阻止自由软件的开发。

    我们应该让微软选择使用自卫或相互防御。自卫是指免费与任何希望这样做的公司交叉许可所有专利。相互防御是指将所有专利许可给任何人都可加入的专利池,即使是没有自己专利的人也可以加入。专利池将所有成员的专利许可给所有成员。

    解决专利问题至关重要,因为如果微软设法在其中(或其提供的功能)加入一些获得专利的漏洞,以至于我们其余的人都无法实施它,那么微软发布接口也无济于事。

  3. 要求微软不要认证任何与微软软件配合使用的硬件,除非该硬件的完整规范已经发布,以便任何程序员都可以实现软件来支持相同的硬件。

    秘密的硬件规范通常不是微软造成的,但它们是自由操作系统开发的重要障碍,这些自由操作系统可以为 Windows 提供竞争。消除这一障碍将大有帮助。如果与微软达成了和解协议,包括此类条款并非不可能——这将是谈判的问题。

今年四月,微软的鲍尔默宣布了一项可能发布 Windows 某些部分源代码的计划。目前尚不清楚这是否意味着使其成为自由软件,或者它可能是 Windows 的哪个部分。但是,如果微软确实将 Windows 的某些重要部分设为自由软件,则可以解决这些部分的问题。(如果相关软件可用于运行其他专有微软软件以外的目的,则也可能对自由软件社区有所贡献。)

但是,拥有 Windows 的一部分作为自由软件的使用权不如允许实施所有部分重要。以上提出的补救措施才是我们真正需要的。它们将为我们开发真正优于微软 Windows 的替代方案扫清道路,无论微软在哪个领域没有将 Windows 设置为自由软件。