Stallman’s classic definition of open source speaks of the four freedoms — the freedom to run the program in any way one likes, the freedom to study the source code and modify it, the freedom to redistribute copies, and the freedom to distribute the modified copies. All this implies access to the source code. The GPL and all other open source licenses are based on these principles, in various ways.
Unfortunately, a lot of people and companies are attempting to cash in on the popularity of open source by subverting open source licenses and offering bogus open source products. In the long run, these bogus products wind up causing great harm to the open source movement by raising false expectations and not fulfilling them.
The most common example is to have two versions of the software — a free “community” edition and a proprietary paid version. The free version has limited features and functionality. The paid-for version has all the bells and whistles. But all the advertising and hype is about the paid version.
A classic example of this is the Zimbra mail server. It advertises itself as open source, and to a certain extent, a small enterprise or an individual, can make do with the limited functionality of the open source version. I know of a company with a multi-crore turnover that shifted its mail (with thousands of users) to Zimbra, and then, after a month, shifted back to Microsoft Exchange because the “community” version just did not have the functionality that they were used to on Exchange. And this is a company that has a definite commitment to open source.
Another thing about these dual-licensed products is that help is minimal for the “community” version. The general attitude seems to be — if you want help, buy the proprietary version. So why do companies claim that their products are open source at all? Basically, it seems to be a marketing ploy. After all, most proprietary packages offer a free trial of a limited edition, for a limited period, to induce customers to buy.
So why open source an application? In my opinion, the only sound reason is to attract developers/contributors for free. This is the only reason that makes sense to me. Take a simple example: you have an application that you want translated into as many languages as possible. You do not have the resources to pay for this. Open source the application, and you will get a lot of people who will do translations for free — some because they need it, and others just for fun. In this matter, the type of license is important. It is an unfortunate fact that bogus dual-licensed applications are almost invariably released under the GPL. Why is this, and what are the consequences?
Any application released under the GPL cannot be made proprietary. So the bogus guys are saved from someone taking their code and making it proprietary. The downside of this is that the owners of the code can sell the code they wrote under a proprietary license, but if someone contributes code to their open source version, they cannot include that code in their proprietary version without the consent of the author. And most authors will not give consent unless they are paid. So the bogus guy loses the biggest benefit of open sourcing an application.
There is another reason for open sourcing. Each contributor owns the copyright to his contribution. So after the number of contributors reaches a critical mass, selling the application and making it proprietary will require the consent of every single contributor. Even if Linus wanted to sell the kernel, he would need the consent of thousands of people (including the legal heirs of contributors who are no longer alive). Impossible! Whereas the owner of MySQL, a dual-licensed product where contributions were only accepted if the copyright was assigned, had no difficulty in selling it off for crores. He is now whining about what has been done with the product — but he hasn’t returned the money!
All this leads to the conclusion that the four freedoms are insufficient to render an application as genuinely open source that is guaranteed to remain available to the public for all time. And insufficient to ensure that the user of the application gets the full benefits of help and support. A fifth freedom is necessary to separate the genuine from the bogus. And all genuine open source applications ensure this freedom.
I will deal with this in detail in the next article, and we can see how this safeguards the user from being taken for a ride.
Feature image courtesy: Jerry “Woody”. Reused under the terms of CC-BY-SA 2.0 License.