DæmonNews: News and views for the BSD community

February 2001 Get BSD New to BSD? Search BSD Submit News FAQ Contact Us Join Us
Search


Get BSD Stuff

A BSD lover's story and a look to the future

Bill Moran <wmoran@mail.iowna.com>

The Past

I'm a predominantly self-taught hacker type. I've had some formal training in C and UNIX system management, but nothing to amount to anything.

I guess my first experiences as a hacker occurred on a Commodore 64 that I used to write games. BASIC came naturally to me, and with a little help from another enthusiast I was soon writing the more processor intensive parts of my games in C64 assembler language.

My first meeting with UNIX was an Integraph server that I did some work on in the early '90s. At that time I thought this made the typical DOS workstation look silly, and I longed for an office full of UNIX-based terminals to work on.

With the advent of Windows NT I shifted my focus because I saw UNIX-like functionality coming from Microsoft. I'm not going to take time here to Microsoft-bash, but to make a long story short, I've been very disappointed with Microsoft's offerings.

Not too many years ago I began to drift away from mechanical design work and back into programming (which has always been my true love). Linux was starting to become a household word, and the idea of a freely available UNIX that would run on a PC enticed me. I decided to create a second partition on my home computer (which ran NT) and install Linux. I was confused (as any Linux newbie is liable to be) by the number of distributions available and sought help from some associates who I knew through other channels.

From here came the suggestion to try FreeBSD. After a little research I decided that if Yahoo could run their service on FreeBSD servers, it was the only thing worth learning. I ran out to the store and purchased the latest (at that time 2.2.7, I think) CD set and installed it on the second half of my 4G hard drive.

I spent the next year or so reacquainting myself with a UNIX-type environment and eventually started using a 3.1-STABLE system to do most of my work. I also started teaching myself the finer points of BSD system administration.

It was about this time I decided to go out on my own. I was closely associated to a service provider in western Pennsylvania and I began trying to sell him on the idea that FreeBSD was the solution to his problems. It was a hard sell, as he was very busy and couldn't see the benefit to replacing his servers with BSD-based systems. I finally convinced him to let me recycle a (seemingly useless) 486DX4-100 server that had been sitting in a corner for some time. We were bidding for some database programming and I wanted a proof of concept for a web-based database. I installed FreeBSD, MySQL, Apache and php on the machine (all on a 1G hard drive with 24M of RAM) and quickly created a database, put 10,000 records into it and wrote a php script to do simple queries. The results were astounding. He simply couldn't believe that a database could run so quickly on such an old piece of hardware.

It was about this time that his Exchange-based mail server started going haywire. About once a week he had to uninstall Exchange and reinstall it to keep the system from self-destructing. Since this was an Internet email server he would do the work in the wee small hours of the morning to keep his clients from noticing any downtime. While there is surely an explanation for this that could have been fixed, his recent experience with the FreeBSD web/database server combined with the prohibitive licensing costs of running an Exchange server convinced him that it was time to move over to a BSD-based mail server. So one evening, in the wee small hours of the morning, we backed up the NT server and reformatted the hard drive with FreeBSD/qmail. That server is currently experiencing close to 100 days of uninterrupted service (about three months ago he experienced a 5 hour power outage that lasted longer than his batteries, or the time would be almost twice as long) and he is a bigger BSD zealot than I am. He's currently pushing all of his clients to switch from whatever NOS they're using to FreeBSD, and his clients are listening. So far I've installed a FreeBSD-based proxy and FreeBSD-based SQL server for one client, and we expect to install many more this summer. Other clients are following suit.

His reason for pushing BSD on his clients is that he simply can't honestly recommend anything better. Even if you don't consider the cost savings, FreeBSD is simply the best system he's worked with so far.

The Present

I'm currently finishing up a project installing two FreeBSD servers for a brand-new client that encompasses the following services: NFS/Appletalk/SMB/SMTP/POP3/FTP/HTTP/proxy/firewall. The ISP I discussed earlier now has 3 FreeBSD servers covering RADIUS, email and HTTP service and we're scheduling to decomission the last NT box by the end of spring. His business is growing now that the time he spends administering his servers has dropped to almost nothing.

I'm starting to do a lot of web page development, and spend more and more time delving deeper into the workings of FreeBSD.

My home computer no longer has an NT partition on it. That 4G drive is gone but that's not the reason, I simply don't have any use for NT anymore. With Netscape, Staroffice and Code Crusader I can get all my work done in the comfort of a FreeBSD-based X desktop.

The Future

My personal future

Personally, I'm very interested in contributing more to the BSD community. This first article is an initial part of that contribution. I eventually hope to begin contributing code to FreeBSD (my BSD of choice).

I'm also hoping to return to a project I started some time ago to write my own mail server. It's not that there's anything wrong with qmail, I just need a project to work on and a mail server interests me for some reason.

Darwin

Apple's adoption of the FreeBSD code base for OS/X holds many interesting possibilities.

The most immediate one to me is the interest level. Recently I installed 2 FreeBSD servers for a design firm that is predominantly Macintosh-based. Normally I have to push and argue for a FreeBSD server with clients who want either Windows 2000 or some other commercial system. But in this case, the client was overjoyed that I suggested FreeBSD. They were already interested in FreeBSD because of the relationship of it to OS/X. I wonder how many other Macintosh users are suddenly interested in BSD because of Apple's decision to base OS/X on FreeBSD?

The second interesting possibility occurred to me only recently. How hard will it be to port software written for OS/X to the other BSDs? Apple will be gaining the most powerful advantage I think, as the list of software that will run on OS/X should include just about anything that would run on BSD (which includes most Linux software).

Potentially this could mean a lot more. I'm not very familiar with the Darwin effort, but will Darwin and OS/X mean that development for the Macintosh will be able to closely parallel development for the BSDs? Imagine if Adobe wrote a version of Illustrator for OS/X. How hard would it then be to port Illustrator to the other BSDs? With pressure from Apple and a little support from the BSD community, many software companies could see developing software for BSD and OS/X simultaneously as very promising!

I've long noticed that the only thing that seems to be in the way of the BSDs is a shortage of software. Over the last year, the number of ports available for FreeBSD has grown tremendously, and I think that OS/X will cause the amount of commercial software available to grow by leaps and bounds!

Philosophy

I have a lot of thoughts about open source programming and BSD in general. I could go on all day, but I'll take time here for just one thought.

Sometimes it's hard to convince people to use BSD. Many companies don't understand the idea of free software. Any businessman has to sell things to make money, so he's understandably confused by a product that doesn't apparently make anybody any money. I've found the best approach is to talk in terms they understand. Software licenses are difficult to enforce and collect for. Selling software and giving away limited support for free can be a losing venture. But by providing the product for free and charging to support it you can manage things much more easily. These terms, while not quite 100% accurate in all cases, seem to make sense to most businessmen.

The most important thing to me is that people want BSD. They don't know it by name, but they know they want it. You're dealing with the typical, uneducated consumer who's bombarded with typical advertising nonsense. When the average person gets a headache he can think of a dozen commercials telling him that different headache remedies are the best, but he doesn't really understand anything about headaches or headache remedies. So he buys the product that had the prettiest girls in the commercial. Hopefully, it will actually cure his headache. Most businesses are in the same boat with regards to operating systems. They don't really understand what they need, but they hear the hype and they ask for what some advertisement told them was best.

But if you listen carefully, you'll hear them ask you for BSD. You'll hear things like, "it has to be secure," and, "it has to be fast." Maybe they'll say, "we can't afford to waste money on this system, we need the biggest bang for the buck," or, "it has to be reliable." Maybe you'll hear the one I seem to hear the most: "I don't care how it works, just as long as it WORKS!"

And when you hear that, you'll know they've asked you for BSD.




Author maintains all copyrights on this article.
Images and layout Copyright © 1998-2004 Dæmon News. All Rights Reserved.