We’ve been having a months long discussion at work around which Linux OS to use. It’s all come to a head recently, and it looks like the winner is going to be Red Hat. The decision leaves a slightly sour taste in my mouth, but over the course of the past year I’ve gotten used to having it around. While trying to understand why I’ve got such a dislike for this particular flavor of Linux, I thought it might help to take another look at OpenBSD.
OpenBSD and I go back a long ways. It was the first Unix operating system that I really got to know well. I had worked with HP-UX a little, and Solaris a little more, and a few flavors of Linux, mostly Mandrake and SuSE, but OpenBSD was different. OpenBSD doesn’t give you any room to not be an expert. You need to know what it is doing, and why it is doing it. The demanding nature of OpenBSD begins with the installation, which is actually a shell script with a few prompts thrown in. Back then, you couldn’t get the OS in an iso download like Linux, you either needed to dd an image to a floppy disk and install off the network, or create your own iso and boot from that. Once you booted the install disk, you used fdisk to partition your hard drive. Next, the script would install it’s boot image, and after formatting the partitions, simply unzip the OS into the root partition.
The entire process of installing OpenBSD takes about six minutes. When finished, the server is ready to be a web server or a firewall, but not much else. Everything else is build from the ports tree.
If you accidentally muck up some file that OpenBSD needs, you could just unzip the tarball that holds that file from the root partition, and you’d be back where you started again. I’ve seen OpenBSD servers run for years without a problem. They are the kind of server you setup once, and then forget about. OpenBSD is simple and powerful, and simply feels like quality engineering.
Looking at OpenBSD I discovered the root of my annoyance with Red Hat. Its not just that Red Hat has continued to add more and more junk to their operating system for no need. Its not just that they have gone out of their way to charge their customers more for a more confusing setup. Its that they feel just like every other modern product on the market today. Full of features, and lacking in quality.
Its not just a problem with geeky computer operating systems. Its not just a problem with computers. Its a problem with everything that is on the market today. Air conditioners, refrigerators, hardwood floors, cars, coffee makers, the list goes on and on. At some point in our recent past, consumerism took a turn for the worse. Companies decided that they could make more money if they made a worse product, and we went along for the ride. So instead of a washing machine lasting for fifty years, it might go for six before some part in it goes out, and fixing that part is more expensive than buying an entirely new machine.
In the 40’s and 50’s, American companies made some great products. I went to pick up a mixing bowl for my brother in law the other day that he got off of Craigslist. It was a classic, built in ‘48 or so. The seller wanted to show me that it still worked fine, so she plugged it in and gave me a demonstration. Sure enough, it fired up and worked perfectly. That little device is at least sixty years old. What are the odds of any of our small appliances or electronic devices lasting even half that long today?
My wife’s grandmother has a Maytag washer that she’s had since she can’t remember when. It has a hand crank on the top of it, and she still uses it to wash clothes today.
There is simply not enough great stuff in the world anymore. Companies produce crap that’s just good enough to get by, offer it up as being worth it because they’ll warranty it for three years. Then it breaks on the fourth year and you buy another one.
I don’t have room in my life for crap.
Things are only expensive if they don’t last. Quality lasts. A few companies get it. Apple gets it. They don’t build crap. They could start pushing out $300 netbooks and flood the market with substandard junk that’s slow and throwaway breakable, but they don’t. They build quality machines, and improve on them year over year. They build quality software, and improve on it slowly over time. Saddleback Leather is another company that seems to get it. The specialize in quality leather goods that are built to last. Not the “quality leather” that you can get from a TV infomercial, but real tough leather that only starts getting broken in after the first few years of daily use. They have the only warranty I’m interested in. 100 years.
Quality. Volkswagen didn’t change the basic design of the bug for over two decades. They made small improvements over time. OpenBSD looks almost the same today as it did when I first fired it up seven years ago. Its not that they haven’t been busy building awesome software, it’s that the initial product is timeless in its simplicity.
Simplicity is hard, admittedly. But what if there were more companies that took Apple’s approach to building consumer products? How about a washing machine with one button on it that says “wash”. Who needs a digital display and sixty-four buttons on a washing machine? Looking around my kitchen right now I see I have four clocks. One on the stove, one on the microwave, one on the radio, and one on the coffee maker. Why? How about a coffee maker with one button that I press after I’ve put in the coffee and water? Does everything need to be digital?
When I look at our server infrastructure I think that it needs to be simpler. Complexity is the enemy of security, and uptime. Too many companies have taken the easy way out by not considering how to simplify their products. Linux, all flavors of Linux, are most guilty of this. The more complex a product is, the more parts there are that could fail, or at the very least, not work as well together as they should.
Which brings me back to OpenBSD. I’ve loved this system for years because of its simplicity. Which happens to be the same reason I love Macs, and the same reason I love things made out of leather and oak and metal and glass. Simplicity and quality.
I don’t have room in my life for anything else.