Time And Materials? - NOT!

Recently I noted that people seem to think there is only one business philosophy for Free Software, and that is to charge for “time and materials”.   In reality this is a fairly bad business philosophy, and will quickly drive the programming community to very low wages. I have known many business philosophies with Free Software, and I will discuss a few of them here.  But first I would like to discuss the concept of “time and materials” usually associated with “Total Cost of Ownership” and the concept of “Return on Investment” or the value of the solution, which is where I feel that FOSS really shines. In the world of proprietary software you may be trying to fit a square “box” of software into the round “hole” of the business problem.  You may put as many “square boxes” of software (which you can neither change the size nor shape of the solution) as you want, but there will always be a “business problem” that will show through, unaddressed, and forcing you to change the way your customer does business to fit the way the software works. A lot of people will then try to buy a really large package, but this creates the problem of greater computing resources needed, extra training for the solution (as the software is typically more complex), and extra maintenance fees. With Free Software you can tailor the packages to work together better, changing the source code of the packages to meet your needs. You can take parts of other packages and integrate them into your solution. Most importantly, you can change the solution to make it more efficient than your competitor's solution, or to give better or faster results. If you are all using the same, unchangeable, closed-source legacy software, how can you innovate to get ahead of your competition? Years ago I would walk into a company and look at a problem they were experiencing. I would ask them “How much does that cost you every year?” Then I would ask them how much they would pay me to fix that problem. From that I would determine my price. Notice that I did not talk about how long it would take me, or how much the solution would cost. I only talked about the benefit to them. If I concluded the solution would cost more than it would benefit the customer, I explained this to them and then I often walked away from the job.  Often the solution took only few days to complete, and I earned a lot of money. In those days you typically had to write all the code from the beginning. These days you can start with a large part of the solution in the Free Software pool of code, and then tailor it to meet your customer's needs. Another business philosophy talks about lowering the cost of the solution, so you make more money off what the customer values. A friend of mine had a large amount of software his engineers had written. His engineers were spending more and more time just on porting his software to different platforms and quality control. Neither of these generated lots of revenue, since his customers expected both to be done. His engineers were not happy because they were no longer “innovating”. My friend decided to make the bulk of his software “Open Source” and created a community around it that would port it to different platforms and do a certain amount of quality control on it. He then re-directed his engineers to write closed source advanced management modules for his software and to aim them towards enterprise customers. He built his community site on his server and allowed the customers to download the FOSS, and if the customer was a large enterprise customer he would call them up and offer to sell them the proprietary management software. Over time the community started to implement the proprietary modules in FOSS, but he would then release the sources for the modules and move his engineers up a level. His cost of sales went down, his cost of support dropped dramatically, his volumes went up, his engineers were happier, and he made more profit than ever. Another friend bought a closed-source product company whose product was selling for about 2,000 USD a copy, with about two copies a quarter being sold. He noticed that 60% of the companies that bought the software bought training and other support contracts. He made the software FOSS and 2000 people a quarter started to pull the software down and use it. Then 60% of them bought service contracts. His company is doing fine, thank you. Some people may argue that these are not pure “Free Software” projects, but the customers were able to enjoy a lot of the benefits of Free Software in both cases, and the companies continued to leverage the benefits of FOSS and to create paying jobs. So please start looking for more business philosophies and paths than just “charging time and materials”. “Charging for time and materials” is a path destined for pain.