4. Lists

Free For All. Go to the Table of Contents. Vist the Gifcom.


While Alan Cox was sleeping late and Microsoft was putting Richard Schmalensee on the stand, the rest of the open source software world was tackling their own problems. Some were just getting up, others were in the middle of their day, and still others were just going to sleep. This is not just because the open source hackers like to work at odd times around the clock. Some do. But they also live around the globe in all of the different time zones. The sun never sets on the open source empire.


On January 14, 1999, for instance, Peter Jeremy, an Australian, announced that he had just discovered a potential Y2K problem in the control software in the central database that helped maintain the FreeBSD source code. He announced this by posting a note to a mailing list that forwarded the message to many other FreeBSD users. The problem was that the software simply appended the two characters "19" to the front of the year. When the new millennium came about a year later, the software would start writing the new date as "19100." Oops. The problem was largely cosmetic because it only occurred in some of the support software used by the system.


FreeBSD is a close cousin to the Linux kernel and one that predates it in some ways. It descends from a long tradition of research and development of operating systems at the University of California at Berkeley. The name BSD stands for "Berkeley Software Distribution," the name given to one of the first releases of operating system source code that Berkeley made for the world. That small package grew, morphed, and absorbed many other contributions over the years.


Referring to Linux and FreeBSD as cousins is an apt term because they share much of the same source code in the same way that cousins share some of the same genes. Both borrow source code and ideas from each other. If you buy a disk with FreeBSD, which you can do from companies like Walnut Creek, you may get many of the same software packages that you get from a disk from Red Hat Linux. Both include, for instance, some of the GNU compilers that turn source code into something that can be understood by computers.


FreeBSD, in fact, has some of its own fans and devotees. The FreeBSD site lists thousands of companies large and small that use the software. Yahoo, the big Internet directory, game center, and news operation, uses FreeBSD in some of its servers. So does Blue Mountain Arts, the electronic greeting card company that is consistently one of the most popular sites on the web. There are undoubtedly thousands more who aren't listed on the FreeBSD site. The software produced by the FreeBSD project is, after all, free, so people can give it away, share it with their friends, or even pretend they are "stealing" it by making a copy of a disk at work. No one really knows how many copies of FreeBSD are out there because there's no reason to count. Microsoft may need to count heads so they can bill everyone for using Windows, but FreeBSD doesn't have that problem.


That morning, Peter Jeremy's message went out to everyone who subscribed to the FreeBSD mailing list. Some users who cared about the Y2K bug could take Jeremy's patch and use it to fix their software directly. They didn't need to wait for some central bureaucracy to pass judgment on the information. They didn't need to wait for the Y2K guy at FreeBSD to get around to vetting the change. Everyone could just insert the fix because they had all of the source code available to them.


Of course, most people never use all their freedoms. In this case, most people didn't have to bother dealing with Jeremy's patch because they waited for the official version. The FreeBSD infrastructure absorbed the changes into its source code vaults, and the changes appeared in the next fully updated version. This new complete version is where most people first started using the fix. Jeremy is a programmer who created a solution that was easy for other programmers to use. Most people, however, aren't programmers, and they want their software to be easy to use. Most programmers aren't even interested in poking around inside their machines. Everyone wants the solution to either fix itself or come as close to that as possible.


Jeremy's message was just one of the hundreds percolating through the FreeBSD community that day. Some fell on deaf ears, some drew snotty comments, and a few gathered some real attention. The mailing lists were fairly complex ecologies where ideas blossomed and grew before they faded away and died.
Of course, it's not fair to categorize the FreeBSD world as a totally decentralized anarchy. There is one central team led by one man, Jordan Hubbard, who organizes the leadership of a core group of devoted programmers. The group runs the website, maintains an up-to-date version of FreeBSD, and sponsors dozens of lists devoted to different corners or features. One list focuses on hooking up the fast high-performance SCSI hard disks that are popular with people who demand high-performance systems. Another concentrates on building in enough security to keep out attackers who might try to sneak in through the Internet.


That January 14, a man in Great Britain, Roger Hardiman, was helping a man in Switzerland, Reto Trachsel, hook up a Hauppauge video card to his system. They were communicating on the Multimedia mailing list devoted to finding ways to add audio and video functions to FreeBSD systems. Trachsel posted a note to the list asking for information on how to find the driver software that would make sure that the data coming out of the Hauppauge television receiver would be generally available to the rest of the computer. Hardiman pointed out a solution, but cautioned, "If your Hauppauge card has the MSP34xx Stereo Decoder audio chip, you may get no sound when watching TV. I should get this fixed in the next week or two."
Solutions like these float around the FreeBSD community. Most people don't really care if they can watch television with their computer, but a few do. The easy access to source code and drivers means that the few can go off and do their own thing without asking some major company for permission. The big companies like Microsoft and Apple, for instance, have internal projects that are producing impressive software for creating and displaying multimedia extravaganzas on computers. But they have a strict view of the world: the company is the producer of high-quality tools that make their way to the consumer who uses them and pays for them in one way or another.


The list ecology is more organic and anti-hierarchical. Everyone has access to the source code. Everyone can make changes. Everyone can do what they want. There is no need for the FreeBSD management to meet and decide "Multimedia is good." There is no need for a project team to prioritize and list action items and best-of-breed deliverables. Someone in Switzerland decides he wants to hook up a television receiver to his computer and, what do you know, someone in Great Britain has already solved the problem. Well, he's solved it if you don't have an MSP34xx stereo decoder chip in your card. But that should be fixed sooner or later, too.