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 licences are based on these principles in various ways.
Before going deeper into the topic, this is a good place to refresh our knowledge of open source licenses. The open source world highly values the sanctity of copyright, and frowns on plagiarism and “piracy” of all kinds. At the same time, the idea of open source does not mean throwing the source code into the public domain for all and sundry to use in any manner that they want.
So there are two contradictory targets here. The authors of the code want to ensure that the largest number of people are able to benefit from their code in the fullest manner possible. Yet, at the same time, they are not happy with people misusing their code to make unfair profits from it.
From this dilemma spring the two major types of open source licenses — the BSD-style licenses and the GPL-style licences. There are around 40 recognised open source licenses, but all of them fall somewhere between the BSD license and the GPL in terms and conditions.
Here the BSD-style license focuses on the first aspect — ensuring the largest number of people are able to benefit from the code in the fullest manner possible. The GPL focuses on the second aspect — namely, making sure the freedom granted by the license is not abused.
The debate as to which is the best license has been long and acrimonious, and is unlikely to ever be resolved. Suffice it to say that everybody has the freedom to choose the license that suits them.
The BSD license is very simple — it has just three clauses. Anyone with an IQ of over 80 can understand it. All it says is that the users may use the software in any way they want, modify it in any way they want, and redistribute it with or without modifications. They can even make it proprietary and sell it. There is only one restriction — if they make it proprietary and sell it, they cannot use the name of the software, nor can they use the names of the authors of the software.
For example, PostgreSQL is a popular open source RDBMS released under a BSD-style licence. You are perfectly free to modify it, close the source and sell it, but you cannot use the name “PostgreSQL” — you need to rename it. You cannot advertise it as “based on PostgreSQL” or the like. You have to market it under your own banner, and on your own steam.
The GPL, on the other hand, is far more complex — or complicated, if you will. To put it simply, it says that the users may use the software in any way they want, modify it in any way they want, and redistribute it with or without modifications. However, they cannot make it proprietary, and the modifications and redistributions have to be licensed under the GPL.
Among popular GPL’d software are the Linux kernel, and thousands of other popular packages. As far as genuine open source developers are concerned, the sustainability of their packages and the amount of contributions they get depends very little on the chosen licence. If the package serves a need, it is usually successful and sustains. But in these articles, we are addressing the crooks who abuse the concept of open source for their own personal gain.
So we come to the fifth freedom — that the whole of the code is available in source form. Unless this is available, I would not consider a package as genuinely open source. Adding this criterion will help potential users to distinguish the sheep from the goats.
There is no harm if a company has two versions of its packages — one free, and one with paid-for support and customisation. Red Hat does this — and is successful. But the point is that in both the free version and the paid-for version, the full source code is available.
If this concept is applied, we will hopefully have fewer disappointed users, and fewer dropouts from among those who had converted to open source.
Feature image courtesy: Tim Lucas. Cropped and reused under the terms of CC-BY 2.0 License.