The first big change was at the USENIX conference in New Orleans in 1988, where I met a number of the FreeBSD community. Needless to say that we had a great time. But there was something else there: people prided themselves on their professionalism. We also observed that we were, on average, significantly older than the “Linux weenies”, who were also significantly absent at that conference. I didn't notice many of them until the following year's conference.
On a similar note, the BSDs have prided themselves on supplying professional, reliable, secure and high performance systems, much better than this Linux stuff. We didn't care so much about whether other people wanted it: it's enough for us to be happy with it.
For the past four years, my job has brought me more and more into contact with the Linux world. I have always advocated maintaining good relationships with the Linux community, and I had considered that some of the prejudice about Linux that exists within the Linux community is just that, baseless prejudice. I was correspondingly disappointed when I had to install Linux on a machine to run my satellite downlink: Linux really did have many of the disadvantages that I had discounted as prejudice.
That's a few years back now, though. How do things look today?
This year, though, was different. Sure, there's plenty of fun and enthusiasm, just as there is at BSD conferences, but the Linux people are getting much more professional. I went to a number of talks, all of which were highly technical and well prepared. They lacked the sense of mutual admiration which had somewhat disturbed me in previous conferences. I helped organize a “mini-conference” about the use of Open Source software in Government, and the speakers there included politicians, businessmen and lawyers. Linux is growing up.
It also seems that Linux people are getting older on average. Few of the speakers were under 30. Many work for large companies such as IBM and Hewlett-Packard. It seems that these large companies are changing the face of Linux.
There's another solution for the unhappy end user, though: Linux. Recently, a big FreeBSD-based ISP in Adelaide (where I lived) wrote, on the LinuxSA mailing list:
Well here's the rub - the FreeBSD 4 series won't boot on our high end server hardware, so that gave us no choice but to move to 5. That was, indeed, an unmitigated disaster -with multiple CPU's 5 is just a train wreck.We have reached the point where we can't run our high end server platforms on FreeBSD any more, because we want to remain in business.
We can't keep buying new $30,000 Intel based servers, spending three weeks finding a release of FreeBSD that will even boot on them, having them run but then perform like a dog or crash or mysteriously lock up, and then discover that our FreeBSD software problems appear to be ones that somehow 'only affect us' and constitute an interesting exercise in beta release development.
But meantime, our customer base was climbing up the wall, with a mail server that sucked the big one, and was unstable in various different ways (each week a different one) for maybe two months.
Can't run a business that way, can we.
So we moved the mail server to linux some weeks back - and its been much better for it. We still had some application bugs to work out with our mail software vendor, but at least they and we could distinguish them from the strange operating system inter-related failures in the heavily threaded software package we run - FreeBSD was just losing the plot at the load levels we needed to run it at with threads - and all of this is after we finally got it to boot.
I was involved in this issue, and in fact the claims are incorrect. They did have significant problems, but their conclusions were incorrect, and in fact the machines run FreeBSD without problems. I take some of the blame that this perception arose.
That doesn't matter: it's the perception of the user that matters, and based on that perception, they're making the right decision.
But why should Linux be a better choice? In many cases, it isn't. For example, the “can't get system to boot” problems were due to the microcode in the new Adaptec RAID controller, which required a driver update to work. The Linux driver is a port of the FreeBSD driver, so if anything, moving to Linux made it less likely to work, not more likely.
But Linux does have a significant advantage over the BSDs: in addition to the hackers scratching their own itch, there are big vendors who fill in the cracks. Even if it just gives warm fuzzies to people like the ISP above, that's an advantage.
What should the BSDs do? As I've said several times in the last five years, that depends on what the projects want. But if we want to be seen as a viable alternative for use by non-developers, my big issue is that we need to understand the end user perspective. We can't just say of any feature “If there's nobody there to support it, axe it.” As long as there are people who want that feature, we need to support it. If we don't, BSD is gradually going to be usable only by software developers.
This doesn't mean that I am jumping ship. I'll still be around, and maybe now I'll have time to do more useful things, such as writing and maintaining software.