I’ve had a significant response (both positive and negative) to my prior article: “Giving Software Away For Free” so I think it is time to elaborate on some of that original thinking and dig a little deeper into the issues at hand.
To better articulate my position on free (as in beer) software, I’d like to make the following distinction between projects and businesses. The definitions are my own and only apply in the current context:
Project: An initiative whose primary purpose is not necessarily to generate revenues and profits.
Business: An initiative whose primary purpose is to generate revenues and profits.
I think the cause of much confusion is when individuals think they’re working on a business, when in fact, they’re working on a project. It is entirely possible that some projects morph into businesses. I use the term “morph” intentionally instead of “evolve” as I’m not suggesting that businesses are in any way better than projects – they’re just different. The idea is not to make a value judgment here.
Now, with this distinction in mind, some general observations and opinions:
- Not all software development initiatives need to be businesses. If you’re happy building something that you, your friends/family or the community at large might find useful, more power to you. This is a noble and worthy cause. We need more people like you. If you’re working on something interesting and can find like-minded individuals to join your pursuit, you may have the makings of a great open source project. This is a very good thing.
- If you are working on a business, then it’s important to address the hard issues early on (like how you’re going to make money). The reason is that businesses have stakeholders (in many cases, it may be yourself). I think it’s tempting – but misguided, to actually be thinking you’re running a business, but then treat it as a project. So, if you’re running a business, then you should act like you’re running a business and force yourself to think through some of the difficult issues.
If you are working on a business, then there has to be some way for you to make money. This doesn’t mean you have to charge for the software directly – but the software has to lead to money somehow, someday. This can be through selling (license fees, subscriptions, etc.) subsidization (like advertising), services (like consulting, support, etc.) or synergy. It’s this last one (synergy) that gets a little tricky. Lets look at each of these:
Selling: This is the simplest one to understand. You charge customers for use of your software. This can be done through license fees, subscription fees or some other mechanism. Not particularly hard to understand and for a long time was how most software businesses made money.
Subsidization: This is when you let customers use the software without charging them directly, but make money through another vehicle (like advertising). In this case, somebody is paying for the software – just not the people actually using it. So, I would argue that the reason Google is a multi-billion dollar business is not because they’re good at giving software away for free, but because they’re very good at subsidizing software through advertising.
Services: This is when you let customers use the software itself without charging them directly, but charge them for services related to the software. The classic example is a company like RedHat which provides the underlying software without charge (in most cases), but charges for support and other services.
Synergy: This is the weirdest one of the lot and highly popular in the current crop of Web 2.0 companies. In the synergy model, you don’t make any significant money through the standard mechanisms (as described above), but through what I would call “delayed gratification”. Basically, the synergy model says: I won’t make a lot of money directly myself, but will help some other company make a lot of money. This other company will then acquire my company to reap the benefits of the value I’ve created. So, instead of making money every year, the hope is that you “defer” the gratification and make lots of money when you sell the company. The astute among you will likely recognize that this is somewhat of a risky bet as it assumes that there will be an acquirer someday.
One of the reasons that the synergy model is so popular for Internet startups is that it’s easy. You don’t have to worry about troublesome things like sales, customers, profits, etc. You can focus on what you enjoy (which is writing software) and let the rest “just happen”. Interestingly, I’ve never known of a startup that will actually admit that they’re playing the “synergy” (or “lottery”) game. When pushed, they often hide behind the cloak of subsidization (i.e. advertising) as their model. The reason for this is that advertising too is easy. In about 10 minutes, any Internet-based business can claim legitimately, to be using advertising as a source of revenue. The trick is one of magnitude. Few of these companies actually understand how much traffic is required for this advertising revenue to actually lead to a “real” (i.e. sustainable) business.
I’d like to close with some thoughts on projects (instead of businesses). I think projects (I consider this blog a project), are a wonderful thing. Here are some of the benefits of projects, and why not all things need to be businesses:
- Making a difference: Projects are a great way to actually make a difference, even if it is a small one. By focusing on your strengths and passions, projects provide a vehicle for you to leverage your unique talents and give back. Some would call this “making meaning”.
- Meeting great people: Projects are a great way to communicate to the world what you care about and what you love. This provides a channel for others of like-mind to find you that would likely have not done so otherwise.
- Making you better: Projects often lead to you improving your talents. By doing what you love and taking on challenges, you end up learning a lot. Not just how to write better software, but how to interact with beneficiaries (also known as “users” – which is a term I don’t like) and assimilate knowledge. I’ve never known someone to pursue a project (either successful or not) and not learn and grow from it.
To be fair to yourself (and others that might join you), ensure you know whether you’re working on a project or a business. Successful, sustainable businesses are hard. Though it is possible that your project could turn into a business someday, I would argue that the odds of this are really, really low. One of the reality distortions is that we hear much more often about the successes, and hardly ever about the failures. [Note to self: Possible topic for a future “reality distortion” article].
Whether you’re working on a software business – or a software project, you have my best wishes. Cheers!