This editorial was originally published on May 18, 2009. It is being re-run as Steve is on vacation.
Software is a very interesting business. Where else can you produce a product that has zero marginal costs for additional units? Where else can you force a "maintenance" charge on your product? What other product must continue to be improved upon by the manufacturer after it's sold?
There actually are other industries for all of these cases, but they're not numerous, and they differ from software. The business of building and selling software is fascinating, and I'm always learning more about it. I constantly see great questions in the forums at the Business of Software social network site. I'll also plug the Business of Software 2009 Conference; if you're a software person, consider attending this event. I went last year and found it very stimulating and educational, forcing me to think a lot about how that industry works.
I happen to work for a software vendor now, Red Gate software, and I used to work for another, JD Edwards. I wasn't a part of the development or sales in either company, but I did get to talk to people that were, and learned a bit the business. And so when I saw this open letter to Oracle, it struck a bit of a chord.
I'm not sure how software maintenance evolved to where it is today, but I think requiring it on a regular basis is an antiquated way of doing business. Microsoft doesn't do it, though many third party vendors that work with Microsoft product do. However I'm not sure that it's really a value proposition for most customers.
At least not if the software is written well. It's a piece of junk, maybe that maintenance is required.
I think that maintenance should be an optional part of the product, and that should fund support efforts, not a rolling cash cow to build the next version of your product. Sales fund that, or I think they should.