Tuesday, August 08, 2006

Beta dogs

FileMaker, Inc., has released a "public beta" of its own API for FileMaker Server Advanced and PHP:

http://filemaker.com/developers/resources/php/index.html

But that's not what I want to talk about.

Today, on a list frequented by FileMaker developers, I saw a note from someone asking if it was safe to use this beta for production work, that is, on a "real" web site with real users. This rather predictably drew responses from a number of other developers who explained, as if to an idiot child, that "beta" software is intended for testing only, is inherently unsafe and should never be used for real work, etc.

Unfortunately, in the real world, things are more complicated than that.

Obviously, if you use software that the company designates as "beta" and a bug in the beta software causes your documents to be mangled so that you lose valuable data, well, you were warned. It was beta software. Fool.

But what if you use final release software and it has a bug that mangles your documents so you lose data? Well, you were warned there, too. Read the license. Buried in there somewhere is a clause that says something like this:

Use this software at your own risk. If it erases your hard disk, causes your business to fail and your wife to leave you for someone else who is more successful, you agree not to blame us. Loser.

So the biggest technical distinction between beta software and release software is that, with beta software, you're warned about the risks more explicitly. With release software, the warning has been moved to the fine print.

Nevertheless, it's difficult for users to know how seriously to take the warnings. There is a lot of beta software that is less buggy that software that has been in official release for a long time. Remember, all software is buggy. Software manufacturers don't even pretend that release software is free of known bugs. They know very well what bugs are left in the software when it is commercially released. They've just made a business calculation that those bugs are not important enough to be worth fixing prior to release.

If a company designates software as "beta" software, it simply means, "We are not quite ready to call this finished." On the other hand, when the company releases the software, it simply means the company feels that the software is more or less ready to release, which in turn means that the risks of release seem, to the company, acceptable. Their assessment of the acceptability of the risk may be different than the assessment you will make retroactively after a buggy piece of release software wrecks your hard disk. But it's their software, so they make the call.

Where's all this going?

Well, the basic point here is one I've made elsewhere: These are still the early days of computing. There's a lot of hype, but the raw truth is, the Mac OS sucks. Windows sucks. Everything is too hard to use, too prone to fail, too difficult to fix. Basically, computers are still in the early, experimental stages, kind of like airplanes in the 1920s and 1930s.

So what can you do?

First, if you are using a computer, you have to accept the fact that using computers is inherently dangerous, like horseback riding or even driving a car. When you ride a horse, you wear a helmet. Drive or ride in a car, you wear a seatbelt. Use a computer, you'd better be backing up your documents regularly.

Second, you can get some idea of whether release software is safe or not by letting other people be the first to use it, then waiting to see what they say. On the other hand, there's no real way to tell how dangerous beta software is. It is a fact that some beta software - especially late in the beta cycle - is generally as safe or bug-free than some release software, but you really never know. So the only safe thing to do is regard all beta software with suspicion.

Unless it's from Google.

About Me

I am an event photographer living in Dallas, Texas.