Software is not a manufacturing industry, thus not a product.
Open source economic model: Sell the license or charge a consulting fee?
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.