Innovation in the computer industry — Personal recollections (part 3)
For the past couple of months, I’ve been describing some of the experiences that I’ve had during my more than 30 years in the computer industry. I recently read the latest book by Walter Isaacson, who wrote the 2011 biography of Steve Jobs. This book is entitled: “The Innovators How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution.” The book’s basic thesis is that innovation is not really about the lone genius inventing in a garage. Rather it’s the collaboration among a variety of people with varying skill sets, dispositions and intelligence, along with the right environment that sparks innovation.
My first missive was about my early years in the business, focusing on my time with Arco and how I learned to engineer solutions. The second was about my experiences working for Sanders Associates in the defense industry. It was at Sanders that I developed my base expertise in operating system design.
This was the background for what was to become my front row seat to some of the technological advances described in Issacson’s book. More importantly, it was the most productive and enjoyable phase of my career.
In 1984, I started working for Digital Equipment Corporation (also, DEC and Digital) in a group working on DEC’s version of UNIX entitled Ultrix. In 1984, UNIX was an anathema to the company. Their flagship VAX-11 minicomputer with the VMS operating system, plus RSX-11 and TOPS-20 were mainstream and provided huge revenues to the company. When I joined, DEC had just released its first version of Ultrix, which was largely a repackaging of the Berkeley Distribution System (BSD) version 4.2 without any real additional DEC specific functionality. It was the perfect time to join the team. It was a small but passionate team that thoroughly enjoyed tilting at the mainstream windmills represented by VAX/VMS and the constellation of applications that supported and extended the VAX’s capability.
BSD-4.2 was a special distribution of UNIX. It was developed by the University of California at Berkeley’s Computer System’s Research Group (CSRG). It included expanded functionality and the kernel of the OS had been significantly rewritten to bring it up to modern (at the time) standards for a time-sharing system. At DEC, I was responsible for the memory management and process lifecycle components of the kernel. This code was originally written by a graduate student at Berkeley named Bill Joy. It was elegant and reasonably easy to learn code. Conversely, it required significant work to bring it up to the standards of an OS that is marketed to mainstream, enterprise customers. This is what I spent much of the next 8 years doing.
The ’80s was an exceptional time to be working in the UNIX space. Nearly all of the major computer companies were developing UNIX products. Late in the ’80s into the ’90s, these UNIX based products would take over for proprietary systems like VMS. All the folks working with UNIX shared what they had done with the operating system in a highly collaborative environment with little concern about protecting Intellectual property for the companies that they worked for. This provided a very fertile environment for advancing the state-of-the-art. For an engineer, it was really fun and exhilarating.
Here’s but one example. In the late ’80s, engineers from Sun Microsystem (the company cofounded by Bill Joy) published a paper in a journal produced by USENIX (at the time, an organization for UNIX developers) on how they’d reengineered the virtual memory subsystem in their version of UNIX, Sun OS. I devoured the paper, went to the presentation at the next USENIX convention and talked with the Sun Microsystem engineers, particularly Bill Shannon, who led the team. With this information, I went back to my cube at DEC and with a small team, implemented much of what I learned. A very few years later, one of the guys who worked for me took this knowledge and completely redesigned the virtual memory subsystem. This is a wonderful example of the collaborative work that Isaacson describes.
The Sun Microsystem paper and the subsequent presentation would never be presented in today’s technical environment. Corporate IP lawyers would have squelched it. IP is considered too crucial today. The irony was that with all the collaboration that occurred in the UNIX space, there doesn’t seem to have seen any adverse problems with this approach. For many years, all UNIX products improved significantly in large part due to this rich, collaborative environment. Typical of the adage about a rising tide lifting all ships.
Speaking of USENIX, I met and got to know a number of the luminaries in this space. Bill Joy, Mike Karels, Kirk McKusick from University of Berkeley, Dennis Richie, Ken Thompson, Rob Pike from Bell Labs and a myriad of others. I always found the folks that I met at USENIX, Berkeley and Bell Labs (and other companies for that matter) to be inclusive and collaborative. They simply loved what they did and shared it.
I left DEC in 1992 to become a manager at the Open Software Foundation (OSF), a consortium of companies developing UNIX products. The goal of the company was to perform R&D on UNIX and related technologies for the benefit of the consortium members. At OSF, I had the opportunity to work closely with a number of engineers at IBM, HP, Siemens-Nixdorf, Hitachi, DEC and others. Again, it was a time when collaborating on common interests trumped corporate self-interest. That said, the handwriting was on the wall.
The mid-ninties was when there was a shakeout in the software industry, where profitability and intellectual property management started to take center stage. The drive for short-term, consistent and forecastable financial benefits from technology development undermined the established methods and focused development on low-hanging-fruit that could be sold.
In my final missive in this series, I’ll summarize some of the drivers of the 21st century technology industry and the ramifications.
Next: Hey, my iPhone is cool, what’s the problem?
Footnote: The BSD Daemon above was drawn in the ’80s by a guy who had just been fired from Disney Animation: John Lasseter!