Commercial BSD support

by Greg Lehey

One of the most unusual things about Open Source software is that it is free. You can legally pick up the software off the net, or pay a small charge for the convenience of having it on CD-ROM. You can take a CD-ROM and use it to install hundreds of machines. Do either of these things with commercial software (and get caught), and you'll be in serious trouble.

This doesn't mean that Open Source software is completely non-commercial, of course. The only way to ensure that it is completely non-commercial would be for the licence to restrict it to non-commercial use. Some commercial companies offer free copies of their software with this kind of restriction, so it's obviously possible (at least in theory). Increasingly, UNIX vendors are offering more and more of the source code. The latest is Sun Microsystems, who are about to release the source code for Solaris 8--with strings attached, of course: you won't be able to redistribute the code, with or without your fixes.

That's not what we want. Not only do we allow the commercial use of Open Source software, we actively encourage it. You just need to hear the crowing of the ``Yahoo! runs on our software'' crowd to realise how proud we are that some of the world's biggest Internet companies run BSD. I think we have every right to be proud of this achievement.

But how does Yahoo! support its machines? It's one thing to get free software, but free support is a different matter altogether. You can get very good, professional quality support for free on mailing lists such as FreeBSD-questions, NetBSD-users or misc@OpenBSD.org, but you can't rely on getting a timely answer or even an answer at all. You can't run a big organization with that kind of support.

Yahoo!'s answer is simple: it has its own support staff, some of whom are very knowledgeable people--they even have a FreeBSD core team member working for them. That works fine for as large an operation as Yahoo!, but clearly it isn't the solution for most people. How does a mid-sized company handle support?

I don't know a good general answer to that question. I suspect that mid-sized companies fall into one of the following categories:

It's difficult, but important, to make a distinction between a commercial support organization (the second group above) and a consultant (the third group). In many cases, a first-rate BSD man will get together with some other people and form a company, but they're usually small. You'll find lists of consultants for FreeBSD, NetBSD and OpenBSD. Kudos to OpenBSD, by the way, for including links to the FreeBSD and NetBSD pages. As you can see from these pages, a number of names crop up in more than one of the pages. You'll also note that most companies are attached to the name of a specific person.

On the one hand it's a good idea for prospective customers to know who they're dealing with on a personal level. UNIX, and BSD in particular, is very much people-based, and the names can give more of an idea of what kind of service you will get than a flashy company name. People who mention their names are placing their reputation on the line; other things being equal, they will try harder if their name is known.

The down side of this personal approach is what worries most mid-sized companies: what happens if the person is sick or overloaded, or decides to go on vacation? Not surprisingly, these are the same issues that concern a smaller company which has its own support staff. The small companies tend to have only one expert in a specific area, and if they're not available, it's possible that nobody else can help. In addition, there may be areas that they don't cover at all. That's not the kind of company that a company would want to trust to support a mission-critical application.

Meanwhile, in the Linux camp...

As in many other areas, the Linux world is ahead of us: The commercial spirit is alive and kicking. Most distributions offer support for their particular flavour of Linux, and possibly for others as well. For example, Red Hat has offered support for their products for some time, and they recently acquired Cygnus Solutions, a well-known Open Source support organization. Reading the hype about the merger, I have an uneasy feeling that something of the spirit of Open Source has been lost in the deal. That may be the way we're going, of course, but I can't say it makes me feel good. I'm not alone in this respect; Ian Darwin states in his template:
N Notes about your experience, with UNIX, with BSD, and specifically with OpenBSD. Notes continued. Not more than three or four lines: NO MARKETING BAFFLEGAB, like "Our highly-trained staff ensure the realization of ..." :-( Can contain simple HTML tags; don't overdo it!
Fortunately, most other Linux support vendors are less blatantly commercial.

Let's look at Yahoo! again. They don't just run (Free)BSD, they also run Apache. Apache is not part of FreeBSD, it's a separate package. Many people use it in conjunction with Linux instead of FreeBSD. There are a large number of other important open source packages that run on multiple platforms; this synergy is part of what the Open Source movement is about. Samba and XFree86 are some of the more prominent ones, but when you look at the 4,000 ports in the BSD Ports Collection, you realise that this is just the tip of the iceberg. The Gartner group described this well in a recent article entitled ``Debunking Open-Source Myths: Origins and Players''. One ``myth'' it mentions is the idea that Open Source and Linux are the same thing. It estimates that only about 2% of a typical Linux distribution is really Linux; the rest consists of other Open Source products. Similar considerations apply to BSD, though the percentage might be as high as 10% for BSD, since the ``standard'' userland is also included.

The Gartner group publish such web pages for a short time only; after that, they charge real money for them. For this reason, I'm not quoting the original text, In another article, I referred to a different report by Gartner, but it quickly went away. If you're quick, though, you might find ``Debunking Open-Source Myths: Origins and Players'' here.

A complete operating system?

If you ask a BSD person what the real difference is between BSD and Linux, you'll get a lot of answers. One of the more popular ones is ``<my>BSD is a complete Operating System; Linux is just a kernel''. The same people will frequently disparage Linux and its various distributions for this reason. In fact, I don't know of any company which uses the operating system alone without any third party software. It's good to have a unified approach to an operating system, but it's not the whole story. I prefer to think of the main conceptual difference between Linux and BSD as the fact that Linux has only one kernel and different implementations of userland; BSD has different implementations of both userland and kernel. That doesn't interest the the average user very much: for him, the real issue is ``will my programs work?''

This has obvious implications for support organizations: it's not enough just to support the kernel or "operating system". They must support common applications as well. Given the relative size of operating system and applications, it's not surprising that application support is frequently more intensive than supporting the base operating system.

This fact has an obvious implication for the operating system suppliers: to a certain extent the operating system is irrelevant. It's nice to have a choice, especially if you have problems with the application that appear to be OS related, but for the user the real issue is the application, not the OS. So why offer support for one OS only? For these reasons I don't think it makes much sense to support only BSD, or only a single version of BSD. A complete support operation should be able to support all the major packages, most of which run both on Linux and BSD.

Imminent demise of BSD? (take 2)

This sounds like sacrilege: I'm advocating nothing less than giving up our identity and becoming just another of a group of operating systems? Well, in a word, yes.

This is a column for advocating BSD, and I intend to carry on doing just that. But we shouldn't forget that most people who use BSD do it because of some very specific edge that they have over other operating systems, for example, performance, portability, security or total cost. They're not interested in intellectual things like the difference between Linux and BSD, let alone the difference between OpenBSD and BSD/OS. If they have more choice and more professional support, they're more likely to use an appropriate BSD. And if they find that Linux is more appropriate, good luck to them. One way or another, this kind of support is going to result in all the BSDs being better known.