The apparent ultimate fate of Sun Microsystems may be the most obvious example of the difficulty associated with earning significant revenues developing and sponsoring open source software. A particular open source product may be considered highly valuable by many users who, given the appropriate license agreement, never actually back up this perceived value with any type of monetary compensation. This touches on a central debate about open source licenses that provide software with very few restrictions on end use and do not require any type of payment versus open source licenses that restrict end-user freedom to a certain degree and require certain payments as a form of acknowledgement of the value received with use of that open source product.
As an end user of an open source product, I obviously prefer no strings attached and no license fee required. However, as a realist and as someone who is paid for at least some of his own software development, I do understand the desire and even the need for those who contribute significantly to open source to be compensated by those who use that open source.
I touched on this a little bit when I questioned which single entity (or even consortium) would be willing to pay Oracle for MySQL the same price that Sun paid for it (or even in the same ballpark). My speculation then is that MySQL is worth far more to a wide, diverse collective/community than it is to any one owner (except perhaps Oracle). The reason for this is that while MySQL is a heavily deployed database, it still does not garner the types of revenues most entities would need to justify its expensive price tag. This is a single example of the problem of the open source commons -- many of the products are highly valued by their users, but without any or with too little monetary compensation to reflect how valued these products truly are.
Rightly or wrongly, "value" is often measured in terms of dollars. The phenomenon of modern day open source software (not all, but a large and growing portion) is that this basic tenet has been largely ignored. We have enjoyed over the past several years access to many fine open source products in which we have to give absolutely nothing back. Some of us are old enough to remember that it wasn't always this way and is in many ways a recent phenomenon. Others in our profession are young enough to have never known differently. To them, it may seem strange to have to pay for open source.
Regardless of how old or young we are, most of us have gotten used to freely available software such as the JDK implementation, the Spring Framework, a host of useful Apache Software Foundation products, a host of Sun-sponsored products (NetBeans, GlassFish, MySQL, etc.), Eclipse, and on and on.
We are grateful for those who spend many hours contributing to these fine products, but often not grateful enough to actually financially support the same products. I try not to be too hard on myself for this; in many ways it is human nature to take the best deal you can get when it is offered. No laws are being broken (assuming the license allows for free use) and my little contribution wouldn't make a difference anyway. Besides, why would I pay for something voluntarily when I can have it for free?
The above paragraph summarizes the harsh economic realities of the open source software development world. With thinking like that contained in the paragraph immediately above, how can one expect to make enough off of open source development to live on other than via corporate sponsorship (like SpringSource, Sun, etc.)?
There have been several recent online events that have made this problem of the open source commons even more apparent. I believe the tough worldwide economy has accentuated the problem of the open source commons. One of the banner examples of what's good about the "open" world, Wikipedia, is currently prominently featuring a plea for financial contributions.
In a recent post called Funding Clojure 2010, Clojure creator and primary contributor Rich Hickey lays out a firsthand account of the effects of the current prevailing treatment of open source software by its users. I currently don't use Clojure, but it is still remarkable insight into the challenges of making money developing open source and well worth the read even by those not interested in Clojure.
A few months ago, the creator of and primary contributor to JFreeChart posted on his blog that he had accepted an employment contract because of difficulty making a sufficient living selling copies of the JFreeChart Developer Guide. Even with this setback, I was pretty impressed that he was able make a living for seven years. It seems to buck the trend of most open source development not sponsored by corporations who sell software.
One of the biggest problems is that many people think that "open source" and "free" are the same thing. It is true that the trend seems to be moving toward open source products being free of cost as well, but the distinction of "free beer" versus "free speech" is still important. It is important to distinguish between free of cost (gratis) and free of usage restrictions (libre) to understand that one might still pay for an open source product just as he or she would for a closed-source product.
I believe that open source development and use is at a crossroads. The open source development world is facing its own tragedy of the commons. We essentially need individuals and users to do something that does not seem immediately in their self interest (paying for a product that in no way requires them to pay for it) for the greater good and their own long-term good (because of the continuing viability of freely available open source). The problem is that many of us would rather that everyone else pay for it so that we don't need to.
These "tragedies of the commons" are difficult to resolve because they do pit individual (and often short-term) self interest against long-term community benefit. But, just as with other problems of the commons, if we don't find a way to do something about it, the true tragedy will be the loss of benefit to the entire community.