salon premiumfind out morelogin
Salon.com
Salon SponsorBoxbar

[Arts & Entertainment][ Books ][ Comics ][ Life ][ News ][ People ][ Politics ][ Sex ][ Technology ][ Audio ]

Article Finder



The unknown hackers

Open-source pioneers Bill and Lynne Jolitz may be the most famous programmers you've never heard of.

By Rachel Chalmers
- - - - - - - - - -

May 17, 2000 | N ot many Linux-come-latelies know this, but Linux was actually the second open-source Unix-based operating system for personal computers to be distributed over the Internet. The first was 386BSD, which was put together by an extraordinary couple named Bill and Lynne Jolitz. In a 1993 interview with Meta magazine, Linus Torvalds himself name-checked their O.S. "If 386BSD had been available when I started on Linux," he said, "Linux would probably never have happened."

Linux obviously did happen. Why? Eric Raymond, the open-source evangelist, believes it came down to a question of personal style. In his A Brief History of Hackerdom he praises 386BSD at the expense of the "crude" versions of Linux that were around at the time.

The deciding factor, argues Raymond, was not technological but social. Torvalds, even while practicing rigorous quality control in determining what goes into the Linux kernel and what stays out, nevertheless welcomes contributions and is remarkably generous in sharing credit.

The Jolitzes had a very different style. Like Torvalds, they placed a premium on quality control, but unlike him, they seem to have tried to control quality by doing most of the work themselves. This inevitably made their release cycle slow, but it was also an implied snub to would-be collaborators -- who took their contributions elsewhere.

The Jolitzes' insight that the world needed an open-source Unix-like operating system running on Intel's x86 microprocessors has been triumphantly borne out by history. Yet outside the Unix community they remain virtually unknown. In trying to earn most of the credit for their insight, they lost nearly all of it.

Bill and Lynne Jolitz are charming and forthcoming. Their chemistry as a couple is evident; they interrupt each other fluidly and finish each other's sentences. Their pride in their achievements is equally evident. Lynne is heated in her defense of Bill's reputation. So is Bill.

In 1989 or 1990, Lynne remembers, the Berkeley distribution had gone from being available on the most relevant machines to being limited to what the Jolitzes saw as the most irrelevant. "There was an HP [Hewlett-Packard] port in progress and nothing else," she says. "Since we were looking for recreation, we offered to do one for the 386." "Completely as a lark," Bill adds.

Intel's now-ubiquitous chip design for personal computers, the x86, was then in its infancy. This daunted the Jolitzes not at all. "The choice of architecture was obvious to us then," Lynne says. "People said why not [Digital Equipment Corp.'s rival chip] Alpha? But it was clear that the x86 architecture was going to be the dominant player." "Some of the most promising people I knew at the time were hoping the 386 would die an early death," Bill observes. "It was a harbinger," says Lynne, "way ahead of its time."

"I had been talking to Intel engineers," Bill says. "Their plans were to double performance every 18 months, and they believed they could keep that up for close to a decade." (They did.) "The rate of improvement on a VAX was not nearly so competitive. The 386 was already faster than a DEC mainframe even without that happening. Yet a senior researcher at DEC asked me, 'When will you stop using Unix on these penny-ante machines?'"

"They figured it was a DOS chip, so it couldn't be anything interesting," says Lynne, witheringly. In fact, the Intel architecture was far from perfect. "Parts of the chip were visionary, parts were terrible," she recalls. "It was like a camel." Bill agrees: "We had a joke that one day we'd be working on the 1-billion-86, and they still wouldn't get segments [a method for storing memory] right." In spite of its problems, the Jolitzes believed in Intel's chip, and the Unix port went ahead.

The Jolitzes released Version 0.0 of 386BSD on St. Patrick's Day 1991. It was barely functional, but available to anyone with 30 floppy disks to spare. The system shipped under a BSD-style software license, permitting it to be freely distributed and modified as long as copyright attribution remained intact. But the Jolitzes knew even as they announced it that this release was not enough.

"As we were doing and documenting the port, we realized we'd eventually have to do a complete release," Lynne says. "This was a very arduous process. We had to throw away all the licensed portions. We started to do novel work. We realized that a lot of what we had thrown away were first cuts. It's ironic that people have spent so much time and money on stuff developers just threw in."

The Jolitzes believed that from its origins as a series of quick, if elegant, hacks, Unix had hardened into a series of unquestioned rituals for getting things done. Many of these rituals were fossils -- work-arounds for hardware that no longer existed. "It's amazing how much we were still tied to the past," Lynne says. "The physical machines had been hauled away, but elements of the operating systems are still being implemented in the same way." She believes today's Linux and BSD developers are carrying on that unhelpful tradition.

"It's like they're doing incantations," she says. "They're repeating what they've been taught, and they don't know what it means."

"There are all these artifacts of minicomputers still left in," Bill agrees. One example is the allocation of address space and garbage collection. Put simply, this is how the machine decides where to put numbers it needs to remember, and when to clean up numbers it no longer needs. Bill criticizes what he describes as the "linear" idea of address space enshrined in Unix: Memory is assigned to the next free block of appropriate size. "It's adequate for simple memory allocators but a massive problem for large allocations and clusters," he says. "You end up with lots of little pools of memory."

"There are ways to solve this. It's cut and dried," says Lynne. "You can ask anyone. Yet even trying to implement the changes necessary to improve the system results in incredible controversy, because you're removing something somebody knows. You have to have been there to know that a lot of these elements of the operating system were very rough first cuts."

"The Unix systems then offered eight or 10 different competing mechanisms to do basically the same thing," Bill says. "The question in 386BSD was, How many of those could we get rid of? We increased the capabilities and reduced the size by a factor of 35."


Next page | The Jolitzes slash and burn their way through Unix

shim


shim

Reproduction of material from any Salon pages without written permission is strictly prohibited
Copyright 2003 Salon Media Group, Inc.
Salon, 22 4th Street, 16th Floor, San Francisco, CA 94103
Telephone 415 645-9200 | Fax 415 645-9204
E-mail | Salon.com Privacy Policy | Terms of Service