Open source economic model: Sell the license or charge a consulting fee?

No readers like this yet.
Open for business

Opensource.com

On two recent occasions I've been asked to share why the open source economic model is sound. The first was on the elevator with an academic researcher while attending a recent meeting. We talked about open source, and he asked me:

"If the software is open source,
how are developers suppossed to make a living?".

The second was more recently, with a student who took the open source class at RPI. He asked me about a dilemma he was facing in which he wrote a nice web framework that naturally he decided to open source—a company found the software useful, wanted to build upon it, and was willing to compensate him. He pondered whether he should:

(a) Charge them a one-time fee for a customized license, or
(b) Charge them an hourly rate for consulting services

I strongly advised him to go with (b) and related to him the long converstaion I had had with the academic researcher after leaving the elevator, over happy-hour.

The kernel of the two stories is: "Software is not a manufacturing industry" and therefore, "software is not a product." As Eric Raymond rightly pointed out a long time ago in his book, The Cathedral and the Bazaar"Software is a service industry" and to be more precise, software itself is only a platform for delivering services. Just like highways, waterways, the power grid, the phone network, and the piping of the water supply.

Once we understand that what matters in the software industry is simply to have robust software that supports the delivery of the services that flow through it, then it becomes clear that the economics of software cannot possibly be based on one-time payments for licenses, nor "selling software by the unit."

Software is built and maintained through a very labor intensive process. Therefore, to properly account for its cost, we must use an approach based on the hourly cost of professional services that developers dedicate to building and maintaining such service.

This is nothing new. Charging an hourly rate for professional services is how lawyers, doctors, accountants, mechanics, pilots, and nurses have operated in the economic system for many decades (and some for centuries).

It then follows that when approached by a customer who wants to extend, improve, or customize a piece of software in which we have expertise, our best business approach is not to offer a one-time deal based on a licensing fee, but to offer our professional services at an hourly rate.

In this way, the developer's time is always properly compensated for, and the customer has the control and flexibility to adjust and correct depending on whether he is receiving the services he needs. Of course, when paying an hourly rate for a service in which it is unclear how many hours it will take to achive something, customers can be aprehensive about committing to such an agreement. That's when an open mind and open development changes everything; when engaged in open development, the customer not only can see the software as it is being designed, implemented, and tested on a daily basis, they can be actively engaged in driving the software to ensure that it meets appropriate needs.

The open source model enables the economics of software development to align with efficiency, high quality, low cost, maintainability, fit for purpose, and scalability when the developer is compensated for the scarce good of their limited time and attention.

Openness is simply good for business.

User profile image.
Luis Ibáñez works as Senior Software Engineer at Google Inc in Chicago.

6 Comments

I totally agree with option B being the best business model. A lot of people in my network who actually work with open source software, have a successful and profitable business providing professional services.

...and why not both ?

Option B is also my vote as well. To the wider audiences out there: Rather than software being considered a product like e-books, i-tunes, or boxed-software packages, its a better economic model all-round to consider it a service platform that becomes the vehicle for another product to win profits, such as hourly consulting--if you're a programmer or company selling expert consulting services that the open-licensed software handles, or if you're a product seller, then it's the vehicle that helps sells an Android Phone gadget, an E-book Reader gadget, a Tablet gadget, a Tunes gadget etc.. I don't know of anyone that purchases Android, yet businesses have clearly profited from it. In short, the economic model that works best for software is to consider it like a highway, or a piping system, something that we indirectly pay, rather than Car or the Gas that utilizes such services. When we follow this model, then we end up with far more Cars and Gas to consume, so to speak, and that's exactly what consumers want, and its exactly what businesses will profit MORE from once the wider audiences consider it that way. Sure, the Private Piping or Private Highway industries would loudly disagree, if they existed, but thankfully they don't. And if they did, then the enormous profits they'd earn would still be much less than that won by the outlier businesses from having a robust and thriving public highway (or public pipe) system in place. Open Source is good for more business, and that's better for society at large.

Yes, charging consultancy works for enterprise, as long as there's no base investment cost (ie, the consultant is freeloading off an existing project, or else is reinvesting surplus into developing a new project). The fact that other customers get the code for free isn't an issue, since the consultant has already been adequately compensated. Hopefully whoever built the starting code also was, too - freeloading isn't a bad thing at all, and in this case the initial developer will get the enhancements too, and the earning potential of the project grows.

This is all great, all wonderful. The next guy to come along can do the same, it all feeds back into itself, and rent gets paid, kids get fed, and so on.

I worry that this model means favours developers with sales and marketing skills over technical skills, though. But more worryingly than that, it's not clear to me that this model works at all for consumer software.

So let's assume you want to write an end-user IM client. Seems reasonable, really - base it off XMPP and go. We'll ignore, for a moment, that there are plenty in existence.

So on the hourly rate mechanism, the developer needs to locate one customer, and write them an IM client, charging them the full rate. All future customers then get it free. So £5 an hour, year to write - anyone want an IM client for £10,000? Thought not. And £10k over a year is hardly greedy.

In traditional programming, the rate is amortized over a number of sales, the pricing based on what the market will bear, and what's needed to compensate the programming team. This is similar to the "Private Highway" companies, who really do exist, and typically charge a toll for their bridge or road - spreading their initial investment cost across thousands of road users. Or, for that matter, the governments who build public roads and amortize the cost across road users via taxation.

So instead, I find 2,000 customers and charge them £5 each. Or 20,000 and charge them 50p. I might actually get in a marketing guy, aim for 50,000 charging them 30p. Two people get their rent paid.

But look at this this way. The number of open source consumer applications that have paid for people's rent are pretty small. Firefox, to some degree. Chrome, depending on how you count it. Android; though indirectly.

Where Open Source thrives is in the background, in the enterprise, as the base layer to build other things on top of. In that area, there's plenty of money, and a good living to be made - the problem is that the same models don't apply to all markets, and simplifying things (and, heaven help us, trying to imply some ethical angle to all this) is misleading.

The elegance of open source is that you can pinch the work that others have done, make the modifications that you want to do, and then apply it in the new domain.

All this marketing and sales, is silly. How can an individual reach 2,000 customers? Bill Gates met with IBM - one (1) client and probably 5-10 people that considered his proposal. How much has MS contributed with since, other than pretty borders? From 1980 to 1990 the technology developed, we met and exchanged ideas, we competed, made standards, lectured and got things done. I know, I was director of R&D and said "drop-it" on all ideas that were 3 months old. The HTML this network is based on was defined in those days, we used email that would make Outlook appear simple, that included encryption, and safety certificates, and full integration with ERP applications, database tools, task flow. Unless you open for organisations to use what you make, steal if you like, we will all invent the same things. We will do it more or less the same ways and fight over who did it first. The courtroom is the lest productive place on earth!

To charge for your <strong>work</strong> you have to charge per hour used. This is the dilemma for the genius: if you come up with some real novelty, like I know of a way to represent pictures as polynomials in a helix, allowing the objects to be recognised irrelevant to direction, but without the application (the military detecting the same objects flying north/south or east/west) or X-ray showing the broken leg this way or that, and really willing to sponsor the development, I am totally stuck. I do not work on DoD projects or in a huge group of medical equipment, so I am better off either to shut up with the genius way of storing images, or use it to solve a problem with upside/sideways X-rays that I have been asked to solve. Then ask the organisation I work with to protect the novelty, and help me get paid by spreading the word and protecting it. You need the umbrella bigger than you to license and protect. It is better to work and share, and be part of novelty. Those that need to protect their work usually is not even paid their hourly rate, but just too embarrassed to say so.
Regarding the remark that few things have been developed by open source, then I add that very few things have been developed by others. Had you told e in 1985 that I could still contribute, participate and hack, I would have laughed. It is silly how much is just the same as 25 years ago. Well, three letter acronyms have changed but they do not impress me. I have started a new project all by myself, because I am fed up with things being slow. Who could believe that, definitely not me.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.