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 |