微软反垄断审判与自由软件
随着微软反垄断审判接近尾声,如果微软败诉,应该对其提出什么要求的问题变得至关重要。Ralph Nader 甚至在 [1999年3月撰写此文时] 正在组织一场关于这个问题的会议(参看 appraising-microsoft.org)。
明显的答案——限制微软和计算机制造商之间的合同,或者拆分微软——都不会有重要的区别。前者也许会促进预安装 GNU/Linux 系统的电脑面世,不过这已经在发生了。后者可能主要帮助其他专有应用开发者竞争,这只是让用户多了失去自由的其他选项。
因此,我提出三个补救措施,它们应该会有助于让 GNU/Linux 这样的 自由软件 操作系统在技术竞争的同时尊重用户自由。这三个措施直接针对自由操作系统开发的三个最大的障碍,并给予自由操作系统运行 Windows 程序的能力。这些方案还直接针对微软曾(在其 “万圣节文件” 中)论及的要对自由软件采取的阻挠措施。这三个补救措施一起使用应当会最有效。
- 要求微软公开关于所有软件组件间接口的、所有通信协议的、以及所有文件格式的完整文档。这招会阻止微软最爱用的伎俩:秘密而且不兼容的接口。
为了使这一要求真正落实到位,不能允许微软和其他组织使用保密协议来实施秘密接口的开发。规则必须是:如果他们不公开接口,那么他们就不能发布具体的实现。
不过,微软可以在公开接口规格之前开始接口的具体实现,只要他们同时发布文档和实现。
这一要求的执行并不困难。如果其他软件开发商投诉已发布的文档未能充分描述接口的某些方面,或未说明如何完成某项操作,法院将责令微软就这些问题作出解答。所有关于接口(与实现技术相区别)的疑问都必须得到回应。
类似的条款曾出现在1984年 IBM 与欧洲共同体达成的协议中,该协议解决了另一场反垄断纠纷。请参看 www.cptech.org。
- 要求微软仅能在软件领域将其专利用于防御目的。(若其专利涉及其他领域,可选择性纳入该要求或予以豁免。)这将阻断微软在"万圣节文件"中提到的另一策略:利用专利阻碍自由软件开发。
我们应允许微软在"自主防御"或"联合防御"模式中任选其一。自主防御:微软需承诺与任何自愿者免费交叉许可所有专利。联合防御:微软将专利许可给共享专利池,任何人都可加入该专利池——即使非专利持有者也可以加入。该专利池向所有成员许可全部成员的专利。
必须解决专利问题,这一点至关重要。因为如果微软在公开的接口中(或通过该接口访问的功能中)设置了某些专利限制,导致我们其他人无法实现该接口,那么公开接口就毫无意义。
- 要求微软不得对任何硬件进行"兼容微软软件"认证,除非该硬件的完整规格已公开发布,以确保所有程序员都能开发支持该硬件的软件。
硬件规格保密通常并非微软所为,但这确实严重阻碍了可与 Windows 竞争的自由操作系统的发展。消除这一障碍将大有裨益。若与微软达成和解协议,纳入此类条款并非不可能——这完全取决于谈判结果。
今年四月,微软 CEO 鲍尔默宣布可能计划公开 Windows 部分组件的源代码。目前尚不清楚这是否意味着将其转为自由软件,也不确定涉及 Windows 的哪些部分。但若微软确实将 Windows 某些重要组件转为自由软件,就能解决这些组件相关的问题。(如果相关代码不仅能用于运行微软其他专有软件,还可用于其他用途,这也可能成为对自由软件社区的一项贡献。)
然而,获准 实现 Windows 所有组件的自由开发权,远比仅仅获得其中部分组件的自由使用权更为关键。上述提议的补救措施才是我们真正所需。它们将为开发真正优于微软 Windows 的替代系统扫清道路,特别是在微软未使之成为自由软件的那些 Windows 功能领域。