Pacific Connection(英語)

FreeBSD is Not Linux

Bob Bruce, the founder of FreeBSD Mall, has a complaint. "FreeBSD doesn't get the credit it deserves because, in surveys, it is lumped under UNIX or, more often, under Linux," he says. "People think that if it's open source, and it's an operating system, it must be Linux."

Why is Linux better known than BSD? Why do the two get confused by the non-technical press? Compared with commercial operating systems like Windows, Mac OS X, and Solaris, both BSD and Linux present a more complicated picture. As is the nature of open source developments, each has multiple distributions. The Linux site at shows 157 maintained distributions, from AlphaLinux, Armed Linux and ASPLinux to Yellow Dog Linux, ZiiF Linux and ZipHam Linux. BSD had no such comparable listing (none I could find, anyway), but more than 100 BSD distributions are rumored to exist.

Even so, Linux is seen as a more coherent whole, a clearer entity that is easier to write about and discuss. Linux distributions have a common Linux kernel-Linux 2.4 And then there's Linus Torvalds, who not only personifies Linux, but holds the copyright to the kernel, and indeed, to the Linux trademark. There is no Linus Torvalds of BSD. These factors have helped make Linux seem, rightly or wrongly, as a single, unified "community". By contrast, BSD is perceived as more amorphous than Linux, harder to get your fingers around, with more people speaking on its behalf.

And so BSD is less publicly identified with the open source movement, and is less visible in the U.S, even though it has deeper roots. But if you were forced to identify a single BSD distribution to represent the whole, FreeBSD seems the best qualified. It is the oldest, the most widely implemented, with the most third-party applications. While FreeBSD does not support the greatest number of hardware platforms, it's the most closely identified with ubiquitous Intel architecture. Enter "Linux" into Google and the top listing is "". Do the same for "BSD," and the top choice is "".

Not that NetBSD, OpenBSD, and Wind River's BSD/OS should be discounted, for each has carved out a distinctive niche. NetBSD supports more processors than any other, including such "historical" machines as the VAX minicomputer and Sega Dreamcast. OpenBSD has garnered a reputation for security "based on systematic eradication of bugs from BSD code and early integration of IPsec public key encryption standards," writes Gartner analyst Mary Hubley. She notes that OpenSSH, a free version of Secure Shell, has been implemented both by FreeBSD and NetBSD, "an example of considerable cross-pollination among these groups."

Bob Bruce says that "NetBSD has a big edge in embedded systems, because it runs on more platforms than any other operating system, bar none. There's also Wasabi Systems which is set up to do NetBSD on embedded systems, and just got $2 million in funding to go forward. Wind River is also focusing in on embedded systems, and BSD/OS is better supported than NetBSD because it has a large company behind it. Plus you get a very good support framework and integrated development environment." Bruce agrees that OpenBSD is best known for its high security features. "That leaves FreeBSD for the general purpose servers and the desktop systems within the BSD community." (FreeBSD may be impinging on OpenBSD's turf. The Defense Advanced Research Projects Agency (DARPA) is funding the development of security extensions to FreeBSD.)

BSD/OS is a special case, a proprietary operating system that is available only on a fee basis from Wind River. BSD/OS is a closed-source product based on an open source technology. Such an arrangement couldn't happen under Linux, which uses the GNU (GNU is not Unix) General Public License (GPL), the most open of open source agreements. It requires that any development work be made available to everyone. That's not so with the BSD license, wherein a developer can make changes, and earn income from those changes through a proprietary version of BSD.

If an operating system is best known by its prominent installations, FreeBSD supporters point to two customers. The first is Yahoo!, which runs most of its webservers on FreeBSD. The second is Apple, whose Darwin-the core foundation technology for Mac OS X and Mac OS Server-is based on the Mach 3.0 kernel and Apple's own implementation of Berkeley Standard Distribution (BSD) 4.4. Both FreeBSD and NetBSD have claimed stakes in Darwin, and Apple itself says that both distributions were used. But Jordan Hubbard, a FreeBSD pioneer, is in charge of Apple's BSD development group and presumably leaned toward the operating system he knows best. Other large users, according to the FreeBSD handbook, include-at least in the beginning-Hotmail, as well as Sony Japan and Apache.

The biggest complaint about Free BSD-and BSD in general-is the relative scarcity of applications. Hubley writes that FreeBSD must battle complaints that there are "few third party applications and no native applications." Bob Bruce counters that "because FreeBSD is Linux binary compatible, anything that runs on Linux runs on FreeBSD as well. For example, the FreeBSD Netscape browser isn't updated as often as the Linux browser, so I just run the Linux browser on FreeBSD."

Complicated history

The FreeBSD project began in 1993, growing out of the "Unofficial 386BSD Patchkit," an intermediate snapshot of the operating system created by Bill Jolitz. After Jolitz withdrew support, the project's name was changed to "FreeBSD," and the coordinators--Jordan Hubbard, Nate Williams, and Rod Grimes--contacted Walnut Creek CDROM and its owner, Bob Bruce, with the idea of distributing the OS in CD-ROM format. "Without Walnut Creek CDROM's almost unprecedented degree of faith in what was, at the time, a completely unknown project, it is quite unlikely that FreeBSD would have gotten as far, as fast, as it has today," wrote Hubbard.

In 2000, Walnut Creek CDROM merged with BSDi, the company formed by members of the Computer Systems Research Group (CSRG) at the University of California at Berkeley. In April 2001, Wind River Systems, Inc. purchased the software assets of BSDi, which included BSD/OS and FreeBSD. Then last January, Wind River transferred its FreeBSD operations back to Bruce, who renamed his newly independent company FreeBSD Mall.

"FreeBSD didn't fit in with Wind River's business model," Bruce recalls. "So they called me and other companies as well-Daemon News, for one-looking for a successor organization. I was the one they picked, mainly because I had run the unit before and knew how the systems worked. The people that were transferred with the unit were people who originally worked for me."

When I spoke with Bruce, his reemergence as the primary commercial keeper of FreeBSD had only just happened and he was still trying to figure out what do next. His immediate plans were to give his employees, who have seen three changes in ownership in the past 18 months, some stability. "In three months or so, after we've gotten through a release cycle and gotten all the systems going, we'll take a look at more ambitious things. Right now, we're one of the driving forces of getting the releases out, we're doing a FreeBSD toolkit update, and an update of the FreeBSD Handbook. There's also other projects-we're contracting with someone to develop a graphical installer for FreeBSD."

FreeBSD 5.0 slated to debut in November

Although FreeBSD Mall has regained its role as the principal commercial source for FreeBSD CD-ROMs and OS support, the brain trust for future development remains the FreeBSD Project. Warner Losh, a member of the eight-person core team that constitutes the project's governing body, is a senior software developer for Timing Solutions in Boulder Colorado, where he works on device drivers for timing devices and control programs.

Losh doesn't think having competing BSD open source projects has hurt overall acceptance. Perhaps it has even helped. "In large part, the competition between the three projects has raised the bar for all the projects, because we are constantly competing with NetBSD or OpenBSD to see who has the best hardware support or the latest cool feature. And the fact that we can easily share code between the distributions helps everybody."

He says that FreeBSD's principal claim to fame remains its optimization for the Intel platform. "The systems you deploy with FreeBSD on Intel tend to run better and faster than the other distributions of BSD. FreeBSD has the largest number of third-party applications. And finally, we have the most extensive security reporting mechanism in place of the FreeBSD distributions. Combined, these provide a compelling reason to run FreeBSD versus NetBSD or OpenBSD."

The FreeBSD project maintains two "branches": the current branch where ongoing development takes place, and the stable brand, the source for new releases. When a new major release takes place, the project creates a new stable branch. That will happen again with release 5.0, which is scheduled for November, with earlier preview versions planned for spring and summer. "The 5.0 release has a number of new features, the biggest of which is the addition of fine-grain SMP. We already support multiprocessing systems," says Losh. "With 5.0, we make the locking granularity smaller, increasing parallelism so that you can make greater utilization of the CPUs. With a coarse grain lock system, you spend more time in lock contention. A finer grain lock system can scale to a higher number of CPUs and be more efficient even on a two-CPU system."

Other 5.0 features include 32-bit PC card bus support for ACPI (Advanced Configuration and Power Interface) power management and system configuration. "ACPI allows a mobile environment to more easily use less power than with the older APM [Advanced Power Management] standard," Losh says. "It mostly applies to laptops, but all desktop systems have it as well. ACPI also provides better system configuration; it's a more unified way for the operating system to find out what hardware the system has. In some ways ACPI is a successor to the plug-and-play initiatives of the middle-90s." FreeBSD 5.0 supports has some new CPU ports, including SPARC64, the Intel Itanium, a PowerPC port, and a port for the AMD's Hammer family of processors. The operating system is also gaining traction in the embedded market, particularly on Intel embedded processors. Finally, release 5.0 will support additional devices oriented toward the server market, including newer gigabit Internet devices and some RAID controllers.

Japanese contributions

Losh estimates the project has some 300 FreeBSD committers-developers with permission to write to the FreeBSD repository. "They are all over the world, with probably 30 to 40 developers in Japan, and another 10 to 15 developers in the rest of Asia. Over half the developers are in the U.S., maybe another 70 in Europe and 20 in Australia. The biggest contributions from Japan for FreeBSD for 5.0 have been in the areas of laptop support, firewire support, and Japanese documentation," Losh says. Laptop support has centered around PC and CardBus cards, especially in the area of wireless communications. "The Japanese tend to have access to wireless cards months before they are available in the U.S.," he says.

One of Losh's roles is to coordinate between Japanese and U.S. developers, a job that has taken him to Tokyo a couple of times. "I try to bridge some of the language and cultural barriers that sometimes are present. The biggest source of problems has simply been a lack of communication. Once the lines of communication have opened up, it has been a very mutually beneficial relationship." The language barrier is the principal hurdle. "But even simple things like educating American developers to address Japanese developers using "-san" after their name helps gain respect."

Losh says that worldwide, three groups of people are involved with FreeBSD development. One group uses FreeBSD in their job, and typically makes incremental improvements. He puts himself partly in that category. The other class are people who enjoy BSD, and contribute for the pure joy of it. "I'm also in that group," he says. A third group involves people doing localization. "That's definitely true in Japan." Indeed, FreeBSD, and perhaps BSD in general, has received a warmer welcome in Japan than in the U.S. "I go to Japan and see a whole row of books on the shelf about FreeBSD, and in the U.S. I only see a couple," Losh says. "I think one reason for that is that BSD was used more in the Japanese university system and also FreeBSD was available for the Japanese PC very early on - 1.1 was the first release FreeBSD had that included support for the PC98 platform. Those two factors combined to help make FreeBSD fairly popular in Japan."

Sidebar: Jun-ichiro "itojun" Hagino on NetBSD

While Warner Losh is serving as a cultural bridge between FreeBSD and Japanese, Jun-ichiro "itojun" Hagino is doing the same between NetBSD and America. itojun is both a core researcher on the KAME Project and a member of NetBSD Project's core group. He says NetBSD has more than 200 developers supporting the OS, which is known for its wide number of ports. These include mainstream processors like the Intel i386 and Motorola 68k series on the Macintosh; unexpected machines, like the Sony Playstation 2 and the defunct Sega Dreamcast; lower-power chips like the StrongARM, and RISC processors of many stripes.

"NetBSD has clean bus architecture framework, which helps us share most of the driver code across our supported platforms," he said, speaking in English by telephone and in e-mail correspondence. "Common device driver source code is used for i386, Alpha and PowerPC, for example, and porting drivers between NetBSD and OpenBSD is easy. Porting to and from FreeBSD or BSD/OS is harder, due to driver framework differences. We of course try to follow POSIX and other UNIX standards."

itojun says that NetBSD is second to FreeBSD in popularity among BSD distributions. "Because of its clean bus architecture, NetBSD attracts many people interested in doing new implementations and experiments using non-Intel CPUs." For example, itojun's own company, IIJ (Internet Initiative Japan), uses the operating system on its family of small routers, which incorporate an Hitachi SuperH processor. "NetBSD will continue to attract people doing high-performance development. We hope to see more people using on desktops, as well as more cooperation with other BSD groups." Does that mean BSD will eventually be unified under a common distribution. "I hope so, but I don't think it's possible. At this point, the distributions are way too different."