Source code and licensing philosophy don't make a better product
Written by Jem Matzan
Aug 27, 2007 at 05:25 PM
For many years I've lamented two fundamental problems with software: that it doesn't have features I really want, and that it doesn't work the way it is supposed to. In other words I'm talking about a lack of appropriate features and a surfeit of bugs. As the era of open source software is slowly ushered in, and the era of proprietary software slowly wanes, I see the two different programming and licensing philosophies more dramatically exhibit these two fundamental problems, each to its own weakness. Neither of these philosophies is ever going to be enough to create truly great software. I wonder what the perfect licensing, distribution, and development model will be, assuming it has not been invented yet.
With open source software the traditional fundamental problem has been a lack of features. A program might almost do what you need it to, but not quite provide the same level of functionality that a proprietary alternative does. Likewise, in the height of the proprietary software era in the 1990s, a program might have all of the necessary features, but crash at inopportune times or only work under a certain set of conditions. Today those roles are totally reversed -- most of my extensive experience with open source software on both desktop and server systems has elicited piles and piles of bugs and problems, nearly all of which are fixed for no cost in a reasonable amount of time. Likewise, proprietary software has increased in price and is delivering less interoperability with other software, less compatibility across different versions and platforms, and fewer features that in my professional opinion are necessary for the target userbase.
The traditional open source business model is to give the software away for free, but to charge for various services -- installation support, paper manuals and pressed CD/DVD media, telephone technical support, bug fixes and other software updates on demand or as part of a subscription service, and custom software development. The "product" here is not the software (whatever it does), but the amount of responsibility and interactivity the company that distributes it provides. Seems like a great idea until you consider the fact that the company is never financially compelled to produce a technically perfect product -- such an application would never need the associated services that the company charges for.
On the other hand, you have proprietary software that you pay a large one-time fee for. You might get a minimal amount of included support over a short period of time, and you might get major bug fixes for free through service packs and patches, but you won't get the same level of service that you'll get through an open source company. Certainly you can pay a lot more to get a little extra service, but it's not the same. Proprietary software companies are built on the traditional "physical goods" philosophy that you make a great product and sell it as such. Windows is Microsoft's best attempt at producing an operating system that it hopes you will be compelled to buy. But what about a company like Canonical or Red Hat? They are not financially compelled to produce a superior product -- instead they aim for superior services.
Neither of these models is going to succeed in the long run. Once you've created the best product imaginable -- as Adobe has done with the majority of its creative tools -- it is very difficult to continue making money off of future upgrades. Macromedia Studio MX was the apex for Flash, Dreamweaver, FreeHand, and Fireworks, but there have been three upgrades since then. Each upgrade adds little things, but costs hundreds of dollars. Gone are the days when new versions brought huge, disruptive changes in proprietary desktop software. This model is not financially viable over the long-term, but as a user, at least I have the satisfaction of knowing that I'm buying someone's best attempt at producing a great product. I rarely get that impression with open source software. I don't think the ultimate design philosophy has been invented yet; I very much look forward to experiencing it, though.