Related link: http://ezine.daemonnews.org/200410/dadvocate.html

When I first read that article, I found it intriguing that a famous FreeBSD developer was willing to share his own experience and open up the discussion of why BSD users use BSD. I started a blog with my own response back in early November but my work schedule prevented me from finishing it until now.

In the mean time the article has spawned an interesting thread on the FreeBSD chat list as well as Richard Bejtlich’s thoughts on his blog .

And since the publication of my article on FreeBSD for Linux users, I’ve received several emails asking me why I use FreeBSD.

Keep in mind that a person’s operating system preference is a personal matter–what one person considers to be a feature may be an irritation to another. Inertia often also comes into play: we all know what it feels like when a command or interface we are used to using isn’t present on another operating system.

I like to think that I’m fairly operating system savvy since I’ve used (and have in most cases taught) every MS operating system since Windows 3.1, every Netware since 3.12, a dozen or so Linux distros, Sco UnixWare, Solaris and Cisco IOS. I’ve discovered likes and irritations with each. However, there’s only one operating system that I’ve fallen in love with and that’s FreeBSD. Yes, I know that’s such an absurdly nerdy thing to say. But I feel at home when I use FreeBSD; to me, everything else is just another operating system.

It’s always hard to explain our gut reaction to things. Can we fully explain why one person falls in love with another? No, we can only attempt logical reasons that barely describe the surface of the matter. With that in mind, here are my attempts at explaining the reasons why I bother:

1. The ports and packages collections. I love installing and trying out software. I am also an impatient person who doesn’t appreciate having to reinvent the wheel just to get a job done. I get irritated when I have to scour the Internet for software. You don’t want to be in the same room with me if I’m on an operating system that complains about missing dependencies without attempting to resolve them for me. Installing software should be easy. On FreeBSD it is. If I’m in a hurry “pkg_add -r whatever” will painlessly install whatever. I also have the flexibility of compiling the program to suit my needs and FreeBSD’s standardized Makefile’s make it easy to find out what options are available to me.

2. cvsup and portupgrade. What’s the point of installing software if you can’t keep it up-to-date without breaking things? In this day and age of security advisories and software features, keeping software at its latest versions should be a trivial task that doesn’t require a paid subscription. On FreeBSD this is easily achievable and, as the name suggests, free.

3. a clean “netstat -an”. Very few operating systems are installable with absolutely no listening TCP/IP ports. In fact, on many operating systems you break core functionality when you start closing ports. This is not the case with FreeBSD.

4. Flexible security. I could write an entire book on FreeBSD’s security features. Instead, I’ll leave you with some key features: blowfish hashes, MAC framework, sysctl to change kernel state on the fly, built-in firewall support, an easy to understand kernel configuration file, ACL support, vuxml to warn of application vulnerabilities, easy access to security advisories.

5. The ability for anyone to contribute. I’m a good example of how you don’t have to be a programmer to contribute to an open source project. And I don’t think I’ll ever quite get over the amazement of how a middle-aged single mother from her Canadian living room was able to have a positive impact on other users from every country on the planet.

6. The FreeBSD community. We’re all social creatures and quite frankly the atmosphere of a community impacts on its success. While it has its expected ups and downs, on the whole the FreeBSD community is a positive place to be. I can’t count the number of times a developer has responded to a question with insightful advice or a patch. Or how many people take the time to help others out or point them in the right direction. Or the number of email friends I’ve developed–people who write periodically so we can exchange what is happening in our respective neck of the woods. I even belong to two user group mailing lists, both of which are too far geographically to attend meetings–yet the on-line support and feedback of its members is well worth the extra space in my in-box.

That’s all the time I have for now; hopefully I’ve done some justice to Poul’s question.

Why do you bother?