Joel talked about this
Your article makes sense if we are talking about enterprise software. It makes less sense if we are talking about end user applications which are not expected to need maintenance. In fact needing maintenance would be a sign of a bad product. Some of them might have the option to upgrade although this is usually not in the contract when purchased, it is more of a discount after the fact to try to get people to spend money again. Finally, in games, specially console games, there is zero maintenance and zero upgrades.
This is the biggest problem with discussing open source, we are all from different software worlds and we are dealing with our own environments. I can see pretty much 100% that open source is both well suited and commercially viable for enterprise software. Unfortunately, enterprise software is not the entire universe of software.