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
Before going deeper into the topic, this is a good place to refresh our knowledge of open source licences. 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 licences—the Bsd-style licences and the GPLstyle licences. There are around 40 recognised open source licences, but all of them fall somewhere between the BSD licence and the GPL in terms and conditions. Here the Bsd-style licence focuses on the first aspect—ensuring the largest number of people are able to benefit from the code in the fullest manner possible, and the GPL focuses on the second aspect—namely, making sure the freedom granted by the licence is not abused. The debate as to which is the best licence has been long and acrimonious, and is unlikely to ever be resolved. Suffice it to say that everybody has the freedom to choose the licence that suits them.
The BSD licence 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 re-distributions 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 5th 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 paidfor 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 drop-outs from among those who had converted to open source.