[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Book on Xwindow



On Fri, Mar 12, 1999 at 01:42:48PM -0000, Shawn Nguyen wrote:
> 	Does anyone know a good book for Xwindow?  I looked up O'reilly and
> 	they seems to have two of them.  One for MIT version and one for
> 	Motif.  I have no idea which one I should get so if anyone can
> 	recommend a book I would appreciate it.  And also, if you could
> 	clarify about that MIT and Motif situation.  Thanks.

The books you saw are called _X Window System User's Guide_.  There is an
Athena edition and a Motif edition.

For use with Debian, either is appropriate if you keep in mind that our
version of Motif is a source-compatible re-implementation called Lesstif.
Lesstif does not work 100% like Motif, but it tries, and is improving all
the time.  Many Motif applications work just fine with Lesstif.

The O'Reilly series of books on X are fairly good, but I have a few gripes:

1) They're out of date.  They haven't been substantially revised since
at least 1993.  When X11R6 came out, they put out a perfunctory book
describing some of the changes at the programming level.  I've heard there
was some kind of political fight (maybe with the Open Group, maybe internal
to O'Reilly) that caused this.  Fortunately, from the user's perspective
there is almost no difference between X11R5 and X11R6.  The most important
things to know have to do with the X server, and those are documented in in
Debian by the XFree86 Project.

2) They make the books look much more impressive than they really are by
reprinting the hundreds and hundreds of man pages.  This might be
acceptable if the books were kept up to date, but since they're not, this
is just an inexcusable source of bulk, and excuse to keep the price high.

3) There's the O'Reilly parasitism factor.  O'Reilly should have licensed
their books the same way the X documentation is itself.  There's an
interesting copyright blurb on the publication data page of the O'Reilly X
books that illuminates the depths of their hypocrisy.

I wonder what Adrian Nye is doing these days; it would be nice if he turned
away from the Dark Side of the Force and wrote some X manuals anew, for
those of us in the free world.  But that probably won't happen; he's
probably still with O'Reilly, and probably an executive now or something.

Clarify about that MIT and Motif situation, eh?  Okay.  To understand why
there is a situation at all, it helps to understand just a little bit of X
history, and how X works from a programming perspective.

Probably over 99% of all programs that use the X Window System are written
in C.  Practically all the C programs that use X use a library called Xlib,
which has shipped with the X source code for as long as there has been such
a thing as X.

Xlib is a set of C functions that implement the X client side of the X
protocol.  It is very low level, however.  It handles things like "tell me
what key was pressed", or "draw a line from this point to that point on the
screen".  It does NOT handle more complicated stuff like, "draw a dialog
box using these colors, this font, and with a beveled `OK' button" -- at
least not in a single function call.

More complex tasks, the kind you might expect graphical-user-interface
components to use, are kept in a separate library.  In X parlance, this is
called a widget set.

A major precept of the X Window System was that as little should be
dictated as possible; a "policy-free" windowing system was desired.  MIT,
(who originally developed X with DEC), and then the X Consortium, who
gained control of X was it was a demonstrably mature product, were in the
business of coming up with standards for a network-based windowing system.
Their job was to create a standard, not write code.  However, to prove that
the adopted standard was workable (something that OSI could have learned
long ago <sigh>), they created a reference implementation in C, and this
what is popularly known as the X Window System.  

Part of this reference implementation was a sample widget set that was
not explicitly designed for real use.  This is known as the Athena widget
set, and is what is documented in the non-Motif version of the O'Reilly
book.  Probably the only advantage of the Athena widget set is that because
it ships with the rest of X, and because its license is the same, it is
practically guaranteed to be available everywhere X is.  The Athena widget
set is ugly, though, and since the X Consortium invited the rest of the
world to come up with widget sets, they did.

It thus fell to various Unix vendors (mainly) to come up with a "standard"
widget set.  Needless to say, these were all closed-source efforts, so the
marketplace fractured.  As I understand it, things basically settled down
to a war between Sun, with their "XView" widget set (also referred to as
OPEN LOOK, and which actually originated from a different windowing system
altogether, called SunView), and the Open Software Foundation (which was
just about everyone in the Unix industry BUT Sun), with the Motif widget
set.  At some point, XView was released under a free license, and it is
available in Debian package form.  [Some other old-timers here may be able
to correct me on the details of this Sun business -- I always avoided OPEN
LOOK like the plague, and was not yet a savvy Unix user when the widget
wars were still in full swing.]

By 1993, it was all over but the shouting, and Motif had won the war.  The
OSF at some point rechristened themselves the Open Group, and they got the
rights to the entire X Window System when the X Consortium dissolved at the
end of 1996.  Of course, by this time, Microsoft's Windows 95 and NT were
making deep incursions into the Unix desktop market, which had finally
consolidated around the Open Group's CDE (Common Desktop Environment),
which used Motif.

The Open Group thus finally got control of the Unix desktop, for which they
had lusted for so long, and they promptly changed the license on the X
Window System, rendering it closed source (as interpreted by the Debian
Free Software Guidelines)[1].  After several months, it dawned on the Open
Group that they didn't have any friends anymore, because they'd already
lost 90% of their commercial market to Microsoft anyway, and the only
allies they had left were working in free software.  The free software
community essentially said, "to hell with CDE, it's closed source", so the
KDE project started.  Unfortunately, the KDE developers bit into Qt's
poisonous apple (it's not really free software, either), so the remainder
of the free software community (the part with brains enough to read a
software license) started on GNOME, and a new, free widget set called GTK+.
GTK+ came about because the orignal authors of the GIMP got sick of using
Motif.  The GIMP is in many ways GNU/Linux's flagship application -- so
there's another claim to fame the Open Group lost due to licensing.

[1] Rather than pass the de facto crown of X source code to the XFree86
Project (which is almost certainly where it would have ended up), the Open
Group returned X to its traditional licensing terms late last year.

Wow, that was long post.  Maybe I should edit it and add it to the Debian X
FAQ (/usr/doc/xfree86-common/FAQ).

-- 
G. Branden Robinson              |   Q: How does a Unix guru have sex?
Debian GNU/Linux                 |   A: unzip;strip;touch;finger;mount;fsck;
branden@ecn.purdue.edu           |      more;yes;fsck;fsck;fsck;umount;sleep
cartoon.ecn.purdue.edu/~branden/ |

Attachment: pgp_MoZGlFu2j.pgp
Description: PGP signature


Reply to: