The X Window System is 10 years old today!

Copied from USENET and converted to HTML by Kenton Lee.

From: (Jim Gettys)
Subject: The X Window System is 10 years old today!
Date: 19 Jun 1994 15:02:38 GMT
Organization: Digital Equipment Corporation, Cambridge Research Lab

Or at least the first window system called X is 10 years old; X Version 11 is really the third significant design for a window system with the name X.

The lineage is:

Versions 1-6
Monochrome only, ran on DEC VS100's displays connected to VAXen and VAXstations 1 and 2.
Versions 8-10
Dealt with color, for the VAXstation II/GPX. X10 is the first version that saw widespread availability and use on many vendor's systems.
Version 11
Redesign for higher performance, more window management styles, extensibility and better graphics capability. There were at least 4 protocol versions during alpha and beta test, but it would have confused small minded people in the world to have incremented the version numbers the way we did before. Versions in X refer to protocol versions, e.g. when your old applications would stop working. Many earlier versions were small, though incompatible changes, that might only require recompilation and/or relinking.

The first mail message widely available on X is below:

From: rws@mit-bold (Robert W. Scheifler)
To: window@athena
Subject: window system X
Date: 19 Jun 1984 0907-EDT (Tuesday)

I've spent the last couple weeks writing a window system for the VS100. I stole a fair amount of code from W, surrounded it with an asynchronous rather than a synchronous interface, and called it X. Overall performance appears to be about twice that of W. The code seems fairly solid at this point, although there are still some deficiencies to be fixed up.

We at LCS have stopped using W, and are now actively building applications on X. Anyone else using W should seriously consider switching. This is not the ultimate window system, but I believe it is a good starting point for experimentation. Right at the moment there is a CLU (and an Argus) interface to X; a C interface is in the works. The three existing applications are a text editor (TED), an Argus I/O interface, and a primitive window manager. There is no documentation yet; anyone crazy enough to volunteer? I may get around to it eventually.

Anyone interested in seeing a demo can drop by NE43-531, although you may want to call 3-1945 first. Anyone who wants the code can come by with a tape. Anyone interested in hacking deficiencies, feel free to get in touch.

I guess I'll get this out a few hours late today. Oh well.

A month or two before this mail message, I remember walking into my office, where my office-mate (Steve Miller) had been debugging some distributed code for system management, as I remember. He had several ascii terminals, between which he had a piece of scotch tape and a sign "Project Athena Window System" hung, to deliberately tweak his office mate. I don't think Steve had any expectation of anything usable so soon...

The early history is that an over-eager Digital salesperson had sold VS100's to Bob Scheifler's group at LCS, and we were using VS100's at Project Athena, as the first thing that could be called a "workstation", though VS100's were bitmap displays connected to UNIBUS VAXes. We had W from Paul Asente and Brian Reid of Stanford (Paul had been a summer student at Digital's Western Research Laboratory), but other than some use for graphics, we had not used it much. In May of 1984 we finally received stable firmware for the VS100's, so finally were able to actually make some forward progress; before then, we regarded VS100's as expensive almost boat-anchors. Both Bob and I had played with W, but had not started serious work, though W had been available to us for 6 months or more.

The large, significant design changes that distinguished X from W included:

  1. asynchronous protocol allowing much higher performance.
  2. deletion of structured graphics, and replacement with immediate graphics protocol requests.

The genesis occurred while I was off on vacation and away at USENIX. I returned to this mail; furious hacking both at LCS and Athena occurred all summer, and X first saw wide use at Project Athena starting in September of 1984.

One amusing historical note; in 1984 MIT did not have a useable TCP/IP campus network; the most (geographically) widespread network on campus was CHAOSnet, running its own protocols, which is why the reference to a tape. While we (attempted) to run IP on top of CHAOS, it typically didn't work well enough to actually get significant amounts of data across campus, as Bob was in LCS, and I was in E40.

On the appropriate date, I'll post the original protocol specification, for your amusement. Bob showed incipient signs of insanity and produced some... :-).

Jim Gettys
Digital Equipment Corporation
Cambridge Research Laboratory