Code critic

John Lions wrote the first, and perhaps only, literary criticism of Unix, sparking one of open source's first legal battles.

Topics: Linux,

Code critic

Before there was an Open Source Initiative, before the Free Software Foundation was even a twinkle in St. iGNUcius’ eye, Unix hackers were fighting lawyers and commercial interests for the right to copy and distribute source code. The fight began, in part, due to the beliefs of an avuncular Australian professor named John Lions, who thought that by making source code available and using it as a teaching tool, he could encourage the highest possible standards in programming. As the first anniversary of his death approaches and the open-source movement kicks into higher and higher gear, it seems a propitious time to remember Lions’ contribution.

I stumbled across Lions’ books in 1996. I’d majored in literature and seemed to have spent my entire life searching for a witty, literate man. When I finally found the man who would become my fianci, he was a Unix hacker. This baffled me. I couldn’t begin to imagine how the arid world of over-lit computer labs and humming server rooms could have produced someone so much droller and more insightful than my fellow humanities graduates. So I did what I always do when I want to get inside someone’s head: I browsed his bookshelves.

There I found — and devoured — Eric Raymond’s hilarious “The New Hacker’s Dictionary.” Written up from the legendary Jargon file, it describes a literary culture weirdly like my own, complete with movements, jokes, manifestoes and Great Works. And speaking of great works, I also found on those shelves the first editions of the Lions books. The books — a two-volume set titled “Source Code and Commentary on Unix Level 6″ — include not only the entire source code for the Unix Version 6 kernel but also a detailed and often witty discussion of it written in the mid-1970s.

The genesis of Lions’ books is, of course, tied to the Unix tradition that began 25 years ago when the magazine Communications of the Association for Computing Machinery — technology’s equivalent to Nature — published a paper by Ken Thompson and Dennis Ritchie, the two Bell Labs employees who created Unix and the C programming language. The paper was called “The Unix Time-Sharing System” and included a description of the operating system, a justification of its design and a few notes on why it was built in the first place. The article captured the imagination of many a programmer, including Ken Robinson, a teacher at the University of New South Wales (UNSW), who wrote away for a copy of the new operating system. When it arrived, Lions, his colleague, read the source.



Source code is the blueprint for software, like a set of spells that humans can read and use to control machines. Given source code, a programmer can modify an application by fixing bugs or adding features. But most commercial software is sold only in machine-readable form. Access to source code is power.

Lions’ career had followed the classic path for an Australian academic of his generation. In 1959, he took a first-class honors degree from Sydney University and promptly left the country. He earned his doctorate at Cambridge in 1963 and spent the next decade working for Burroughs Corp. in Canada and Los Angeles. By 1972 he was married and had a young family. He moved back to Australia and took a position as senior lecturer in UNSW’s department of computing. He would teach there for the rest of his working life.

The Unix code base enchanted Lions — so much so that he decided to make significant changes to two of the courses he taught. Until then, most teachers of operating systems loftily imparted general principles about programs their students had probably never seen, or encouraged students to build toy operating systems of their own. Unix offered a third approach. It ran on a comparatively affordable computer system, a Digital Equipment Corp. PDP 11 — a machine that UNSW already owned. Unix was compact and accessible but offered a remarkable set of features. To top it off, in Lions’ words, it was “intrinsically interesting.” Unix could be read and understood with far less effort than IBM’s bloated OS/360 and TSS/360 (which, funnily enough, are pygmies by modern standards), but it had the industrial-strength functionality to which homemade toys could never aspire. One student, Greg Rose, remembers, “John expressed this by saying, ‘The only other big programs they see were written by them; at least this one is written well.’”

The first editions of Lions’ books were slender computer printouts covered with red cardboard and stamped with the UNSW crest; they bore the titles “Unix Operating System Source Code Level 6″ and “A Commentary on the Unix Operating System.” Lions had originally prepared them for his students, who were astonished at the availability of the source code. Here was an entire operating system you could hold in your hand. “The whole documentation is not unreasonably transportable in a student’s briefcase,” noted Lions. Later he would joke that in subsequent editions of Unix, this had been fixed.

The books worked. “In general, students seem to find the new courses more onerous, but much more satisfying than the previous courses,” Lions dryly observed. His students describe the classes as a revelation. “He enjoyed seeing if any of us were alert enough to catch any of the few bugs or inexplicable oddities in the code as we read through it. I don’t think we managed it often,” remembers Lucy Chubb, now president of the Australian Unix and Open Systems Users Group (AUUG). “Serious reading of someone else’s code was something that no other subject gave us.”

One of Lions’ greatest insights was that what Thompson and Ritchie had written deserved to be studied in this way. “You will find that most of the code in Unix is of a very high standard,” he wrote in an introduction to the books. “Many sections which initially seem complex and obscure, appear in the light of further investigation and reflection, to be perfectly obvious and ‘the only way to fly.’”

Unix was beautiful and useful and it rewarded close attention. As programmer Peter Reintjes observed, “We had acquired what amounted to a literary criticism of computer software.”

The implications were huge. Thompson and Ritchie’s succinct and elegant code lent itself to investigation and play. Now a cadre of well-trained students was equipped to do just that. “Enhancements from institutions around the world began to be exchanged, and contributed in no small way to the growth of Unix,” Rose recalls. “These two volumes made it far easier to get started with this kind of experimentation, and contributed greatly to the success of Unix during the late 1970s and early 1980s.”

News of the revolution trickled back to its instigators. “The first Ken and I heard of John was when the original of the ‘Commentary’ book arrived, I think, out of the blue,” says Ritchie. “We were much impressed by the quality of the work and highly flattered by its very existence.” Lions had worked hard to understand what Thompson and Ritchie had been trying to achieve. In their view, he succeeded. “After 20 years, this is still the best exposition of the workings of a ‘real’ operating system,” Thompson has said.

As much as he admires the course notes, Ritchie praises Lions’ teaching still more. “Probably the most important contribution John made was to start, at UNSW and indirectly at Sydney Uni, a very strong group of Unix people, many of whom have visited or stayed here, and whom we have often visited,” he says. Lions also founded the AUUG, and it is at least partly to his credit that Unix thrives in Australia to this day. (The group recently celebrated Lions’ contribution with a John Lions Award for Research Work in Open Systems.)

A visionary teacher, a wonderful teaching tool, a commentary drenched with wit and insight, an environment in which talented students thrived — this is all building up to a happy ending, right? Yes and no. Even when they were first published, Lions’ books were technically only available to licensees of sixth edition Unix. The operating system’s new owner, Western Electric, didn’t want just anyone learning the inner workings of the Unix kernel.

“By the time the seventh edition system came out, the company had begun to worry more about the intellectual property issues and ‘trade secrets’ and so forth,” Ritchie explains. “There was somewhat of a struggle between us in the research group who saw the benefit in having the system readily available, and the Unix Support Group … Even though in the 1970s Unix was not a commercial proposition, USG and the lawyers were cautious. At any rate, we in research lost the argument.”

The seventh and subsequent licenses explicitly prohibited the kind of teaching that Lions had been doing. The USG also sought to control distribution of the commentary. It failed. Even then, Unix hackers were not the types to take this sort of treatment lying down. Seventh edition Unix was released in 1979, at about the same time that photocopiers were becoming affordable. Engineers added two and two. The Lions books were secretly copied and passed from hand to hand. Fourth- and fifth-generation photocopies became treasured possessions. The books were literally samizdat, the homemade literature of the resistance.

“Because we couldn’t legally discuss the book in the university’s operating systems class, several of us would meet at night in an empty classroom to discuss the book,” said Reintjes. “It was the only time in my life when I was an active member of an underground.”

This awkward situation lasted nearly 20 years. Even as USG became Unix System Laboratories (USL) and was half divested to Novell, which in turn sold it to the Santa Cruz Operation (SCO), Ritchie never lost hope that the Lions books could see the light of day. He leaned on company after company. “This was, after all, 25-plus-year-old material, but when they would ask their lawyers, they would say that they couldn’t see any harm at first glance, but there was a sort of ‘but you never know …’ attitude, and they never got the courage to go ahead,” he explains.

Finally, at SCO, Ritchie hit paydirt. He already knew Mike Tilson, an SCO executive. With the help of his fellow Unix gurus Peter Salus and Berny Goodheart, Ritchie brought pressure to bear. “Mike himself drafted a ‘grant of permission’ letter,” says Ritchie, “‘to save the legal people from doing the work!’” Research, at last, had won.

In 1996, Peer to Peer Communications reprinted the Lions books. It was fortuitous timing; John Lions was seriously ill. The moment the books arrived in Australia, Goodheart took several copies to him. “As you can imagine, his face just lit up,” Goodheart wrote at the time. “He was thrilled with delight and we all celebrated the occasion with champagne. His health is much worse than I thought but he was able to understand that his work was finally published. He tends to fall asleep during even the shortest conversation and very rarely says anything. Marianne is not sure if he understands everything but I think he does …” Lions wondered aloud what had become of the UNSW crest.

“He actually burst into loud hysterics when I read out the comment on the back cover, ‘The Most Famous Suppressed Manuscript in Computer History,’” Goodheart wrote. “Marianne said it had been a long time since she’d seen him so happy. John’s daughter Liz was there and she popped a question to him. ‘Dad, do you really understand this gobbledygook?’ John replied ‘No,’ and burst into further laughter …”

John Lions died on Dec. 5, 1998. Three years or so before his death, he had discovered a box of first editions of the “Commentary and Source” in his basement, slightly water-damaged but otherwise fine. He gave a set to a young programmer he knew. They were among the eight or 10 irreplaceable books my fianci brought with him when we moved to San Francisco last year. He’s working on the Linux kernel now — a system rich with brilliant programming because its source code has always been available.

I like to think John Lions would approve.

Rachel Chalmers is an Australian writer living in San Francisco.

More Related Stories

Featured Slide Shows

  • Share on Twitter
  • Share on Facebook
  • 1 of 11
  • Close
  • Fullscreen
  • Thumbnails

    "Roman Candle" turns 20: Secrets of Elliott Smith's accidental masterpiece (slideshow)

    Elliott and the friends with whom he recorded in middle school in Texas (photo courtesy of Dan Pickering)

    "Roman Candle" turns 20: Secrets of Elliott Smith's accidental masterpiece (slideshow)

    Heatmiser publicity shot (L-R: Tony Lash, Brandt Peterson, Neil Gust, Elliott Smith) (photo courtesy of JJ Gonson photography)

    "Roman Candle" turns 20: Secrets of Elliott Smith's accidental masterpiece (slideshow)

    Elliott and JJ Gonson (photo courtesy of JJ Gonson photography)

    "Roman Candle" turns 20: Secrets of Elliott Smith's accidental masterpiece (slideshow)

    "Stray" 7-inch, Cavity Search Records (photo courtesy of JJ Gonson photography)

    "Roman Candle" turns 20: Secrets of Elliott Smith's accidental masterpiece (slideshow)

    Elliott's Hampshire College ID photo, 1987

    "Roman Candle" turns 20: Secrets of Elliott Smith's accidental masterpiece (slideshow)

    Elliott with "Le Domino," the guitar he used on "Roman Candle" (courtesy of JJ Gonson photography)

    "Roman Candle" turns 20: Secrets of Elliott Smith's accidental masterpiece (slideshow)

    Full "Roman Candle" record cover (courtesy of JJ Gonson photography)

    "Roman Candle" turns 20: Secrets of Elliott Smith's accidental masterpiece (slideshow)

    Elliott goofing off in Portland (courtesy of JJ Gonson photography)

    "Roman Candle" turns 20: Secrets of Elliott Smith's accidental masterpiece (slideshow)

    Heatmiser (L-R: Elliott Smith, Neil Gust, Tony Lash, Brandt Peterson)(courtesy of JJ Gonson photography)

    "Roman Candle" turns 20: Secrets of Elliott Smith's accidental masterpiece (slideshow)

    The Greenhouse Sleeve -- Cassette sleeve from Murder of Crows release, 1988, with first appearance of Condor Avenue (photo courtesy of Glynnis Fawkes)

  • Recent Slide Shows

Comments

0 Comments

Comment Preview

Your name will appear as username ( settings | log out )

You may use these HTML tags and attributes: <a href=""> <b> <em> <strong> <i> <blockquote>