Notes on NetBSD
I've been messing with NetBSD again recently. I'm really beginning to like it. But not for the reasons I've heard people list. No I like NetBSD because I feel it does things the right way. This is also the reason I like Debian. I feel that what Debian does for binary packages, NetBSD does for source packages. Of all the Operating Systems in the world Debian and NetBSD are the only two whose base system I can stand.
Before I go on I'd like to explain NetBSD in a paragraph, and clear up some common misconceptions in the process. Essentially I'd like to say that NetBSD isn't just for portability. NetBSD is clean, simple, powerful and flexible. These are requirements/consequences of portability (interesting how Debian is the most portable GNU/Linux distro but no one ever says, yeah Debian is great for m68k or s390, Redhat is good for PCs :).
I no longer feel that NetBSD lacks apps. I've realized that while the NetBSD kernel is awesome and built like a rock, the sheer number of Linux developpers/users combined with their aversion for binary only drivers has done wonders for hardware support in Linux. Don't get me wrong if NetBSD supports your hardware it automagically does everything for you. And this process is the smoothest I've seen in any OS.
So I guess my perfect OS would be NetBSD with all the various Linux drivers + filesystems added onto the kernel or simply NetBSD with the kernel replaced with Linux. I doubt I'm skilled enough to build either of those, but that's what I'd like to work towards.
Now I'm sure there people will tell me that I should use this or that GNU/Linux or BSD distribution. So here's why I don't think any of those are my idea of an excellent OS.
Of all the various GNU/Linux distributions, Debian is the only one I like. As I've said above (and heard people say), Debian is the most "BSD" distro. Now you may say what about gentoo and slackware, aren't they more BSD? They might have more BSD features, but overall they have disjointed jagged base systems with packaging over it. Debian may not look BSD on the outside, but that's moslty because of the constraints of being a binary distribution. Debian's real BSD feel comes from its minimal yet complete base system, its always doing things the right way (even if that means delays), and its flexibility.
Of the 3 BSD's that I am familiar with (FreeBSD, NetBSD, and OpenBSD), NetBSD is the only one I like. Again for much the same reasons as why I prefer Debian. Minimal yet complete base system, doing things the right way, and flexibility.
I've finally had some positive experience with a BSD. I've recently installed NetBSD on my laptop, and it is the first operating system that hasn't died on it. My laptop is a pentium 166 underclocked to 100 mhz. It overheats all the time. It would die in Debian if I did anything cpu intensive for a while. It would die in freedos, even if I didn't do anything. It couldn't get through the windows installer. It sort of worked using slackware, but I still couldn't compile anything (sometimes I'd put it in the fridge, or in my backyard in winter, and then it could). I've managed to compile emacs on NetBSD so I think it's doing pretty well.
How does NetBSD compare to Debian? Well the installer is worse. This is sad but true. One option kept killing me and pissing me off to no end. At some point you have to chose whether to use "the whole disk" or "part of the disk". However this is misleading. They both pretty much use the whole disk, but in different ways and "the whole disk" option has never worked for me, ever. Also when resizing partitions there's this little script that acts like cfdisk, but when resizing one partition it doesn't update the others, so they all overlap and you have to input the new sizes for each by hand, which is quite annoying as well. Other than that it's ok.
How does it feel once the system is installed? Well the software installed is pretty minimal. No lynx, no mutt (just mail *sick*), no bash (just sh and csh). Kind of like Debian before the first time dselect is run. This I didn't like so much. I mean it's nice when you want to compile the software yourself. I always find that fun, but it does take up some time (and effort) especially on a pentium 100. On the other hand X Windows is installed. So you don't have to know which packages to install to get X working properly. All in all, different but not bad
Since the installed system is so minimal I had to spend some time getting some of the software I wanted. At first I tried the binary packages that are distributed on the ftp sites. They were kind of disappointing. It was like going back to rpm after falling in love with apt. I couldn't really bring myself to do it. So I did what I did back when I tried out slackware. I compiled all my software from source. I've only compiled a few programs until now. Lynx came first, because I needed to grep/google the net. Then came screen because NetBSD uses Ctrl-Alt-FunctionKey to switch virtual terminals and that causes me pain (and I like to use emacs, so that's a lot of pain :). Then came emacs because I can't handle anything more than about a hundred lines in vi. I also use the programmability of emacs all the time. Then came erc (irc for emacs) because I use this alot when trying out a new OS (I like to hang out on relevant channels and gather some wisdom). And finally came bash, because some things about csh just slay me. For example completion uses Ctrl-[ instead of tab. And if there is more than one possible completion Ctrl-d instead. So that completion becomes hard to use, and Ctrl-d can no longer be used to logout. If you try it tells you to type exit. Actually before I figured out what Ctrl-d was for in csh it would make me explode. I thought the csh programmers were just being jerks :).
How do I feel about NetBSD? It's much more Unixoid than Gnu/Linux is. So you really have to be a Unix guru/weenie to enjoy it. Since so much of the default software sucks so much *grin*, you really appreciate the Unix way of letting the user pick their own apps. So basically I think that there are probably two kinds of users of NetBSD out there. One group knows exactly what they want, knows exactly how every piece of an OS fits in together, and wants to carve out their own personalized path. The other group probably thinks it's leet :) I of course am in the third group, I've got a jinxed box designed by a bunch of monkeys (the expression "crackfucking cocktoggler" comes to mind (almost died laughing when I heard that on irc)), and nothing else will run on it. But I think I am getting pretty close to the first group (at least in my knowledge of how Unix works). I've really not gotten completely there yet, but god knows I've spent almost every waking second trying to get there.
How does it compare to Gnu/Linux? It's a bit too unix-centric in its default configuration. This means vi as an editor (of course most Linux distributions use vi or vim also but still I get the feeling that BSD people really love vi:). This means groff over TeX, XML, etc. This means historical baggage. Gnu/Linux is really a modern hybrid. You can see Linux's Unix guts, but you have all kinds of foreign tools and applications. You can always do that with BSD as well, but the feeling is that that's not the Right Thing (tm) to do. I don't mean to speak for any part of the BSD or Unix communities when I say these things, this is what I feel. I think that what makes Gnu/Linux so special is that it isn't simply a technical matter. It's a social one. People are working on something that is Free and Open. In many cases because it's free and open, not only because it's better. What this does is stop people from thinking, we don't need feature X from Y, because we have Z, which is better. And makes them think, gee I wish there was a free X available, I guess I'll write one even though we have the much better Z. This (in my opinion) is what we have to thank for: emacs, mozilla, mplayer and all such awesome software. With BSD you sometimes get this feeling of this is a server damnit, why would you want to do that. With Gnu/Linux you get this idea of damnit there's no decent Linux tool for this job, I'll write one, or you look around and some people are already doing it. I've seen this happen, I've seen mozilla go from being a decent replacement for the old netscape to becoming better than internet explorer and opera. I've seen mplayer outperform every single media player out there and then some. I've seen KDE and Gnome go from being window-manager wannabes to having Windows (XP has so many things straight out of KDE that it scares me) and MacOS (OS X is unix based, so OK maybe BSD is not too different) ripoff their features.
This isn't to say that NetBSD is worse. Actually oddly enough I think NetBSD might be better. The paradox is that what's important isn't the OS. The most important thing is the cutting edge apps. The ones I like are being developped more strongly on Gnu/Linux (I used to use windows, and Linux is trying to be a windows killer).
and also. The all-powerful ed has also contributed!.