Search..Archives..Contact Us..Table Talk..Ad Info..Investors

Salon.comFree Software Project
Navigation
Navigation
[Arts & Entertainment] [Books] [Comics] [Health & Body] [Media] [Mothers Who Think] [News] [People] [Politics 2000] [Technology] [Travel & Food]

Article Finder



Search


Salon.com Sites
 
Arts & Entertainment
Books
Comics
Health
Media
Mothers Who Think
News
People
Politics2000
Technology
. Free Software Project
Travel & Food
_______
Columnists
Table Talk
_
 

Newsletters


Free Software Project by e-mail
Sign up here to be notified via e-mail about the latest updates to the Free Software Project.



Unsubscribe


 


_

 

 


BSD Unix: Power to the people, from the code | page 1, 2, 3, 4

"BSD was Bill Joy, initially," says McKusick. "He did the distributions and talked about them and pushed them out. He would give talks, and, inevitably, at the end of the talk he would say, 'And if you have any cool stuff, come talk to me.'"

But, Eric Allman hastens to interject, Joy did not invent the concept of freely redistributing software at Berkeley. That "seemed to be an ethos that permeated Berkeley in general," recalls Allman, who had worked in the early '70s on a database project called INGRES that was widely redistributed. And after Joy was gone, that ethos, says Allman, continued.

It is a gorgeous spring Sunday in March. McKusick, Allman and I are sitting around an outdoor table in the backyard of "Chez Oxford," the north Berkeley cottage that Allman and McKusick have lived in for nearly 20 years. The first warm sun after a month of nearly continual rain is beaming down upon us, combining happily with a stream of selections from Chez Oxford's copious wine cellar.

Allman and McKusick can use some relaxing. Allman's company, Sendmail, is in the midst of a hectic round of financing and has just released a major upgrade. McKusick, meanwhile, has sent the entire BSD community into a tizzy by orchestrating a merger between BSDi, a spinoff from the CSRG that sells a proprietary version of BSD, and Walnut Creek CD-ROM, the largest distributor of the FreeBSD distribution. Plans are even afoot for the migration of some code from BSDi's proprietary BSD/OS into the completely free FreeBSD. Interpretations of the merger's significance vary wildly. To some, it's a concession that BSDi's proprietary offerings are making no headway against the Linux onslaught. To others, the merger is a hopeful sign that the days of BSD splintering are over: The community is re-forming again, readying itself for a new round of sparring with other operating-system upstarts.

If Joy was the heart of BSD, then McKusick is its soul, the keeper of the Berkeley Unix flame. After Joy's 1982 departure, Leffler lingered around Berkeley long enough to complete the delivery of BSD 4.2 to DARPA, and then also left academia for the more lucrative embrace of Lucasfilm and, later, Silicon Graphics. McKusick, who had until then been juggling his dissertation with various BSD tasks that Joy talked him into doing, picked up the reins.

To this day, McKusick says proudly, he is one of the only original BSD developers who subscribes to developer mailing lists for all the major BSD spinoff distributions. Every night at 2 a.m., one of his computers downloads that day's modifications of FreeBSD and recompiles the system, keeping him excruciatingly up to date. If anyone can claim a comprehensive perspective on BSD's evolution over time, it is McKusick.

Like his fellow BSD coders, McKusick disavows revolutionary fervor or Berkeley radical ambitions.

"The contribution that we made, ultimately," says McKusick, "was in developing a model for doing open-source software ... We figured out how you could take a small group of people and coordinate a software project where you have several hundred people working on it."

McKusick outlines an organizational model that grew up in the wake of the departure of Joy and Leffler. At the center, there is a "core group" -- a set of programmers who control access to the code, by granting or revoking the right to modify or "commit" new code to the code base. Spreading out from them are the "committers" who have that right. Extending out beyond the committers are the general community of developers who submit changes, bug reports and fixes to the committers. Most of today's high-profile open-source projects, such as the Apache Web server and the GNU project, use a similar form of organization. Linux is the major exception. There is no core for Linux -- just Linus Torvalds, followed by a tier of trusted "lieutenants."

"The committers," says McKusick, "were a group of people we trusted to commit stuff that were responsible for things. The notion was that you didn't have all these autocratic controls ... Now, you could have snuck in and committed something to the kernel, some kind of trapdoor even. I won't say we wouldn't have been none the wiser, because we did in fact keep close tabs on what was going on in the kernel, but we didn't need to tell people not to do that; we didn't have to administratively keep them from doing things they shouldn't be doing. We had set up a culture as well as a structure."

Still, 90 percent of the contributions were thrown away; the rest, as McKusick likes to say, "were peed upon to make them smell like Berkeley.

"The trick is that ultimately you find that small nugget of people who are the really good ones, and that's why we have this whole hierarchy, that's why we still have a hierarchy today," says McKusick. "Yes, there are thousands of developers, most of whom honestly couldn't paint themselves out of a wet paper bag if their life depended on it ... But you still give them a place; you don't just dismiss them."

The circle has widened constantly, McKusick notes. Today, FreeBSD has a core of 16, surrounded by nearly 180 committers and thousands of developers. Even so, FreeBSD is dwarfed by the development community contributing to Linux-based operating systems. Which raises the obvious question, one that McKusick has heard hundreds of times over in recent years: How did Linux-based operating systems overtake BSD?

There are some obvious answers. In the early '90s, as the power of personal computers grew steadily, many Unix aficionados began seeking a way to run Unix on their PCs. There were two contenders at the time, 386BSD, a version of BSD created by William and Lynne Jolitz for computers built around Intel "x86" microchips, and Linux-based operating systems. But the AT&T suit, combined with the slow pace of development on 386BSD, placed the whole BSD effort under a cloud. No one knew if AT&T would succeed in quashing BSD altogether. Linux, in combination with the GNU utilities, was protected by the ironclad GNU General Public License -- all the code was free and always would be free.

By the time the AT&T suit was resolved, the snowball ride to Linux was underway. And the future development of BSD after 386BSD did little to persuade hackers to change their minds. Developers dissatisfied with the pace at which 386BSD incorporated new patches split off and founded FreeBSD and NetBSD in 1993. Not long after, an internal dispute within the NetBSD core resulted in the spawning of OpenBSD. Meanwhile, McKusick and other members of the CSRG founded BSDi.

McKusick shrugs off the widely held perception that the BSD community is irreparably shattered. In addition to the just-merged FreeBSD and BSDi, he declares, there are only two other major distributions of BSD, each of which has its own particular focus. NetBSD specializes in porting BSD to different computer architectures. OpenBSD concentrates on security issues.

And how many Linux distributions are there? asks McKusick, rolling his eyes. Fifteen, 20?

I point out that all the Linux distributions share the same kernel, which is overseen by the strong, and generally impartial, centralizing presence of Torvalds. BSD has no center.

McKusick looks a little wistful.

"This is somewhat egotistical," he says. "But I believe that had I been willing to act as the figurehead ... I could have kept the community from splitting. I had basically been in that position for 10 years, maybe 15, and I had really felt that the time had come to pass the mantle on to other people. I had a certain view of the way things ought to be done, and at some point you want to get new blood. Honestly, what I really thought was going to happen was, I knew that things would explode and there would be a lot of different [distributions], and I figured most of them would die off, and one would become the evident new one. And in some ways that really has happened. I mean FreeBSD has, at least by seats, 80 percent of the market, and the other two are interesting, but they are really out in the noise."

Depending too much on a centrally unifying force, suggests McKusick, isn't necessarily a strength. "What happens when Linus Torvalds either dies, gets tired or otherwise steps away from it all? It's a huge weight. He's done, in my mind, a terrible job of building something that lives beyond him. If I got hit by a bus, BSD wouldn't really be affected a lot."

As proof of his assertion, he notes that Torvalds does not rely on a source code control software* program to administer changes to the Linux kernel. Instead, Torvalds reviews each major patch by plugging it into his own development system. But what happens if something goes wrong? How do you roll back to before the changes? Where is the institutional memory, as embodied by software, that will keep a project going when the original leader leaves?

When I e-mailed Torvalds after this discussion for a response, he dismissed the problem.

"The purely technical side of keeping track of the sources can be handled by source control packages," says Torvalds, "but at least, in my opinion, they actually tend to favor the approach of 'Let's put this in now; if it turns out to be a mistake, we can always revert it because we have source control.' And of course, nobody ever actually does clean up anything. Or hardly ever. So I think the real problem in computer science is to have quality control before it even hits the distribution, and so far there isn't any other package than the human brain that can do that job."

Torvalds' answer is interesting, if only because the confidence that it reveals echoes the strength of Joy's belief in his own abilities. Perhaps Linux will not be able to develop BSD-like organizational structures until after Torvalds leaves the scene.

Ultimately, the disagreements over organizational strategy between the BSD and Linux camps are petty when compared with the similarities. As McKusick is quick to stress, "The important thing is to be open source, not whether Linux or BSD wins out."

And in that context, one can indeed see BSD, from the Joy era through the McKusick era and beyond, as part of a continuum feeding energy and enthusiasm into the current Linux upswing. Even during the earliest days, Joy, as McKusick notes, wanted other people to contribute "cool things." Ever since then, the trend line has been one in which the circle of contributors has widened steadily. BSD demonstrated how to bring people into the process -- by making them part of the process and by giving them credit for their contributions. As Keith Bostic,*, the leader of the drive to create a version of BSD that included no proprietary AT&T code at all, likes to say, "There is no end to the world of good you can do by giving people credit."

Because what happens? You end up creating tools that everyone can use to be even more productive, to create even-greater structures that encourage collaboration, which in turn unlock even more creativity. That's the essence of free software, and it goes beyond what kind of license protects the software, or whether source control software is employed, or even how arrogant the top developers might be. By opening up the code, Berkeley widened the pool of software possibility.

- - - - - - - - - - - - - - - - - - - - -

Gage* didn't contribute to the code in Berkeley Unix, but he spent plenty of time hanging around the computer rooms in Evans Hall, gabbing with Joy and pondering the political implications of the computer revolution. Gage, a mathematical statistics graduate student at Berkeley, was also a hippie radical from way back -- involved in both the Free Speech Movement and the antiwar protests. He was a delegate for Bobby Kennedy at the Democratic Convention in 1968 and deputy press secretary for presidential candidate George McGovern in 1972.

After three hours in Gage's favorite Berkeley coffee shop exploring what the Internet means for individual liberty and what role Berkeley Unix played in catalyzing the Internet's growth, Gage rolls his memories back to perhaps the single most-famous moment in Berkeley's history of activism.

He starts quoting the speech Mario Savio gave on the steps of the administration building overlooking Sproul Plaza. He hunches over the table, his eyes blazing with a sudden visceral intensity:

"'There is a time when the operation of the machine becomes so odious,'" declaims Gage, "'makes you so sick at heart, that you can't take part; you can't even passively take part, and you've got to put your bodies upon the gears and upon the wheels, upon the levers, upon all the apparatus, and you've got to make it stop. And you've got to indicate to the people who run it, to the people who own it, that unless you're free, the machine will be prevented from working at all!'"

Gage grins. Berkeley Unix, he proposes, offered a different way forward from the painful agony of hurling oneself into the operation of a demonic crankshaft. Berkeley Unix, with its source code available to all who wanted it, was the "gears and levers" of the machine. By promoting access to the source code, to the inner workings of that machine, the free-software/open-source movement empowered people to place their hands on the gears and levers, to take control of their computers, their Internet, their entire technological infrastructure.

"The open-source movement is a free speech movement," says Gage. "Source code looks like poetry, but it's also a machine -- words that do. Unix opens up the discourse in the machinery because the words in Unix literally cause action, and those actions will cause other actions."

Savio is dead. The Free Speech Movement is half-forgotten. Few, if any, of its participants would have predicted at the time that a network of computers might prove to be free speech's greatest friend and best weapon. Indeed, Savio's "machine" was in part a metaphor for what he saw as the dehumanization inherent in information technology: The University of California was IBM, the students were punch cards, both literally and figuratively, fed into the machine, not to be folded, spindled or mutilated.

The Berkeley Unix hackers, by helping to unleash the power of the Internet, rehumanized the "machine." Those "words that do" instigated connectivity and provoked communication. Somewhere, Savio is smiling.

Post your comment on this portion of the book

Go back and read chapter one

 

- - - - - - - - - - - -

About the writer
Andrew Leonard is a senior writer for Salon Technology and author of Salon's Free Software Project, an online book-in-progress exploring the history and culture of the free software movement.

Sound off
Send us a Letter to the Editor

Send e-mail to Andrew Leonard

- - - - - - - - - - - -

Print this story  Get a printer-friendly version

Email this story  E-mail a friend about this article

Backflip This Story  Backflip this article to find it again

- - - - - - - - - - - -

Search Salon


  
Advanced Search  |  Help
 









____


.About the Free Software Project


.Complete list of published chapters and discussions


.Full outline of the book


.Glossary of terms and people


.Andrew Leonard biography


.Free Software Project home page


 





Salon | Search | Archives | Contact Us | Table Talk | Ad Info

Arts & Entertainment | Books | Comics | Life | News | People
Politics | Sex | Tech & Business | Audio
The Free Software Project | The Movie Page
Letters | Columnists | Salon Plus

Copyright © 2000 Salon.com All rights reserved.