XFree86
XFree86 is an implementation of the
X Window System. It was originally written for
Unix-like operating systems on
IBM PC compatibles and is now available for many other operating systems and platforms. It is
free and
open source software under the XFree86 License version 1.1. It is developed by the XFree86 Project, Inc.; the lead developer is
David Dawes. The current version is 4.7.0.For most of the 1990s and early 2000s, the project was the source of most innovation in X and was the
de facto steward of X development. Until early 2004, it was almost universal on
Linux and the
BSDs.In February 2004, with version 4.4.0, The XFree86 Project adopted a license change that the
Free Software Foundation considered
GPL incompatible. Most
Linux distributions found the potential legal issues unacceptable and made plans to move to a fork from before the license change. At first there were multiple forks, but the
X.Org fork soon became the dominant one. Most XFree86 developers who were already annoyed at other issues in the project also moved to X.Org.
Architecture
XFree86 consists of client
libraries used to write X applications ("clients"), and an X server responsible for the display. Clients and servers communicate via the X protocol, which allows them to run on different computers.The XFree86 server communicates with the host
operating system's
kernel to drive input and output devices, with the exception of
graphics cards. These are generally managed directly by XFree86, so it includes its own drivers for all graphic cards a user might have. Some cards are supported by vendors themselves via binary-only drivers.Since version 4.0, XFree86 has supported (some) accelerated 3D graphics cards via the
GLX and
DRI extensions.Because the server usually needs low level access to graphics hardware, on many configurations it needs to run as the
superuser, or a user with
UID 0. However, on some systems and configurations it is possible to run the server as a normal user.It is also possible to use XFree86 in a
framebuffer device, which in turn uses a kernel graphics card driver.On a typical
POSIX-system, the directory /etc/X11 includes the configuration files. The basic configuration file is /etc/X11/XF86Config (or XF86Config-4) that includes variables about the
screen (monitor),
keyboard and
graphics card. The program
xf86config is often used, although
xf86cfg also comes with the XFree86 server and is certainly friendlier. Many
Linux distributions used to include a configuration tool that was easier to use (such as
Debian's
debconf) or autodetected most (if not all) settings (
Red Hat Linux and
Fedora's
Anaconda,
SuSE's
YaST and
Mandrake Linux used to choose this path).
History
Early history and naming
The project began in 1992 when
David Wexelblat,
Glenn Lai,
David Dawes and
Jim Tsillas joined forces addressing bugs in the X11
X386 source code (written by
Thomas Roell), as contributed to X11R5. This version was initially called
X386 1.2E. As newer versions of the (originally freeware) X386 were being sold under a
proprietary software license by
SGCS (of which Roell was a partner), confusion existed between the projects. After discussion, the project was renamed XFree86, as a pun (compare X-three-eighty-six to X-free-eighty-six). Roell has continued to sell proprietary X servers, most recently under the name
Accelerated-X.
Rise with Linux
As
Linux grew in popularity, XFree86 rose with it, as the main X project with drivers for PC video cards.By the late 1990s, official X development was moribund
weblink. Most technical advancement was happening in the XFree86 project. In 1999, XFree86 was sponsored onto X.Org (the official industry consortium) by various hardware companies
weblink interested in its use with Linux and its status as the most popular version of X.
2003: dissent within the project
By 2003, while Linux's popularity, and hence the installed base of X, surged, X.Org was all but inactive
weblink and active development was largely carried out by XFree86. However, there was considerable dissent within XFree86. It was perceived as far too
cathedral-like in its development model: developers were unable to get
CVS commit access
weblink and vendors had to maintain extensive
patches
weblink. In March, long-term contributor
Keith Packard was ejected from the Core Team with considerable ill-feeling
weblink weblink weblink.The Core Team claimed that Keith had been trying to fork the XFree86 project by working inside the project while trying to attract core developers to a new X Server project of his own making. Packard denied this had been his aim.
Disbanding of the Core Team
XFree86 used to have a
Core Team which was made up of experienced developers, selected for their merits. Due to limited innovation capacity the XFree86 Core Team voted on
December 30,
2003 to disband itself, effective the following day.
2004: Licensing controversy
Versions of XFree86 up to and including some release candidates for 4.4.0 were under the
MIT License, a
permissive, non-
copyleft free software license. XFree86 4.4 was released in February 2004 with a change to the license: the addition of a credit clause
(1), similar to that in the original
BSD license(2), but broader in scope.Many projects relying on XFree86 found the new license unacceptable
(3), and the
Free Software Foundation considered it incompatible with the
GNU General Public License. The XFree86 Project contests this, maintaining that the license is compatible with the GPL
(4).Some projects made releases (notably
OpenBSD 3.5 and 3.6, and
Debian 3.1 "Sarge") based on XFree86 version 4.4 RC2, the last version under the old license. Most operating systems incorporating XFree86 (including later versions of OpenBSD and Debian) migrated to the
X.Org Server(5).
Forks of XFree86
X.Org
The
X.Org Server became the official
reference implementation of X11. The first version, X11R6.7.0, was a
fork from XFree86 version 4.4 RC2, with X11R6.6 changes merged in. Version X11R6.8 added many new extensions, drivers and fixes. It is not encumbered by the XFree86 license changes. It is hosted by and works closely with
freedesktop.org.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 moved to X.Org
weblink.
Release history
{| class="wikitable"
style="background:#ccf;"! Version! Release date! Most important changes
|X386 1.1|February 11, 1991|First version by Thomas Roell, based on X11R4.
|X386 1.2|August 29, 1991|Included with X11R5.
|X386 1.2e 0.0|May 7, 1992|First pre-XFree86 code by eventual team members.
|XFree86 1.0m|September 2, 1992|First version named "XFree86".
|XFree86 2.0|October 1993|
|XFree86 2.1|March 11, 1994|
|XFree86 2.1.1|May 4, 1994|Last version based on X11R5.
|XFree86 3.0|August 26, 1994|Release for X11R6.
|XFree86 3.1|September 29, 1994|
|XFree86 3.2|October 26, 1996|
|XFree86 3.2.1|1996|
|XFree86 3.3|30 May 1997|XFree86 Acceleration Architecture (XAA)
|XFree86 3.3.1|8 August 1997|
|XFree86 3.3.2|24 May 1998|
|XFree86 3.3.3|30 December 1998|
|XFree86 3.3.3.1|30 December 1998|
|XFree86 3.3.4|21 June 1999|
|XFree86 3.3.5|17 August 1999|
|XFree86 3.3.6|December 31, 1999|Last 3.x version.
|XFree86 4.0|March 8, 2000|Complete new architecture. X11R6.4 included.
|XFree86 4.0.1|June 30, 2000|XRender
|XFree86 4.0.2|December 18, 2000|
|XFree86 4.0.3|March 16, 2001|
|XFree86 4.0.4|2001|
|XFree86 4.1.0|June 2, 2001|
|XFree86 4.2.0|January 18, 2002|
|XFree86 4.2.1|September 3, 2002|
|XFree86 4.3.0|February 26, 2003|
|XFree86 4.4.0|February 29, 2004|First version under XFree86 License 1.1.
|XFree86 4.5.0|March 16, 2005|
|XFree86 4.6.0|May 10, 2006|
|XFree86 4.7.0|August 12, 2007|
|
See also
References
-
[WEB,weblink XFree86® Licenses, 2008-05-02, XFree86® Project, Inc., 2005-01-01, ]
-
[ WEB,weblink Announcement: Modification to the base XFree86 license, 2007-07-12, Dawes, David, 2004-01-29, XFree86 Project, ]
-
[ WEB,weblink XFree86 4.4: List of Rejecting Distributors Grows, 2007-07-12, 2004-02-18, Slashdot, ]
-
[ WEB,weblink XFree86 Licenses, 2007-07-12, 2005-01-01, XFree86 Project, ]
-
[ WEB,weblink The Cautionary Tale of XFree86, 2007-07-12, Wheeler, David A., 2007-07-06, ]
External links
{{XWinSys}}
XFree86XFree86XFree86XFree86XFree86XFree86XFree86XFree86XFree86XFree86XFree86XFree86XFree86
(...as imported from WP)
article has not been saved locally