First and foremost, X is a protocol, not a piece of
software. The
*reference implementation* of that protocol, and that's ALL it is, is
available for free, and it compiles and runs on many different
platforms, notably Sun and DEC workstations.
I think it's a sample implementation, not a reference implementation.
It certainly used to be. (This is an important difference. With a
reference implementation, the implementation _is_ the spec, by
definition. With a sample implementation, the spec is something else.)
Eventually, most of the free UNIX implementations
started to narrow
their focus to x86, even the still-very-cross-platform ones like
NetBSD. They switched most of their ports over to XFree86 some time
ago, when it became flexible enough to support other hardware, and
that's where most of the development was focused. This wasn't all
that long ago.
This brought its own forms of madness, like X servers that do their own
bus enumeration, even in cases like NetBSD/sparc where there is
absolutely no excuse for it...meaning, eg, that they have to run as
root even when the user starting them owns the framebuffer, keyboard,
and mouse devices.
There's a reason I use the X11R6.4 sample server on machines where I'm
not saddled with peecee-style video-card hell.
And then Xorg came along to muddy the waters further....
> You pretty much only get the GNU userland on Linux
and you pretty
> much only get Linux underneath the GNU userland.
To the extent that this is true (and, as Dave points out, "the GNU
userland" is not an indivisible blob of everything), it's only beacuse
that's what people care to bother doing. A Linux friend of mine tells
me there is, or at least was, a Linux distro that had an almost
entirely BSD userland on top of the Linux kernel - about as much GNU
code in userland as NetBSD, say, has. I've also heard of Linux
userlands[%] running under BSD kernels.)
[%] To the extent that such a thing exists - and, no, I do not mean
"GNU userlands". I mean, approximately, "a userland a Linux distro
might/could/does come with", which typically includes a good deal
of non-GNU code.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at
rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B