I am very passionate about open source (or free software, or whatever you want to call it) software. In one way or the other, it seems I’m always drawn back to it, whatever else I’m supposed to be working on. I get a good feeling from the community aspects of it, believe in the potential for technological benefits, and appreciate that being open is often the best way to advance the state of the art.
One thing that has always been something of a mystery though, is how the whole thing works in economic terms. There is no doubt in my mind that open source works in terms of creating value, but what isn’t so simple is how it sustains itself, and where it makes sense. Some people, like Richard Stallman, sustain that all software should be free. Others take a more laissez faire attitude. Aside from philosophical debates, though, there is a very pragmatic question of how it works in practice, and if the process could be made more efficient, and in which cases should one simply decide to ‘go proprietary’ in terms of maximizing monetary returns.
In the proprietary software world, this is all rather “simple” – (well, conceptually at least – it’s not actually easy for anyone). If you write some software that you then sell, and people like it, they’ll buy it, which in turn gives you money that you can funnel back into improving the product. If it stinks, you won’t get any money, and presumably you’ll move on to something you are more qualified for. It’s a pretty simple and direct feedback loop. With free software though, it gets much more complex, because there is not necessarily an economic link between users and developers, which might mean that while the software provides very real economic benefits in terms of flexibility, avoiding vendor lock in, and low costs, none of those benefits necessarily flow to the person or people who actually wrote the software. This, in turn, means that they may have to support themselves in some other way and may not be able to dedicate much time to working on the code. This system is thus ‘inefficient’, because there is a disconnect between the value and the person who created it. A lot of thought has been dedicated to “solving” this problem, but it doesn’t seem to have a satisfying answer just yet, although there are several free software companies that clearly do function, with a variety of models.
One of the original ideas about how people would live in an entirely free software based economy, proposed by Stallman, is services. In other words, the software is free, but you get money to fix it, teach people about it, improve it, provide support for it, customize it and so on.
While riding my bike around the Colli Euganei the other day, it occured to me that a pure services business is a lot like running. The minute you have fewer clients, go on vacation, or otherwise ease up… revenue drops proportionately, just as if you had slowed from a run to a walk. Ease off on the effort completely, and the money is gone, because you have no way of carrying your momentum forward. With a bicycle, on the other hand, it’s more like a product-based business. It’s certainly still an effort, and you have to be strong to beat your competitors, however, you can stop pedaling for a moment now and then, and you do get the descents after riding up the hills, and for a few meters at least, you can stop pedaling altogether and coast.
What prompted me to think about products versus services was a small web application I developed recently. It’s a nice ajaxy to-do list/time-tracker that I started developing with Ruby on Rails. My first instinct, and the easiest thing to do, of course, would be to open source it and let it go at that, but… I also wonder if I could make a little bit of money at it if I were to commercialize the product somehow. Not “get rich quick” money, but enough to pay me back for the time I sunk into making it work, and enough to let me justify doing more work on it to meet people’s needs and requests.
A couple of strategies come to mind:
Just open source it and be done with it.
Sell google adsense. I don’t think that would cover it though, because it’s a reasonably resource intensive system.
Sell access to an advanced version that allows group collaboration, sharing/trading of tasks, and so on.
Sell a downloadable version that people can run locally, perhaps on an intranet.
Whatever ends up happening with it, I’ll be sure to post further information as it becomes available.