On the NetBSD Web site, you'll find that the NetBSD team prides itself on NetBSD's "clean design," and with good reason. As a Slackware Linux refugee, I could appreciate the BSD rc initialization and configuration scripts. I was also happy with the relatively low amount of software that comes with a default install. I've had trouble in the past paring down Linux distributions to installations of software I actually require. It's my philosophy, and apparently NetBSD's, to start with software sets of absolutely essential programs and libraries, then let users add what they require after the system has booted on its own. Though NetBSD installs with X11 by default, the environment is sparse to say the least. There are no automatic setup or configuration scripts, graphical or otherwise. After my installation was all said and done, NetBSD consumed less than 300MB of space on my machine, including XFree86.
Once my system was running, it was time to crack open an Xterm and get busy with pkgsrc, NetBSD's version of the ports system. Though NetBSD's packaging system accommodates pre-built binary packages of software that can be downloaded through the NetBSD site or mirrors, one can also choose to install the ports tree, a directory hierarchy of Makefiles organized by type of software. The process of building software and NetBSD's system to do it is similar in principle to the Gentoo Portage software of the Linux realm.
Within a few minutes of my first boot I had installed all of the software I need for general desktop use through pkgsrc. I had Fluxbox, my favorite window environment; Firefox, my preferred Web browser; Thunderbird, my mail client of choice; and Gaim, for chatting. Pkgsrc handled the installation of this software and the required dependencies flawlessly. I had installed a complete, if minimal, desktop operating system in very short order.
My next task was to compile a new kernel. The size of the NetBSD kernel can be reduced drastically by compiling it without support for hardware you don't have or features you don't require. The NetBSD site covers everything you need to know to build a custom kernel. There's even a Perl script called adjustkernel that can scan the output of dmesg -- a program common to most *nix systems that outputs diagnostic information -- and modify your kernel configuration file to include support for only the hardware your system is capable of recognizing. Using adjustkernel, I took my kernel size down by several megabytes.
NetBSD is a strong, consistent system. The documentation is good and constantly improving. NetBSD and most of the other BSD OSes are capable of running Linux binaries. In this way, it's possible to run Sun's Java executables. NetBSD is reliable, and though it lacks the security hyped by OpenBSD, it is also secure enough to run in a production, and certainly home desktop, environment, in the hands of a competent administrator.
Linux converts will be both surprised and underwhelmed by the lack of software in a NetBSD installation. The overall lack of any kind of automatic configuration, beyond installation, may also shock some. However, NetBSD is worth a shot even to the uninitiated, if only on a secondary or older PC. In fact, working well on older or obscure hardware is a hallmark of NetBSD. The smooth function of the pkgsrc system makes it easy to add software that will meet anyone's needs with minimum tinkering. The latest versions of KDE, GNOME, and their respective windowing toolkits and software are only a few commands away.
Though I continue to run Mac OS X on my Powerbook because open source drivers don't exist for my Airport Extreme card, NetBSD hums happily on my Pentium desktop with full hardware cooperation. The coming release of NetBSD 2.0, a major landmark in the NetBSD development process, is even more reason to give NetBSD a shot.
What's your desktop OS of choice? Write an article of
less than 1,000 words telling us what you use and why. If we publish
it, we'll pay you $200. So far, we've heard from fans of FreeBSD,
Linux, Debian, Xandros, Slackware, Windows XP, Lycoris, and SUSE Professional. Next week: Ubuntu. Coming soon: FreeDOS, Libranet, Mandrakelinux, Linspire, Knoppix, Gentoo, and more.