jg@mit-eddie.UUCP (Jim Gettys) (02/14/86)
Release 3 of the X window system is now being shipped from MIT. For those of you not familiar with X, X is a portable network transparent window system for bitmap display terminals that runs under Berkeley Unix. X runs on DEC VS-100, VS1, VS2 and VS2/GPX displays; also in this release is preliminary support for Sun workstations; our thanks to Dave Rosenthal of Sun Microsystems for the Sun port. The MIT distribution distribution includes code for the VS100, VS1, VS2 and Sun workstations; device dependent VAXstation 2/GPX binaries come with the Ultrix-32W product and are not available from MIT. This distribution includes the device independent code for X and utilities developed at MIT and a number of utilities developed elsewhere. Our thanks to Digital for contributing the Ultrix window manager. Client programs include a terminal emulator (~Vt102 and Tek4010), imagen previewer, DVI previewer, clock, load monitor, several window managers, window dumpe/undump, bitmap editor, demo programs and a few utilities of various sorts. IBM RT/PC code is in the works and should be available roughly simultaneously as 4.2A from IBM. X DOES NOT RUN ON AIX (the System V based product). Other ports are in progress for several other manufacturer's displays. The cost is $100 and a copy of a Berkeley 4.2 source license. If you have no urgent need for a distribution, X will come on the 4.3BSD tape as user contributed software. Send requests for distributions to "xrequest@athena.mit.edu", or by U.S. Snail to: X Request Project Athena MIT E40 77 Massachusetts Avenue Cambridge, Massachusetts 02139 Jim Gettys MIT/Project Athena jg@athena.mit.edu
reid@glacier.ARPA (Brian Reid) (02/16/86)
I've always thought that announcements about X should include some explanation of what it is and where it came from--everybody seems to think the whole idea came from MIT. About 5 years ago the Distributed Systems group at Stanford started work on an operating system called "V". V had a window package. My students and I didn't like the V window package very much, so Paul Asente and I set out to design a replacement window package for V. Paul did all of the programming himself, and that gave him the right to name it. He called it "W". The manual for the V system showed a rising sun on the cover (because at the time V ran only on Suns); the manual for the W package showed a rising sun framed by a windowshade. W was an alternative window system for the V operating system. W was a very hot property, and was tens of times faster than the V window system, but it had one fatal flaw. It used V for interprocess communication. In particular, it made the assumption that interprocess communication was very fast. Under V that is a fair assumption; in most other places it is not. Paul Asente took a summer job at DEC Western Research in 1983, and for his summer job he ported W to run under 4.2BSD. The resulting port was very slow because it used 4.2BSD interprocess communication. About 2 years ago Paul sent a tape of the 4.2BSD port of W to MIT for Project Athena. The folks at MIT put a lot of work into it, and in particular they rewrote it so that it didn't use the BSD interprocess communication facility. Unfortunately, they also added 1 to the name, turning W into X, and removed all traces of its origins from the comments in the code. Although the MIT folks have certainly had a major impact on the code of X, its design and internal structure remain quite similar to the one that Paul Asente and I designed 4 years ago, and which Paul subsequently programmed and sent to them. Paul and I would both appreciate it if the people who distribute X would at least explain its history and origins, rather than let the world believe that the whole thing was their creation and their idea. Brian Reid Stanford -- Brian Reid decwrl!glacier!reid Stanford reid@SU-Glacier.ARPA
jg@eddie.UUCP (Jim Gettys) (02/17/86)
At Brian Reid's request, we wish to acknowledge the great debt we have to Paul Asente, Chris Kent, and Brian and his group group at Stanford in the development of X, as well as many of the ideas embodied in the V system. We (Jim Gettys and Bob Scheifler) started not quite two years ago with "W", written by Paul Asente at Stanford for the "V" system, and then ported to Unix on the Vs100 at DECWRL by Paul Asente and Chris Kent. Without W, it is very unlikely that enough momentum would ever have been generated at MIT to develop an interesting window system under Unix, much less a network transparent one like X. We think it is fair to say that had W never existed, X would not exist today. Indeed, the name "X" is due to the fact we started with "W". Paul Asente's Chris Kent's work are acknowleged not once, but in a number of places in the documentation. To our knowledge, no code remains from W at this date, although some basic structure and a few algorithms survive. Paul's name is not in the X server source; neither were they in the W server source we have (the only part of X that has any W code in it); neither is Bob Scheifler's name in the X server sources now. We are sorry if anyone feels slighted for their contributions to X due to oversight on our part. We are not embarrassed by the connection, but wish to acknowledge the heritage of ideas involved, from V, to W, to X. We know of little better way than the name "X" to recognize this. Paul has since contributed much code to X, for which we are very greatful. These include several library packages, modifications to the terminal emulator, and one of the three existing window managers. Brian is incorrect in a number of respects about "X"; while much of the model of heirachical subwindows is due to W, X differs in substantial ways from W, to the point that continuing to call it W would have been a misnomer. W is based on a synchronous IPC protocol, which when W was ported to Unix had severe performance consequences, due to Unix's relatively slow message facilities. X however, while still based on a byte stream (e.g., TCP), is based on an asynchronous message protocol; X clients only block when when information is required from the server. This, along with buffering, accounts for the up to 30x higher performance of X over what we started with (W under Unix). In addition, W maintained display lists in the window system server, which we maintain when needed in client programs only. This is a fundamental assumption which has a large impact throughout the system. There are also other substantial differences and additions between W and X, such as transparent windows and color support. If Unix in general is to survive in the developing distributed environment it will have to take a large dose from the work done at Stanford, starting with many ideas in the V system; X is only a small step in that direction. Jim Gettys jg@athena.mit.edu Bob Scheifler rws@bold.lcs.mit.edu
reid@su-glacier.arpa (Brian Reid) (02/18/86)
I've always thought that announcements about X should include some explanation of what it is and where it came from--everybody seems to think the whole idea came from MIT. About 5 years ago the Distributed Systems group at Stanford started work on an operating system called "V". V had a window package. My students and I didn't like the V window package very much, so Paul Asente and I set out to design a replacement window package for V. Paul did all of the programming himself, and that gave him the right to name it. He called it "W". The manual for the V system showed a rising sun on the cover (because at the time V ran only on Suns); the manual for the W package showed a rising sun framed by a windowshade. W was an alternative window system for the V operating system. W was a very hot property, and was tens of times faster than the V window system, but it had one fatal flaw. It used V for interprocess communication. In particular, it made the assumption that interprocess communication was very fast. Under V that is a fair assumption; in most other places it is not. Paul Asente took a summer job at DEC Western Research in 1983, and for his summer job he ported W to run under 4.2BSD. The resulting port was very slow because it used 4.2BSD interprocess communication. About 2 years ago Paul sent a tape of the 4.2BSD port of W to MIT for Project Athena. The folks at MIT put a lot of work into it, and in particular they rewrote it so that it didn't use the BSD interprocess communication facility. Unfortunately, they also added 1 to the name, turning W into X, and removed all traces of its origins from the comments in the code. Although the MIT folks have certainly had a major impact on the code of X, its design and internal structure remain quite similar to the one that Paul Asente and I designed 4 years ago, and which Paul subsequently programmed and sent to them. Paul and I would both appreciate it if the people who distribute X would at least explain its history and origins, rather than let the world believe that the whole thing was their creation and their idea. Brian Reid Stanford