Doghouse – Open Source Endurance
Longevity
I was reading an Atlanta Linux Enthusiasts (ALE) mailing list recently that has been around a long time. Many of the people on that list have been reading and writing to the list for 20 years. One of them had just installed a version of the Common Desktop Environment (CDE), which was developed when I was working at Digital Equipment Corporation (DEC) more than 20 years ago.
I was reading an Atlanta Linux Enthusiasts (ALE) mailing list recently that has been around a long time. Many of the people on that list have been reading and writing to the list for 20 years. One of them had just installed a version of the Common Desktop Environment (CDE), which was developed when I was working at Digital Equipment Corporation (DEC) more than 20 years ago.
The person writing about it talked about "Motif," a set of widgets that create the button boxes, scroll bars, and menus for the X Window System, and some of the various applications that came with CDE, such as the Motif Window Manager (MWM), xsnow (which made tiny snowflakes fall down the screen and build up on top of the windows and menubars), xroach (which had cockroaches scurry around and behind your windows), xeyes (eyes that would follow your cursor), xearth (a spinning "almost 3D" picture of the earth), and xfishtank (obviously, a fish tank for your system). It also came with some simple text editors, a "desktop," and various text-based startup files to tailor the environment.
During the exchange of messages, some commenters indicated that everyone thought CDE was dead in 2002; however, apparently the people that owned the code decided to open source it. Since that time, CDE has actually flourished despite all of the competing desktops out there.
This made me think of several other stories of Open Source software longevity.
When I was introduced to Unix in Bell Laboratories, two text processing formatters, nroff
and troff
, used control statements embedded in the text to tell the formatting program when and how much to indent, when to break a line, whether hyphenation was to occur, and so on. It was NOT What-You-See-Is-What-You-Get (WYSIWYG) by any stretch of the imagination. Nroff was for character cell and paper terminals, and troff was for phototypesetters – specifically, the very expensive Graphic Systems CAT phototypesetter located at Bell Labs, New Jersey, in 1971.
At first attempts were made to create a filter that would take the computer-assisted typesetter (CAT) commands and convert them into commands for other typesetters and (later) laser printers, but this effort was not completely successful. Later, a different version of troff came out called "device-independent troff" (ditroff
), which produced device-independent code that was easy for post-processors to use.
Troff (and to a certain extent nroff) also could use pre-processors to expand macros in the stream of the input text. These macros could help set up pictures (pic), mathematical expressions (eqn), tables (tbl), and manual pages, affectionately known as "man" pages. The man
command would call nroff (or troff) to format manual pages to the needed size for devices on the fly. Ditroff could invoke these macro packages as options on its command line.
I had used nroff and troff quite a bit while I was at Bell Labs, and when I went to DEC in 1983, I took my documents and macros that I had written with me. The *roff packages were now 12 years old.
I continued to write documents in *roff, because WYSIWIG packages of the day were not very good for documents of more than one or two pages and were decidedly NOT useful for documents that needed indices and tables of content.
Eventually, the rights to a lot of the ditroff software were purchased by a company called SoftQuad. They put out a product that sold for several thousand dollars (in 1994), and DEC bought a copy for the software support and became a reseller.
About the same time, the GNU project started working on a replacement called groff
, which produced very good PDF output, bypassing a lot of the device support issues of ditroff and its filters. I remember putting up a printout on my cubicle showing the output of the SoftQuad product (which really did not look that good and could not even do parallel lines correctly) compared with what the PDF file from groff produced, which was "perfect." I pointed out that SoftQuad's product cost several thousand dollars and groff was "free." This was not appreciated by Digital's SoftQuad product manager.
Another, shorter, example of software longevity is the RAND Mail Handling System, known as MH. A command-line mail system, it was made graphical by wrapping a Tk-based GUI around it and calling it xmh
, and then adding MIME extensions and calling it exmh
. When Motif was added to it, the name changed again. All this time I just kept using it.
Therefore, it does not surprise me that CDE lives on as Free and Open Source Software. Once code is "Opened," projects can last a very, very long time.
Buy this article as PDF
(incl. VAT)