X11/政治历史指南
- 本节需要检查其正确性和细节。
X 有 10 个版本,对应着客户端和服务器之间 10 个版本的协议。然后出现了第 11 个版本,X11。这个版本进行了许多补充,并且至今仍在使用。
X11 规范和参考实现的控制权在几个组织之间传递:MIT X 联盟、X 联盟、开放组和 X.org。操作系统供应商(主要是 Unix 和 VMS)会采用参考实现,对其进行修改,为他们的操作系统添加一个 X 服务器,并为修改后的版本赋予一个非自由许可证。这些非自由版本部署在服务器和工作站上。
随着搭载廉价英特尔 386 处理器(在微软 DOS 和 Windows 的帮助下)的家庭电脑的普及,廉价或免费的 Unix 实现(Minix、Xenix、Linux、FreeBSD、NetBSD)也随之流行。因此,Thomas Roell 和 Snitily Graphics Consulting Service 创建了 X386 服务器,并将其捐赠给了 X11R5,即 X 版本 11 发布 5 的参考实现。从那里开始,XFree86 使用免费许可证生成了一个 X11 实现,因此其名称中包含 "Free"。最终,XFree86 添加了对 Alpha、PowerPC 和 SPARC 的移植。XFree86 扩展到多个免费和商业 Unix 变体,包括 Mac OS X 和 Cygwin。
与此同时,随着 X11 的普及,一些人开始为其编写软件,包括窗口管理器。参考实现中包含 "twm",一个简单的窗口管理器。一些人通过修改 twm 或从头开始编写了窗口管理器。许多这些窗口管理器,如 fvwm、afterstep 和 windowmaker,都使用免费许可证。这些是与 X11 或 XFree86 分开发布和维护的。一些 Linux 发行版提供了其中的一些。
参考实现还包含 Xt(X 工具包)框架和使用此工具包的 Xaw(Athena)部件。Xaw 使用的原始黑白按钮、滚动条和菜单无法满足 Macintosh 和 Windows 用户的需求。因此,一些人制作了 Xaw3d 之类的变体,并将其作为 X11 的补丁发布。其他人拒绝了 Xt,并制作了自己的部件,创建了 FOX、FLTK、GTK+ 和 Qt 等工具包。OpenOffice.org 仍然使用自己的部件。
开放组的 OS 供应商联合起来,创建了 Motif 窗口管理器和部件工具包。从那里,供应商创建了一个通用桌面环境。尽管 Motif 和 CDE 出现在几个商业 OS 发行版中,但它们使用的是非自由许可证,因此许多 Linux 和 *BSD 用户都避开了它。随着 Linux 和 XFree86 的发展,Motif 和 CDE 逐渐衰落。
基于 Qt 部件工具包的 K 桌面环境和基于 GTK+ 部件工具包的 GNU 网络对象模型环境,成为 Motif 和 CDE 的免费许可替代方案。GNOME 和 KDE 开发人员鼓励改进 XFree86,并通过 http://www.freedesktop.org 进行合作。最终,XFree86 和 freedesktop.org 取代了 x.org,用于 X11 的开发。
其他工具包和窗口管理器也注意到了 freedesktop.org,并继续与 GNOME 和 KDE 竞争。
开放组结束了对 X11 参考实现的免费许可。他们后来重新引入了免费许可,但大多数 X11 开发已经转移到 XFree86,XFree86 在很长一段时间内保持免费。
2004 年 2 月,XFree86 项目在 XFree86 4.4.0 中采用了从 MIT 许可到 XFree86 许可 1.1 的许可更改,该许可包含类似于原始 BSD 许可的署名条款,自由软件基金会认为它与 GPLv2 不兼容。
这种许可更改导致了 XFree86 核心开发者之间的争端,并促使大多数 Linux 发行版和 OpenBSD 放弃 XFree86,转而使用分支。最终,X.Org 服务器 成为 X11 的官方参考实现。X.Org 的第一个版本,X11R6.7.0,是从 XFree86 版本 4.4 RC2 分支出来的,以避免 XFree86 许可更改,并合并了 X11R6.6 的更改。
大多数开源类 Unix 操作系统已经采用了 X.Org 服务器来代替 XFree86,大多数 XFree86 开发人员已经迁移到 X.Org。
虽然存在众多桌面环境和窗口管理器的碎片化,但来自不同开发者和用户社区的 X 服务器和客户端可以很好地协同工作。X.Org 内部的开发工作稳定,桌面发行版之间使用 X.Org 的情况仍然很稳固。
桌面和窗口环境之间的碎片化并不一定是坏事,因为它允许用户有更多选择,并适应不同使用场景的不同需求。
在一些用例中,X 被 Wayland 取代,Wayland 用于 Sailfish 和 Tizen 移动操作系统以及 Hawaii 桌面环境。Wayland 在 GNOME、KWin(KDE)、Enlightenment 和 Mate 桌面环境以及 Fedora 发行版中也有初步支持。
- X 联盟手册页
- Xorg 手册页
- http://www.xfree86.org
- http://wiki.x.org