Windowing in Open Source
There is a contraversy brewing in Open Source. You see, all windowing in FLOSS is provided by the XFree86 project, and always has been. Well, at least in unix-like FLOSS. Projects like Syllable, OpenBeOS, MenuetOS, and so on all have their own GUIs.
First, a little background. X was developed decades ago to provide a windowing environment for Unix. At the time, there were tons of Unix vendors, including Sun, HP, IBM, and others. They actually managed to realize that, if they all made their own, independent GUIs, this would be really bad for any third party developers. However, none of them wanted to allow any of the others to control X. Thus, the X Consortium was born, at x.org. It was a non-profit, and was controlled by the aggregate Unix vendors. It was supposed to define the standard specifications for X, and then any of the vendors could implement those, and the result would be that third party programs would run, with little effort on any X implementation. This worked fairly well. In addition, X.org maintained a reference implementation, so that all the specs could be proven to work.
Then, allong come IBM and Intel, with the PC, and the microcomputer revolution is on. People want to be able to run Unix with X on the PC, and with good reason. Look at how bad DOS was. At any rate, there basically wasn’t any viable Unix available for the PC, so the community decided to write their own. A lot went into this, including a lot of idealism, which I won’t get into here. Long and short, the XFree86 project was born. It was X, it was Free, and it ran on x86. All fine and good.
Fast forward to the end of last year. XFree86 has become the premire X implementation, and is portable to almost every computing platform found anywhere, from supercomputers to handhelds. Also, there’s grown to be friction among the various developers that control it. Then, out of the blue (for those of us not on the inside), X.org announces that it’s dumping it’s reference implementation, and XFree86 is now the reference implementation. In addition, X.org is becoming openly controlled, instead of being controlled by the (increasingly fewer) Unix vendors. This is a good thing, right?
Wrong. This either caused or was the result of a shakeup in the management of XFree86. Another side effect of this shakeup was that XFree86 is changing the license for it code. The old license was very similar to the BSD license, and basically said that you can do whatever you want with the code except claim you own it. Without getting into the detailed legalitites of the new license, it changes the license on binaries created from the code. The result, accourding to the Free Software Foundation (FSF), which maintains the GNU General Public License (GPL) (which is what Linux and Gnome and so on use), this new license is not longer compatible with the GPL. This means that code under the GPL can’t be mixed with code under the new XFree86 license, and vice versa.
Big problem. The old releases of XFree86, of course, are still under the old license. The most recent release was version 4.3. The next version, 4.4, is about to come out, but has the new license. Basically all the major Linux distributions have stated that they cannot ship XFree86 4.4 with their distros. In addition, OpenBSD, which is under the BSD license, has claimed this too.
Now, 4.4 has a lot of nice features that people want, including support for many newer graphics cards. This has caused a huge uproar in the FLOSS community, and in the Linux community in particular. What’s going to happen to GUIs on Unix in the future? As I see it, there are two possibilities. Either the Linux distros will get together and fork the 4.3 codebase and start developing their own X server, or they will jump to some other alternative, such as the FreeDesktop.org X server. We’ll see what happens.

Discussion Area - Leave a Comment