Open Source 101: Paying for Free Software
Where does the real value proposition of open source come from?
A friend of mine was very intrigued by the recently opened Google Living Stories code, as the format of content presentation is something he would like to try to implement on a new Web project he is doing.
Now, as with all open source code, the drill is this: download, compile, and run the application. In this particular case, Living Stories is an AppEngine application, written using the AppEngine Java SDK. Google has provided instructions on how to build the code and run the server from Eclipse, but my friend tried it in openSUSE, Linux Mint, and on an OS X machine and in his words: "simply couldn't get the @$#!!! thing built" this past weekend.
Knowing my friend's technical abilities, I have little doubt he will figure out the problem and eventually have the Living Stories server up and running.
As open source aficionados, we've all been there at one point or another: we try the old one-two make/make install commands just as we are told to do, and splat! nothing. For me, it's usually a dependency error, and after a little searching, I can usually find the source of the problem.
These little hurdles effectively illustrate why open source vendors will always be able to generate revenue: the price of convenience is often too attractive to ignore.
I am often asked, how can open source vendors charge for something that's essentially free? The pat answer is that they are charging users for the convenience of not having to download the code and compile it themselves.
Though most Linux binaries are indeed free, there are a few out there that do come at a cost. Like, for instance, Red Hat Enterprise Linux. But, if I wanted to, I am more than able to go out and download the source RPMs and compile the code myself to make a full-blown instance of RHEL.
Even though I have the skill set to do this, the question then becomes, why would I? My time is worth way more then the fee Red Hat charges for putting this all together, so even if it hits my wallet right up front, it's well worth it in the long run.
This is the core advantage of open source software for most users like me: it's not that we can get the source code ourselves, but rather that other people with more time on their hands (and ideally a paycheck to do it) can take the code and make it into a form we can use.
Unfortunately, this is also a big reason why the importance of free and open source licensing has not fully resonated with end users. While we are all beneficiaries of open code, not many users connect with the fact that without open software, much of what they use on an open system would not be available. Most users think "I like open source software because I don't have to pay for it" and while that it certainly true in many cases, that's not the real value.
The true value is that someone else was able to get to the source code and create the binaries for us to use. Even if the end user has to pay for the executable software. Because the source is open, not only can someone create the binaries, but any developer has the ability to make positive changes to that code... which, ultimately, should benefit us all.
I'm certainly willing to pay for that kind of value.