Guide to X11/Political History
- This section needs checking for correctness and details.
There were 10 versions of X, corresponding to 10 versions of the protocol between clients and server. Then came the eleventh version, X11. This version sustained many additions and continues in use today.
Control of the X11 spec and reference implementation passed between several organizations: MIT X Consortium, X Consortium, Open Group, and X.org. The OS vendors (mostly Unix and VMS) would take the reference implementation, modify it, add an X server for their OS, and give the modified version a non-free license. These non-free versions deployed themselves on servers and workstations.
As home computers with cheap Intel 386 processors (helped by Microsoft DOS and Windows) spread, so did cheap or free Unix implementations (Minix, Xenix, Linux, FreeBSD, NetBSD) for them. Thus Thomas Roell and Snitily Graphics Consulting Service created the X386 server and donated it to X11R5, that is X version 11 release 5 of the reference implementation. From there, XFree86 produced an X11 implementation with a free license, thus the "Free" in its name. Eventually, XFree86 added ports to Alpha, PowerPC, and SPARC. XFree86 spread to several free and commercial Unix variants including Mac OS X and Cygwin.
Window managers and widgets
Meanwhile, as X11 spread, several persons wrote software for it, including window managers. The reference implementation contained "twm", a simple window manager. Several persons wrote window managers either by modifying twm or starting from nothing. Many of these window managers, such as fvwm, afterstep, and windowmaker, had free licenses. These were distributed and maintained separately from X11 or XFree86. Some Linux distributions provided several of them.
The reference implementation also contained the Xt (X toolkit) framework and the Xaw (Athena) widgets using this toolkit. The primitive, black-and-white buttons, scroll bars, and menus used by Xaw dissatisfied Macintosh and Windows users. So some persons made variations like Xaw3d and distributed them as patches to X11. Others rejected Xt and made their own widgets, creating toolkits like FOX, FLTK, GTK+, and Qt. OpenOffice.org still uses its own widgets.
Motif and CDE
The OS vendors at the Open Group combined efforts and created the Motif window manager and widget toolkit. From there, the vendors made a Common Desktop Environment. Though Motif and CDE appeared in several commercial OS distributions, they had a non-free license, so many Linux and *BSD users avoided it. As Linux and XFree86 advanced, Motif and CDE waned.
GNOME and KDE
The K Desktop Environment, based on the Qt widget toolkit, and the GNU Network Object Module Environment, based on the GTK+ widget toolkit, became freely licensed alternatives to Motif and CDE. The GNOME and KDE developers encouraged improvements to XFree86 and also cooperated through http://www.freedesktop.org. Eventually, XFree86 and freedesktop.org displaced x.org for development of X11.
Other toolkits and window managers also took notice of freedesktop.org and continue to compete against GNOME and KDE.
License crisis and forking
The Open Group ended free licensing for the X11 reference implementation. They later reintroduced the free license, but most X11 development had already moved to XFree86, which remained free for an extended period of time.
In February 2004, The XFree86 Project adopted with XFree86 4.4.0 a license change from an MIT License to XFree86 License 1.1 which contained a credit clause similar to the original BSD license, which the Free Software Foundation considered incompatible with GPLv2.
This license change caused a dispute amongst core XFree86 developers and incentivised most Linux distributors and OpenBSD to abandon XFree86 in favor of a fork. Eventually, the X.Org Server became the official reference implementation of X11. The first version of X.Org, X11R6.7.0, was forked from XFree86 version 4.4 RC2 to avoid the XFree86 license changes, with X11R6.6 changes merged in.
Most of the open-source Unix-like operating systems have adopted the X.Org Server in place of XFree86, and most of the XFree86 developers have moved to X.Org.
While there is fragmentation out of a multitude of desktop environments and window managers, X servers and clients from different developer and user communities work well together. Development within X.Org is steady, and use of X.Org between desktop distributions remains firmly in place.
The fragmentation between desktop and windowing environments is not necessarily a bad thing, as this allows users more choice and adaptation to different usage scenarios with varying requirements.
In some use cases, X has been supplanted by Wayland, which is used in Sailfish and Tizen mobile operating systems and in the Hawaii desktop environment. Wayland also has preliminary support in GNOME, KWin (KDE), Enlightenment and Mate desktop environments, and the Fedora distro.