#
X Window System,
Version 11, Release 1
X11R1 was the first release of the X Window System, Version 11 from MIT.
It was
released in
September 1987,
with the following changes excerpted from the release notes.
The sources are available for download for historical reference from
http://www.x.org/releases/X11R1/.
## Overview
Welcome to the first release of version 11 of The X Window System. This release
represents a major redesign and enhancement of X and signals its graduation from
the research community into the product engineering and development community.
The X Window System version 11 is intended to be able to support virtually all
known instances of raster display hardware and reasonable future hardware,
including hardware supporting deep frame buffers, multiple colormaps and various
levels of hardware graphics assist.
A note about terminology is in order here. First, the document *X Window
System Protocol, Version 11* is the definitive description of what is (and
what is not) part of the core X Window System. This is distinct from the
sample server implementation that forms the foundation of this release.
The sample server is provided here for the benefit of developers who wish
to quickly produce an implementation for a new piece of hardware. The
sample server is not necessarily intended to be a reference
implementation, although that remains a possibility for the future.
Instead, it is our intention that future implementors will be able to rely on
the protocol specification and related documents and not be forced to refer to
the code. The sample server, with device-dependent and device-independent
implementations as contributed from various places, will remain the foundation
of the M.I.T. X Window System distribution.
The C language interface defined by Xlib is only one of many possible language
bindings to the protocol. While we certainly encourage standardization of the
Xlib interface (and at least one international standards organization is
considering this), we are not dogmatic on this point. Xlib has two somewhat
conflicting requirements; first, it is the lowest level procedural interface to
the X protocol. As such, it must implement all the nuances possible without
encroaching on the vendors' and application developers' prerogative to set
conventions for style. Xlib's second mission is to be the first level interface
for applications development, in anticipation of future work (such as the
toolkit) on common higher-level applications interfaces. In fulfillment of this
objective, Xlib includes many "convenience routines" that are a re-packaging of
one or more protocol operations to simplify common cases, and it includes
several additional utility routines that have no direct relationship to the
protocol but that are required when building "real" applications, such as window
managers.
The toolkit is a 'beta test' release. The design here should look familiar to
those of you who used our early prototypes under version 10, but we have changed
most of the interfaces in ways that we hope make the task of writing widgets
much easier to accomplish. The earlier prototype toolkit is included on the
tape for those of you who need it to assist your conversion. You should not
expect it to appear on the next release.
The clients provided on this release should not be construed as the correct way
for them to be written, but should be regarded as what most of them really are:
straight-forward ports of existing X version 10 clients. Only a few use the
toolkit and only the old version at that. Those of you who used previous
versions of X will find several differences in their input, output and options,
not all of them documented. Some of the differences are intentional and some
not. Feel free to let us know if you really think something is broken, but we
will also feel free to respond with an alternative to your proposal.
By default, X is distributed to install on a stock 4.3BSD system; installation
under Ultrix-32 release 2.0 should essentially be the same. It has been known
to compile and run on ATT System V systems but we haven't had access to such a
system to verify this.
## Contents of this Release
The enclosed tape contains nineteen megabytes of source files and documentation
including:
* A sample server with device-dependent layers (DDX) for several
displays and vendors, including IBM, DEC, Apollo and Sun workstations.
* Several libraries including a toolkit and both C and Common-Lisp
language bindings for the X11 protocol.
* Some bitmaps in include/bitmaps for use with xsetroot, et. al.
* Several clients, including a terminal emulator and a toolkit-based client
for browsing mh-style mail folders.
* Some demo clients
* Some random utilities to help you build this release
There are many aspects to the software in this release, so in the following we
provide a perusal of the release software by directory name, calling attention
to salient features or notable bugs. To be brief, not all directories are
present in this discussion.
* clients/bitmap
This is a very nice program for editing small bitmaps such as cursors or
icons. However, it comes up a silly size under the "wm" window manager, and
puts dialog box in wrong place. With the "woman" bitmap, the small images
are corrupt on color screens (server bug likely). The program dumps core
when colors are specified in .Xdefaults.
* clients/emacs
All that is provided here are the files that needed to change in gnuemacs so
that it could use the X11 window system. You must obtain the complete source
for this separately. Consult the files DISTRIB and README in this directory
for more information. This implementation is known to be slow and to have
screen-updating problems, especially when doing incremental searches with
control-S.
* clients/gnuplot
This is a plotting program converted by an undergraduate summer student at
MIT and he was never able to test it on anything but a microvax. The display
window is totally white on Sun, for both BW and color. The program fails to
link on Ultrix 2.0 because it is missing -lgamma on the load line.
* clients/puzzle
A very simple program that animates a game you probably carried in your
pocket as a child. This really belongs in the hacks directory, but we
noticed it too late. It doesn't center text in squares correctly when its
window is created with the default height and width. The window never
appears when run under wm.
* clients/uwm
This is the most mature window manager available on the release. Resizing
with this window manager causes double exposures because of the tiny XxY
display box placed over the window being resized and because of lack of
save-unders. The server should do save-unders (the saving and restoring the
contents of the screen under a very short-lived window), but in the interim,
uwm should either place the display box outside the bounds of the resized
window, or perhaps unmap the display box after resize, so that least both
repaints are at the new size. The program doesn't deal with multiple
screens.
* clients/xcalc
This is a clever tool that implements a hand-held calculator or a slide-rule
on the screen. Unfortunatley, it dies with a parameter mismatch on
ChangeWindowAttributes when the cursor leaves the xcalc window on color
screen, and it dies immediately in -analog mode on a color screen. The
program dumps core when run without a window manager in -analog mode, and has
a strange initial window size when started under wm.
* clients/xclock
This displays digital or analog time. The "-update N" option has an old bug
of not keeping the second hand pointing to a multiple of N seconds. It also
doesn't center the time string in digital mode.
* clients/xedit
This is a nice attempt at implementing an editor under X11 using the toolkit.
But it dumps core on a black-and-white Sun. It gets parameter mismatch for
CreateGC when run on a color screen. It makes the assumption that
background=white. Resizing this client sometimes seems to do strange things.
* clients/xfd
This program will display the X11 fonts. Pressing the right button should
page through the font, but continues to wrap around and continue on forever.
The -icon option doesn't seem to work with uwm.
* clients/xhost
This provides a way to allow or deny access to specific hosts.
Regretably, it does not allow the user to enable/disable access control.
* clients/xload
This client displays the "load average" in a histogram plot, but it may need
to be set-userid to root or set-groupid to kmem if the permissions to
/dev/kmem don't allow normal users to read it. In addition, the toolkit
widget may need to be reimplemented for your kernel.
* clients/xlsfonts
This client will list the fonts known to the server, but the undocumented -l
option (long listing ala QueryFontsWithInfo) brings out a shortcoming in the
sample server: it will freeze your display until the request is complete,
which may take several seconds.
* clients/xmh
This is potentially a very nice interface to the mh-style tools used to read
one's mail. But it gets parameter mismatch on CreateGC on a color screen.
It, too, has the background=white assumption.
* clients/xmodmap
This client will allow you to change the modifier mappings of your keyboard.
Sometimes, additions will fail because it doesn't know how to "stretch"
the modifier map, but success is still indicated.
* clients/xpr
This program prints out a screendump created with xwd. It seems to have VAX
byte order dependencies for -dev ps (postscript output). Postscript output
generates printer errors sometimes.
* clients/xprop
It displays properties of windows and fonts, but it should have a way to get
at subwindows. As is, it is useless under wm because it will only give
information about the "frame" window.
* clients/xrdb
This client will take an Xdefaults file and load it into the server as a
property for use by clients globally.
* clients/xsetroot
Among other things, try the command "xsetroot -bitmap include/bitmaps/woman".
* clients/xterm
This is the one and only terminal emulator for X11 available publicly. If it
is resized by wm, it paints twice; once at the old size and once at the new.
Selecting reverse video from the menu doesn't invert scroll bar. The -ms and
-cr options don't work.
* clients/xwd
Dumping a window or a portion thereof is the purpose of this client. The -xy
mode on color screens is broken (server bug likely). It doesn't retain
button release during grab, resulting in spurious up event to the window you
wanted dumped. If the output is desired in z format from a 1-bit screen, it
duplicates a top stripe of the selected window instead of dumping the window
as seen (server bug likely). It should check for the selected window being
on-screen. Large windows cause the Xqdss server to dump core (server bug).
* clients/xwininfo
Like xprop, the program doesn't retain button release during grab, resulting
in spurious up event to another window.
* clients/xwud
This client will dump to the screen, the file created by xwd, but a partial
refresh of Z format image produces garbage (library bug). A 1-bit image on
N-bit screen is garbled (server bug likely). It dies in strange ways on
large color images.
* contrib/InterViews
This is the only software found in the "contributed software" directory:
i.e. untested software. This is a C++ implementation of a toolkit and some
clients.
* demos/ico, muncher, plaid
These are cute programs that do nothing but paint somewhat pretty pictures.
They don't obey window resizing or exposure correctly. The "plaid" program
needs to throttle output to keep other clients happy, but this may suggest
that the server isn't round-robining properly.
* demos/wm
This is the "other" window manager; it is pretty simple minded, but it
implements title bars, real-estate style window management and understands
multiple screens. It seems to cause various clients grief, particularly with
respect to initial size. It should do something about borders so that they
arent always white, and when it closes down, it should restore rational
borders.
* doc
As might be expected, this contains all the documentation. Any file in
this directory named \*.ps or \*.psc can be handed directly to a postscript
printer, as it is the postscript output from programs such as troff.
* doc/Protocol
Here you will find the formal description of the protocol, the numeric
encoding of same and the keysym description.
* doc/Server
There are several documents in this directory dealing with the implementation
of the sample server and helpful hints for porting.
* doc/Xlib
The C language X interface is documented here. The printed document is just
under 300 pages and is quite complete.
* doc/Xlib/Xman
The section 3 man pages can be found here. If you can tolerate file names
longer than 14 characters, you should consider running the (largely untested)
shell script named "expand.names" in this directory that will change the
prefix of the .3X files to names matching the names of the Xlib routines they
describe.
* doc/bugs
A bug report template appears in this directory.
* doc/releasenotes
You will find the troff source for this document here.
* extensions
This directory contains a lib, server, test and include directory for two
extensions: a useless trapezoid filling extensioin called "zoid" and a rather
interesting one for implementing bezier curve fitting called "bezier". The
beziertest program repaints on the wrong kind of events.
* fonts/bdf
The ascii representation of the fonts live in this directory. You should try
to remember that the "bdf" stands for Bitmap Distribution Format. This
format is an extension of Adobe, Inc's standard ASCII format for font
distribution. It should be noted that you can purchase fonts from Adobe,
Inc. in a format close to this. When doing so, you should ask for both the
bitmap and the font metric files ('afm'), which are combined together for an
X11 .bdf file. Please do not contact MIT to buy fonts.
* fonts/snf
This directory holds the compiled fonts. The "snf" stands for Server Natural
Format. snf files are not portable between servers except in rare cases.
* include/bitmaps
Bitmap files found in this directory have a different format in X11 than they
did in X10. The "bitmap" program can read files in either format, but always
writes out X11-format files. In addition, there is a utility program called
"bm-convert" which converts X10-format bitmap files to X11 format. For more
information, see clients/bitmap/bitmap.man and
util/bm-convert/bm-convert.doc.
* lib/CLX
This contains the Common - Lisp language interface to the X11 protocol and
has been tested under TI, Symbolics, and Lucid.
* lib/X
Here you can find the source for the C - language interface to the X11
protocol. The next section is devoted to its discussion.
* lib/Xrm
This is the directory containing the implementation of the "new" resource
manager. None of the clients use it and neither the old nor new toolkits use
it. However, this will be the resource manager used in future releases. As
soon as the new toolkit is stable and has been converted to use this, all
clients will be converted as well. If you write a new client, it should use
this resource manager. Note that both the new and the old resource manager
are case-sensitive now. You should keep this in mind when you build your
.Xdefaults file.
* lib/Xtk
The Xtk library ("new toolkit") is still in a very unfinished state.
We've identified three bugs that cause problems on the Sun, but
not on the Vax:
* Resources.c fails to correctly handle resources whose size is 1; in
particular, it gets confused on Boolean resources such as the
"analog/digital" option to the Clock widget. There is currently special
case code, surrounded by "#ifdef BIGENDIAN", to handle resources whose size
is 2 (= sizeof(short)); this code probably needs to be extended to
similarly handle resources whose size is 1.
* Text.c incorrectly calls XtGetSubresources with a Display argument
instead of the proper Widget argument. This core-dumps the "xtext"
application instantly on a Sun.
* AsciiSink.c contains bitmap constants declared as arrays of shorts,
rather than arrays of char, and assumes that the shorts are stored in
LSBFirst (little-endian) order. The result is that on big-endian
machines such as the Sun, Text widgets don't display a caret at the
insertion point.
All of the widgets should be using XtCreateWindow instead of XCreateWindow,
but currently none of them do. The SetValues routines in most of the widgets
are either incorrect or are complete no-ops. None of the widgets' SetValues
routines have been exercised by any code yet, with the exception of the
"top-level" widget that is returned by XtInitialize.
The IBM hc compiler will not compile lib/Xtk directory, but the pcc compiler
will. We suggest you build this directory by hand with pcc before doing a
full make.
* lib/Xtk/clients
With the exception of "xboxes", all the sample clients in this subdirectory
run more-or-less correctly on a Vax. However, various bugs become evident
when you run them on a Sun. For instance, "xtext" immediately core-dumps,
and "xclock" comes up in digital mode regardless of .Xdefaults options or
command line arguments.
* lib/oldX
This library contains code that existed in X10 such as the "XAssocTable"
routines and an implementation of the X10 XDraw and XDrawFilled requests that
turn spline descriptions into X11 PolyLine requests. You should not assume
that these routines will continue to exist in this form in future releases.
* lib/oldXMenu
This is a deck-of-cards menu facility that has simply been ported to X11 and
is known to run slowly. Eventually, this will be subsumed by a menu widget
in the toolkit.
* lib/oldXrm
This is the "old" resource manager as it appeared on the Beta release.
It will remain a part of the release only as long as there remains a
client that has not been converted to the new resource manager.
* lib/oldXtk
This contains the "old" toolkit, with the old intrinsics interface. As soon
as the new toolkit becomes stable all clients will be converted to it and
this will not appear on future releases. Currently, only xload, xmh, xclock,
xedit and xterm use this toolkit.
* server/ddx/apollo
This holds the Apollo device-dependent code (ddx) for the sample server.
It will run on any Apollo display, color or monochrome, but it will only do
1-bit black-and-white graphics. You should consult the README file in
this directory before trying to build an Apollo server.
The only problem not mentioned there is that the server builds with about
a half-dozen undefined variables, but since they are never referenced, the
server runs.
* server/ddx/cfb
In here, Sun Microsystems has placed a "generic" analogue of "mfb" for memory
color frame-buffers. The code has been tested only on displays with a pixel
size of 8 bits, both with all 8 planes implemented (Sun) and less than 8
planes implemented (HP). As distributed, it is set up for 8-bit pixels with
all 8 planes implemented. The code is intended to be highly portable, and to
use as much as possible of the "mi" code. As a result, it is very slow, but
very portable. You should read the README file in this directory before
using it for a new port.
* server/ddx/ibm
IBM has provided us with ddx layers for IBM PC/RT with AED and/or APA16/APA19
display. The hc compiler available on this machine is known to have problems
with *foo++ = *bar++ constructs. To get around this, you should run the
command "RTSETUP init" in this directory before the server is built. This
will build patch, makedepend and imake, then it will patch sources for the
sake of the RT compiler (miregion.c and ../../../lib/Xtk/Imakefile).
Finally, it will build and depend the makefiles. After this, a top-level
make should complete without errors. Note that source files will be patched
only if the "init" argument is specified on the command line.
* server/ddx/lk201
This is the ddx driver code for the keyboard used by most DEC displays.
* server/ddx/mfb
This is the "monochrome frame-buffer" ddx code. If you are beginning a new
port and plan to use this, you should read the code very carefully in
maskbits.h and the comments in ../../include/servermd.h, and then choose
appropriate constants for IMAGE_BYTE_ORDER, BITMAP_BIT_ORDER,
GETLEFTBITS_ALIGNMENT and GLYPHPADBYTES.
* server/ddx/mi
This is the "machine-independent" ddx layer.
* server/ddx/qdss
The pre-compiled libraries found here are are for DEC's GPX display. No
source code is available.
* server/ddx/qvss
This holds the DEC version of the QVSS display ddx code.
* server/ddx/sun
This is the directory containing general Sun ddx code. It expects to be
linked with the cfb code. You should consult the README file in this
directory before using this server.
* server/dix
In here are the sources for the device-independent layer of the sample
server.
* util/bm-convert
This is a special utility for converting X10-format bitmaps to X11-style.
Alternatively, you can run the bitmap program, which can read X10-format
bitmaps and will always write X11-format bitmaps. This program will never be
built unless you explicitly do so in this directory.
* util/imake
This facility has become crucial to the maintenance of the X11 source tree.
If you have a machines other that what this release has been tested for, I
suggest that you read the man page (found in this directory) very carefully.
This is the program used to create all the Makefiles from the files named
"Imakefile" throughout the source tree.
* util/imake.includes
This is where the header files and template are kept for the imake utility.
You should study the \*.macros files carefully to decide how to configure
your machine.
* util/makedepend
This utility is used to generate
make(1) dependencies for all the .o
files. It runs an order of magnitude faster than any other implementation of
a dependency-generator by caching the include files for each directory.
* util/patch
This is the source-code patching utility written by Larry Wall and
distributed in mod.sources. If there are patches sent out from MIT, this
program can be used to apply them. This program will never be built unless
you explicitly do so in this directory.
* util/rgb
This the the unchanged X10 version of program by the same name. It reads a
text file describing a set of colors, and creates a database for the server
to consult.
* util/vtobdf
This program reads a Sun vfont file and creates a character bitmap
distribution format file.
### Your .Xdefaults file
In previous releases of X, the specification of configuration
options in the .Xdefaults file was not case-sensitive,
although this fact was never explicitly mentioned in any
documentation.
For version 11, we have chosen to define the contents of .Xdefaults
to be case-sensitive. This is not yet fully
implemented; some clients may still allow non-matching case in
their options.
The principal reason for this change is the addition of option "classes"
to the Resource Manager, where before everything was
only an option "instance". The new naming and classing
hierarchy will enable users to customize large parts of client
interfaces with much fewer lines than before, at the expense
of having to read the man pages somewhat more carefully when
customizing.
## Xlib - C Language X Interface
These notes document the known problems in the base X library as of the first
release of X Version 11, as well as some comments of what has changed during the
last phases of beta test, since the beta test was so large. Bugs reported after
early September are unlikely to have been fixed unless extremely important. My
thanks to the beta testers for their efforts and comments.
XPutImage was extensively reworked at the last moment; see the comments
at the beginning of the routine. There are a few remaining nits with nibble
swapping.
XGetImage semantics are slightly different than during most of
beta test. If you only ask for certain planes in x-y mode, the image returned
is of the depth of the number of planes requested.
XPutSubImage in Z format does not work properly.
XPending still uses FIONREAD, which means that it does not detect dropped
connections properly. This was the cause of many client looping bugs when
connections failed on V10. It should be be recoded to use a non-blocking read
of 0 bytes to get status back.
XGetDefault now has the correct interface with a (Display *) as the first
argument. Note that during beta test, the document was correct, and the code
was wrong. Your code which you may have been running during beta test using
this routine will have to be converted.
The types of members of some structures in Xlib.h were fixed so that machines on
which int=16 bits would work correctly. Some members were declared int but were
plane masks and should have been declared unsigned long. Some other members
were renamed to type
Bool and
Time, though the underlying type did
not change.
The region code in the library has been regenerated after extraction from the
server. Since no one reported a single bug in the region code during beta test
and we know there were many bugs in it from server bug reports, it clearly was
not heavily exercised (if at all) then.
There ought to be some way to generate a region from a series of exposure
events, to make it very easy to do clever repaint on exposure of only exposed
areas, using the GC region. No one volunteered to specify it/write it, so there
still is no way. The region code was known to be buggy during beta test, which
may have reduced the inclination.
V10 conversion aid code documented in the X manual appendix is in a separate
library; to link against it under UNIX add a
-loldX to your link command.
The resource manager is currently split out into a separate library called
Xrm. It will be merged in a future release. This occurred since the
tool kit did not get converted to use the correct interfaces. The old (beta
version) is in oldXrm and is still used by the tool kits. Since the X tool kit
is the primary user of the resource manager, this also means that the current
resource manager has not had the extensive exercise of the rest of the library
(or even of the old resource manager), and will undergo some final changes
before being incorporated, though the interface is believed correct except for
XrmPutResource, which should take a string rather than a quark. This
change was dropped on the floor until after the code had been frozen for
release. Note that only applications linked against one of the resource manager
libraries will use the error database as documented in the manual. Clients
linking only against Xlib will only print the default strings. Until the next
MIT release, you should therefore understand that it is conceivable that these
routines may change interfaces; somewhat more likely is that more sophisticated
matching will be implemented without interface changes. The most unfortunate
part of this is that only
XGetDefault in the new resource manager knows
how to deal with the server resource data base property. (See the xrdb
utility). (One of the real pains to life in V10 was keeping your .Xdefaults
file up to date on all the machines you used).
The library is not as portable to some machine architectures as we would like.
The changes required to deal with the Cray for example, were more extensive than
we wished to incorporate during beta test, affecting too many files with
insufficient time for shake down. My apologies to them, since it will have cost
them additional work until the changes are made. Machines on which short!=16
bits may have difficulty in a port at the moment.
The V10 functionality that allowed remapping keys to strings read in from a file
did not get reimplemented, due to upheavals during both alpha and beta tests in
keyboard handling in general. This is less needed in V11, where there is global
renaming of keysyms, but would still be nice to have. The compose processing
(yuk) in
XLookupString is not implemented.
There are an extensive set of routines/macros for extracting screen structure
information added late in beta test. The tool kit is being reorganized to deal
with multiple screen applications in a graceful way, and these additions were
clearly useful.
Manual pages for Xlib now exist, though are quite terse.
Extensive work on the Xlib manual took place; the most glaring deficiencies are
the lack of illustrations in the right places. There will be some additional
work on the manual until it goes to Digital Press for printing as a book.
We still don't have an introductory Xlib Primer. Any volunteers out there?
Locking for multi-threading is still untested.
Unix needs a new system call interface!
## Credits
Whereas the design and implementation of the first 10 versions of X were
primarily the work of three individuals, Robert Scheifler of the M.I.T.
Laboratory for Computer Science and Jim Gettys of Digital Equipment Corporation
and Ron Newman of M.I.T., both working at Project Athena, X version 11 is the
result of the efforts of literally dozens of individuals at almost as many
locations and organizations. At the risk of offending some of the players by
exclusion, several people deserve special credit and recognition.
Managerial Support (people without whose support and political battles the
release would never have materialized):
Carol Berry, IBM Steve Lerman, MIT
Larry Breed, IBM Al Lopez, Apollo
Michael Dertouzos, MIT Scott McGregor, Digital
Sam Fuller, Digital Jerry Saltzer, MIT
Dan Geer, MIT Warren Teitelman, Sun
Jeff Lane, Digital Dave Verhoven, Tektronix
Rick LeFaivre, Tektronix Smokey Wallace, Digital
Thanks also to DARPA, for supporting the research side of the X protocol.
Our undying gratitude to Todd Brunhoff (and to Tektronix for sending him);
Todd performed wonders in making the alpha and beta tests happen, filtering
bug reports, integrating sources from everywhere, putting the releases
and updates together, and generally hacking up a storm.
Infinite thanks to Ken Goldman, MIT, for accepting thousands of phone calls,
mail messages, being patient, sending out documentation, and generally keeping
us insulated from the outside world.
Great appreciation goes to Phil Karlton and Scott McGregor, both of DEC, for
their considerable contributions to the specification of the version 11
protocol. Also Sue Angebranndt, Raymond Drewry and Todd Newman of DEC's Western
Software Laboratory, with Phil, have worked long and hard to produce the sample
server implementation.
Special thanks must also go to Sam Fuller, Vice President of Research at
DEC, who has remained committed to the widest public availability of X and
who foresaw a year ago the need to greatly supplement Project Athena's
resources with the WSL staff in order to make version 11 a reality.
Many thanks from us and the several vendors who have a head start on porting X11
to their color frambuffers goes to Dave Rosenthal of Sun Microsystems. He
provided the sample generic color frame buffer ddx code and also contributed to
the protocol.
Many other people made it happen, either with code or documentation; so many of
these people worked on more than one major component of the system (toolkits,
libraries, applications, servers) that we have not attempted to list people by
component:
Allen Akin, Digital Geoff Lee, Sun
Susan Angebranndt, Digital Ed Lee, HP
Tom Benson, Digital Bob Leichner, HP
Adam de Boor, UC Berkeley Mark Manasse, Digital
Todd Brunhoff, Tektronix Stuart Marks, Sun
Richard Carling, Masscomp Joel McCormack, Digital
Colyn Case, Digital Rick McKay, HP
Ann Mei Chang, Digital Al Mento, Digital
Mike Chow, Digital Don Mullis, Digital
Larry Church, Digital Hal Murray, Digital
Jeff Dike, Digital Todd Newman, Digital
Raymond Drewry, Digital Ron Newman, MIT
Jerry Farrell, Sun Mark Opperman, Sun
Burns Fisher, Digital Vince Orgovan, Digital
Erik Fortune, IBM Jack Palevich, HP
Hania Gajewska, Digital Matt Pappas, Digital
Mike Gancarz, Digital Ram Rao, Digital
Peter George, Digital Loretta Guarino Reid, Digital
Jim Gettys, Digital David Rosenthal, Sun
Dave Gorgen, Apollo Paul Rubin, MIT
Jackie Grandfield, Digital Robin Schaufler, Sun
Joel Gringorten, Digital Bob Scheifler, MIT
Phil Gust, HP Mike Schwartz, Sun
Frank Hall, HP Alok Singhania, Sun
Peter Ham, Digital Ralph Swick, MIT, Digital
Charles Haynes, Digital Al Tabayoyon, Apollo
Scott Hennes, Apollo Fred Taft, HP
Harry Hersh, Digital Leo Treggiari, Digital
Frances Ho, Sun Jake VanNoy, Digital
Tom Houser, HP Pam Verno, Digital
Rich Hyde, Digital Smokey Wallace, Digital
Richard Johnsson, Digital Jeff Weinstein, IBM
Phil Karlton, Digital Terry Weissman, Digital
Kathy Langone, Digital Ted Wilson, HP
Mary Larson, Digital Al Wojtas, Digital
Thanks to the alpha and beta sites, who contributed much in the way of bug
reports and fixes.
Thanks to the MIT Statistics Center, for the use of their Suns and for putting
up with us.
Thanks to John Guttag of MIT LCS for the use of an 8600 for final build test.
Copyright © 1985, 1986, 1987 by the
Massachusetts Institute of Technology
.
Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of M.I.T. not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
M.I.T. makes no representations about the suitability of
this software for any purpose. It is provided "as is"
without express or implied warranty.
Ultrix and Ultrix-32 are trademarks of Digital Equipment Corporation.
The X Window System™ is a trademark of the Massachusetts Institute of
Technology.
UNIX is a trademark of AT&T Bell Laboratories.