Why do I bother?

by Dru Lavigne

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?


2004-12-03 13:45:02
Why I do it
I can't now remember why I started using FreeBSD back in the days of 4.2 when every other post on the mailing lists talked about 3.5 still. I guess some people do still use version 3 even though I've migrated all but one system to 5.3 by now. Perhaps I started using FreeBSD to stand out from the crowd, perhaps because I knew it was robust (even more so than Linux), perhaps even I wanted something with a lineage back to 'proper' Unix.

Whatever the reason, the fact is I continue to use it when M$ Windows, Linux (RH, SUSE, Gentoo, and others) even BeOS have all been tested and found wanting:

  • Windows - 'Nuff said elsewhere.
  • Linux - Kernel configuration madness. Who needs three different ways to configure the kernel when each is a mishmash making finding the right option to achieve what you want nearly impossible. The hours I've spent...
  • BeOS - Wanna see a £300 graphics card only work in black and white?

  • As for getting software to run of these systems it's a bit of a black art (most soul destroyingly Linux, all those unresolved dependancies.) I have a friend who now wants to set up a low cost VPN on Windows to go between two offices. I can do that on FreeBSD in minutes. Guess what? He can't find a Windows based VPN solution that will work with a firewall!

    Rationally, all these are reasons for saying that FreeBSD is just the least bad option. But what that means is that FreeBSD is just about the simplest (in my tainted view) OS around. After all, who wants to spend hours configuring an operating system if with a few customisations to a text file you can build a kernel quickly and easily, cvsup from a single source and then rebuild the entire operating system or a single out of date port. Admittedly, these are all things you have to learn to do, and there is a steep initial learning curve (computers are the most complex machines ever invented, who said they were supposed to be easy???) but there is with any new system. Better to run with an unfirewalled FreeBSD while you learn ipfw or ipfilter than run with an unfirewalled Windows XP (not that you will for long, someone else will have control of it.)

    Let me make it clear, I'm an IT pro, but no developer, I can't submit patches, I can just about work out how to fix problems when they occur, but fixing problems is fundamentally a waste of time, better to have something that does 90% of its stuff out of the box (or off the CD install, at least)

    That's where the ports collection comes in. Need a web server? Take your pick. Need to stream media across the internet? ffmpeg, mpeg4ip or similar. Wanna knock together a spreadsheet? Gnumeric, KOffice or OpenOffice suit? Just about any requirement work out what suits best, find it in ports, type make install and it just will (most times.) When that's done you get on with what you wanted to do all along. No fuss. No (big) hassles. No unresolved dependancies. So a big thank you to all the ports maintainers that is long overdue. I salute you (although I'd like to know what keeps happening to the checksums on mplayer-skins.)


    Jon Mercer

2004-12-08 03:05:18
BeOS driver support
"BeOS - Wanna see a £300 graphics card only work in black and white?"

There are drivers for a whole slew of nVidia and Radeon cards. (Which is what most people have.)


The open-source project Haiku (formerly known as OpenBeOS) is at least halfway cloning the BeOS as Be Inc left it, and where we go from there is up to us.


It's not BSD, but at least it's BSD-licensed. ;)

BTW, using and enjoying DragonFly BSD myself.