案例库 · 软件与 IT · 技术决策 · 1984–1988
X11 将协议与厂商分离,成为 Unix GUI 标准
MIT 的 X Window 系统(1984 年,X11 在 1987 年)将显示器变为网络透明的客户端-服务器协议,并免费提供代码,因此每个 Unix 厂商都采用它。
MIT · DEC · X.Org 基金会
解法
1984 年,MIT 的雅典娜计划面临一堆不兼容的厂商工作站,需要一个图形网络用于教学。答案是 X:一个窗口系统,其客户端-服务器协议运行在网络上,让程序可以在任何机器上显示——第一个真正硬件和厂商无关的窗口环境。
关键的设计选择是将显示协议与实现分离,然后免费提供实现。1987 年发布的 X11 带有明确允许任何用途的许可证;Jim Gettys 后来回忆说,许可问题“变得足够麻烦”,他们主张免费提供——由于 IBM 不会碰公共领域代码,MIT 的律师改写了宽松的许可证文本。
结果是人人采用。到 1990 年代初,大多数 Unix 厂商将 X 作为其标准窗口系统,并成立了 X 联盟来开发它;X.Org 至今仍提供开源实现。一个协议,多个厂商,零许可费用。
生效的原因
- 网络透明意味着一个程序可以为任何厂商的显示器服务。
- 宽松的许可允许竞争对手实现它,而无需共享他们的代码。
- MIT 的中立性使标准不属于任何人,所以每个人都采用它。
- 借助 TCP/IP,现有网络无需新基础设施。
取得的成效将显示器做成网络协议,然后免费提供利落
可借鉴之处
将标准与任何厂商的硬件解耦,以任何人都能使用的许可证发布,网络效应会替你完成采用。
后续进展
X11 运行 Unix 桌面超过二十年——先由 X 联盟管理,后由 X.Org 管理——其客户端-服务器模型影响了后来的显示系统。它凝结的许可证成为世界上使用最广泛的软件许可证之一,X.Org 仍然是参考实现。
资料来源
- X.Org Wiki — An open source implementation of the X Window System
- The mysterious history of the MIT License
发现哪里写错了?告诉我们。