Programmers Ken Thompson and Dennis Ritchie are most often credited with the invention of Unix at Bell Labs in 1969 and the early 1970s. That's entirely fair, but as with most important technologies, it's the people who follow the pioneers who often make the difference between a fabulous lab prototype and a technology that really transforms the landscape.
Here's a brief look at three people, among thousands, who have made a difference in the Unix world.
David Korn, builder of tools
Now an AT&T Fellow, Korn came to Bell Labs in 1976, just when Unix was beginning to move into the outside world in a serious way. Korn, an application software developer with a background in aerodynamics, was assigned to two of the "first real Unix projects at Bell Labs," he says -- one to establish a centralized, mainframe-based database for internal systems, and the other to create a way to update electronic communication switches.
Looking for a better and easier-to-use Unix command language, Korn in the early 1980s wrote what was to become the ubiquitous Korn shell. Borrowing ideas from the original Unix shell written by Ken Thompson, the Bourne shell written by Steve Bourne at Bell Labs and the C shell written by Bill Joy at Berkeley, Korn added his own ideas and turned them into a more general scripting language. The result was a high-level programming language that became the de facto standard for Unix and Unix-like systems.
Then, about 10 years ago, Korn wrote Uwin (Unix for Windows), a Posix-based interface for Windows that allows AT&T's Unix-based code to run on Windows computers. Microsoft wrote Windows NT to allow multiple operating systems to run on a Windows machine as subsystems, but before Korn wrote Uwin, a programmer couldn't mix Unix and Windows calls in one integrated application.
Like so many things associated with Unix at Bell Labs and AT&T, the open-source Uwin software has propagated far and wide. "Hundreds of thousands of users have downloaded it already," Korn says.
The Unix pioneer confesses to a certain nostalgia for his early days with the operating system. "An early hallmark of Unix was its simplicity," Korn says. "Now, much of that is gone. Unix has a lot of things that a lot of people would say they wish weren't there."
Rick Rashid, mucking with Unix
Now head of Microsoft Research, Rashid was a computer science professor at Carnegie Mellon University in 1983 when he began work on Mach, a Unix-based message-passing operating system for multiprocessing applications. Mach was built on a BSD version of Unix; it was a "microkernel" that replaced the BSD kernel. Mach was a follow-on to CMU's Accent system, with support for advanced features such as multiple simultaneous computations within a process.
The Mach research project at CMU ended 10 years later, but it pioneered concepts still in use today. For example, it employed a machine-independent memory management system so it could be targeted at many different types of computers and computing -- uniprocessors, multiprocessors and distributed processors. "And the underlying idea of a microkernel became quite popular," Rashid says. "It spawned a variety of other efforts where operating systems were effectively layered on top of smaller, simpler systems."
Mach was the first 64-bit version of Unix, and it became the basis (along with BSD) for OSF/1, the operating system sponsored by the Open Software Foundation. From there it went on to become the basis for DEC/Compaq/HP Tru64 Unix, NeXTstep -- used by the NeXT computer -- and eventually Apple's Mac OS X.
Rashid says what to name the operating system was much debated among developers at CMU. One team member wanted to call it MUCK, for Multiprocessor Universal Communication Kernel, while another favored MOOSE, for Multiprocessor-Oriented Operating System Environment. Rashid says he was greatly relieved when his choice of Mach won by a coin toss. "I seriously doubt the system would have been very successful had it been named MOOSE," he observes.
Gordon Bell, from the bully pulpit
Bell, now a researcher at Microsoft, spent 23 years in R&D at Digital Equipment Corp., where he most famously led the development of the Vax, the most successful minicomputer ever built. He went on to co-found Encore Computer, whose parallel-processing machines ran Berkeley Unix, and then Ardent Computer, whose graphics super-workstations ran AT&T Unix. Along the way, he advised the U.S. Department of Defense on IT matters and created and headed the National Science Foundation's computer science and engineering arm.
Bell became a Unix evangelist, pushing for its broad adoption in scientific computing and supercomputing while at the NSF and urging the Defense Advanced Research Projects Agency (DARPA) to support the Berkeley and Mach versions of Unix with strong funding. He was on the board of the UniForum Association, which supports open technologies, and pushed for the adoption of the Posix standard.
Bell's enthusiasm for Unix was matched only by his disdain for the commercial vendors of the operating system's variants. He became an outspoken and acerbic critic of the parties in the Unix Wars. In an opinion column entitled "Unix's secret tax bills" (PDF) that appeared in the April 24, 1995 issue of Computerworld, Bell wrote, "'Standard Unix' is an oxymoron. Its backers claim that it's an undifferentiated, 'open' standard, yet vendors maintain differentiated products."
The competitive practices by what he called "the Unix cartel" increased the user's cost of products such as database management systems by 250%, he estimated, and warned that "uncertainty over the responsibility for its evolution" was Unix's most serious flaw.
Bell, who did not then work for Microsoft, predicted that Windows NT, an enterprise-class Unix competitor introduced by Microsoft in 1993, would force the Unix vendors to try harder to develop something resembling a real standard, but he expressed doubt that they could really pull it off. "The [Unix] cartel has no hope of competing other than to stonewall NT as long as possible," he wrote in the Computerworld article.
Complaints from users like Bell about the non-standardization of Unix, plus competition from Windows NT and Linux, did force some standardization of Unix through the creation of The Open Group's Single UNIX Specification and other actions by Unix vendors. In a recent interview, Bell agreed that Unix today "is somewhat more standard than it was pre-Linux."
Asked about its future, Bell would only say, "Unix will continue to be used as a component in embedded systems."
Gary Anthes is a former Computerworld national correspondent.
This story, "On the shoulders of giants: Three Unix movers and shakers" was originally published by Computerworld.