Sunday, November 29, 2009

Open source, free software, the confusion

There is some confusion and muddle over open source software and free software.

Many equate open source with free software, and vice versa. Nothing is further from the truth.

Open source means the source code is available. Having possession of the source code doesn't mean you have the rights to use the software. Just like legal ownership of a CD does not necessary mean you can use the software contained in that CD. Whether you can or cannot use a piece of software is governed by the terms and conditions set by the software owner.

In almost all countries, the software owner can determine the exact rights to use the software according to his own will and good pleasure. He can say that for a fee of $x you can use a piece of software for one year (for example Microsoft Action Pack). When the one year is up, you cannot use the software even though you may continue to hold the shiny CD with the hologram in your hands.

Similarly, and easier to understand, is that free software doesn't always mean you can see the source code.

So, software can have source code available, openly and freely or subject to terms, but it does not mean usage need be free.

I see peddlers and users of open source/free software divided into three general categories.

A. Big enterprises who cannot face the risk of support disrupted or terminated.

For such companies, they must have access to the source code, not to be able to resell the software, but so that, just in case the software owner cannot correct a problem, they can continue to keep the software running. There are some reasons when this can happen:

a. The software owner thinks a particular bug is not important enough and refuses to fix it.
b. The software owner retires the software but the business user cannot or does not want to upgrade to a supportable version.
c. The software owner goes out of business.

Although the last two situations can be protected by escrow, from my experience, escrow is 100% cow stools. A real-life experience: Oracle buys PeopleSoft, and retires Vantive (a PeopleSoft CRM system). A Vantive customer decides to continue to use the software and refuses to buy Siebel which Oracle pushes as the Vantive replacement. Customer activates access to source code. Oracle drags its feet for many months. Then they say they "couldn't find the tape". Customer threatens to sue. After a few more months, Oracle says "tape found" but "data could not be read".

There is no practical way to verify that when a software owner moves the source code to escrow, that source code is the right code and will generate the software the customer is using. In fact, there is no incentive at all for the software owner to ensure that the intent or integrity of this process is upheld. For most people, this un-policed task would be the lowest of priorities, and I wouldn't be surprised if people simply check in garbage files. The escrow is usually a bank or lawyer and would be none the wiser. After all, when the company goes out of business, no one would be around to be responsible for what's in the escrow's vaults.

Hence, the CIO who knows his business will insist on having access to the source code at all times. This in no way means that the customer is asking for free software. In all likelihood, such customers would have to pay extra for this service.

There is an alternative to achieving software support security without source code. And that is safety in numbers. Use software that is used by millions or hundreds of millions. First there would be revenue for the software owner to continue to maintain the software. Second, hopefully millions of users banded together can have some clout to insist that the software remain supportable for a long time. Windows XP is one good example.

B. The communists and Stallmanites.

There are still some people who believe that software should be free. They don't think that computers need be free. They don't think that Big Macs should be given out for no charge. They don't think that houses should be free. But for some unexplained reason, they think that software must be free.

And we know that the only communists left are in Cuba and North Korea.

C. The software losers.

Everyone is entitled to try all legal means to make a living. Hence, if you can't make money in one area, you think of another way. If you can't beat Microsoft at writing (and marketing) software, you try something else.

There's a category of people whose proud mantra is "we will give the software for free, and we will charge for support". It's like saying we will give you a car for free but you must come to us for maintenance. It's perfectly legal, but it's perfectly obvious that there are no incentives to deliver a software that is trouble-free.

It's good to know that there are customers of such software/services. We need them to help keep in check the other software providers.