Making Money From Open Source Software: The Dichotomy
Open source software is certainly free, in a sense, but what does that mean for profiting and licensure?
Join the DZone community and get the full member experience.Join For Free
Richard Stallman is, without a doubt, one of the most influential people on the Open Source movement. I think it is fitting in a post like this to look for a bit at some of his reasoning around what Open Source is.
When we call software “free,” we mean that it respects the users' essential freedoms: the freedom to run it, to study and change it, and to redistribute copies with or without changes. This is a matter of freedom, not price, so think of “free speech,” not “free beer.”
The essential freedoms he talks about are that “users have the freedom to run, copy, distribute, study, change and improve the software.” That was the intent behind the GNU, the GPL and much of the initial drive for open source. Rather, to be exact, the lack of these freedoms drove a lot of the proponents of open source.
I find the philosophy behind open source is a good match to my own view in many respects. But it is really important to understand that the point behind all of this is the user’s freedom, not the developer. In many cases (such as developers tools), the distinction isn’t obvious, but it is an important one. The developer, in this case, is the entity that developed the software and released it. The user is whoever got hold of the software, however that was done.
As you might have noticed above, Stallman’s reasoning explicitly calls out free speech and not free beer. In other words, nothing is constructed as to prevent or forbid paying for open source software. So far, this is great, but the problem with selling open source software is that one of the essential freedoms is the ability to redistribute the software to third parties. Let’s assume that party A is selling licenses for an OSS project for $1,000. The OSS license is explicitly okay with the first buyer of the software (party B) immediately turning around and selling the software for $500. And the first buyer from party B to sell it onward for $250, etc.
In practical terms, this means that you would expect the price of OSS projects to be near the distribution cost. When the GPL came about in 1986, that meant floppy disks as the primary mode of data transfer. There was a very real cost to distributing software, especially on mass. With today’s network, the cost of distributing software is essentially nothing for most projects.
In my previous post on the topic, I mentioned that this caused a real problem for OSS projects. Building software projects costs a lot of time and money. Sometimes you get such projects that are funded for the “common good.” The Linux Kernel is one such project, but while other examples exist (jQuery, I believe), they are rare. If you want to make money and work on OSS projects, this isn’t really a good way to go about doing this.
If you want to make money and not do OSS, you are likely to run into a lot of pressure from the market. In many environments, being an OSS project gives you a huge leg up in marketing, users, and mindshare. Conversely, not being OSS is a major obstacle for your intended users. This pretty much forces you toward an OSS business model, as described in my previous post.
A really interesting aspect of OSS business models is the use of the core principles of Open Source as a monetization strategy. Very rarely you’ll find that there is something thatinteresting or novel in a particular project. It is the sum of the individual pieces that make it valuable. Sometimes you do have projects with a secret sauce that they want to protect, but for the most part, keeping the source closed isn’t done to hide something. It is done so you’ll be able to sell the software. Dual licensing with a viral license takes a very different approach to the same problem.
Instead of keeping the source secret and selling licenses to that, you release your software under an OSS license, but one that requires your potential customers to release their source code in turn. Remember how I said that most projects don’t have anything interesting or novel in them? That was from a technical point of view. From a business perspective, that is a a wholly different matter. And if you aren’t in the business of selling software, you probably don’t want to release your code (which include manysensitive details about your organization and its behavior).
An example that would hopefully make it clear is the Google ranking algorithm. Knowing exactlyhow Google ranks pages would be a huge boon to any SEO effort. Or, if you consider the fact that the actual algorithm probably wouldn’t make sense without the data that drives it, consider the case of a credit rating agency. Knowing exactly how your credit score is computed can allow you to manipulate it, and the exact details matter. So you can take it for granted that businesses would typically want to avoid open sourcing their internal systems.
The dual licensing with a viral license utilizes this desire to charge money for OSS projects. Instead of using the software under a viral OSS license, customers pay to purchase a commercial license, which typically have none of the freedoms associated with open source projects.
Here is the dichotomy at the heart of this business model. In order to make money from OSS projects, companies choose viral licenses so their users will pay to have less freedom (and its obligations). "There Is No Such Thing As Free Lunch" still applies.
Recent moves by Redis and MongoDB, for example, show how this applies in practice. Redis’ Common Clause prevents selling the software (directly or via SaaS) and MongoDB’s SSPL is used to prevent hosting of MongoDB by cloud providers without paying a license fee. The problems that both of them (and others) have run into is that new deployment models (SaaS in particular) has rendered the previous “protections” from viral licenses obsolete.
I find it refreshingly honest that Redis’ license change has explicitly acknowledged that this isn’t an open source license any longer. And SSPL was almost immediately classified as non-OSI license. MongoDB seem to think it is meeting the criteria for an open source license, but the OSI seem to disagree with that.
I wrote this post (and had an interesting time researching OSS history and license discussions) to point out this dissonance between a license that has more freedom (as the GPL/AGPL are usually described) and being more limited in how you can use it in practice. This is long enough, so I’ll have a separate post talking about how we approach both licensing and making money from open source.
Published at DZone with permission of Oren Eini, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.