The Observation DeckViews on software from Bryan Cantrill's deck chair
Comments:
I studied Economics for 2 years, A-Levels as they're called in the UK. Been a while since I last directly thought about things in terms of the laws of supplies and demand though. Very interesting post.
It's interesting to think of your observations in terms of subscription software. In a way, the motivation behind this is to give the software supplier a more predictable and regular source of income. They no longer have to try to force their customers to upgrade regularly or do expenside add-on modules. This is particularly important for small, one-product vendors in small markets - eg EDA vendors. It just happens to increase lock-in too... For client software, is it naturally harder or easier to migrate, I wonder? Particularly hard for OSs since one of the most critical points of OS choice is available (and supported) software. Not so much you can do in terms of migration tools either - user training and acceptance is a major issue. This is probably why Sun, and others, are concentrating on the "low hanging fruit" - customers with very old versions of Windows who want/need to migrate to something more modern. Such things cost a lot, and with the many changes from say Windows 95 (or NT-4) to Windows XP, user training and acceptance is going to be a major issue either way. Ditto for "productivity" software (Microsoft Office). PS I don't think software is quite at zero cost to "produce" yet - since bandwidth isn't free. However, software like BitTorrent can help massively reduce bandwidth costs for distributing large files to many people. (it's also nice in that it supports re-starts very well and does automatic checking of downloaded blocks and re-loads blocks that had transmission errors). Posted by Chris Rijk on August 29, 2004 at 03:26 AM PDT #
Thinking in supply and demand curves for software products is at least misleading. This economic model only works for commodities, which as you also said, does not apply to software. Treating software as commodities completely ignores the aspect of quality, which is of course very important (Compare Linux and Solaris!)
It also does not sufficiently explains, why databases are so much more expensive than operating systems. The database market is as old as the operating system market and has also seen several standardizations (POSIX, SQL, etc.). In my opinion the reason for the different pricing is the knowledge distance between customer and vendor regarding software systems: In case of operating systems the customers are also software developers or at least system admins, thus the distance is small. The vendor cannot charge an unreasonable high price, because the customer is competent in the domain of software products. This is generally not the case with databases. They are often sold together with ERP systems and other "end user" software to companies outsde of the IT sector . These customers are more likely to accept high prices, because they do not have an extensive software background and market overview. This is even truer for the speed of the migration from proprietary to open source software. 'Software guys' are much more inclined to test open source alternatives, because it is easier for them to work around problems and fix bugs. Example: You mentioned MaxDB (formerly SAPDB, in some sense it was SAP's FYO-product). Even though it is an excellent product and has been open source for some time (about 2000), it has not been widely deployed outside the SAP context. SAP even renamed the product(it now sails under the MySQL banner) to make it more attractive and well known. The reason for this effect is the fact that most oracle customers do not even know or care about alternatives, because the software market is not transparent for 'outsiders'! Even worse for MaxDB, the name SAPDB suggested that it only works together with SAP systems... Fortunately, a lak of acceptance will not be a problem for OpenSolaris. It is well know and respected and I'm looking forward to building Solaris for a new platform, PowerPC or some embedded processor for example ;-) Posted by Ralf on August 29, 2004 at 08:49 AM PDT #
Ralf,
Microeconomic supply and demand curves are not limited to commodities. If supply for an good (commodity or otherwise) is constrained, while demand is high, a premium price can be charged. As an example, witness the new Apple iPod Mini. It has a regular selling price set by Apple, but when it first was released you could buy one of these and turn around and sell it for a significant premium. Likewise, after the dot-com bust, the Sun SPARC/Solaris server market was flooded with previously owned Sun SPARC/Solaris servers, which significanlty depressed the economic price of newly manufactured versions of the same models sold directly by Sun and its reseller partners. This forced Sun to have to discount more, as well as engage in some of the behaviour Bryan mentioned to maintain lock in of Sun SPARC/Solaris servers purchased though legitimate channels. Other visible examples of this occur in the auto industry. A new model of a vehicle can often fetch a premium, usually added by the dealer. I have personally seen the line item "Dealer Additional Profit" added to a popular new car model. Likewise, designs that are long in the tooth need additional rebates to make them more competitive, even though the competitor's model is priced higher. The reason is microeconomic supply and demand curves typically only look at the supply and demand of a single good (i.e., Ford Taurus sedan vs. the whole 4-door sedan market, or Oracle database vs. the whole enterprise database market). Posted by Mark on August 29, 2004 at 12:02 PM PDT #
Interesting - I'd quibble rather more than a bit with some of the details of the analysis that Bryan uses, on theoretical grounds - his analysis confuses the market demand and supply curve (for perfect competition) and the individual firms's profit maximising output levels. The former is where price is determined by the instersection of market Supply and Demand curves; in the latter, the profit maximising output of a firm facing a non competitive market (where because they don't take the market price as given they face a downward sloping demand curve) profit maximising output is given by the intersection of marginal revenue (less than price) and marginal cost (zero in this case?) and the price they will be able to be charged will be greater than the marginal cost. In other words the intersection of supply and demand curves for a non-perfectly competitive firm will not determine the price and output... In other words the diagrams of price and output for the firm are plain wrong. I suspect that if I sat down and tried to work out what happens with a firm facing a kinked demand curve like this you would end up with something that gives discontinuous behaviour of the sort that Bryan suggests - but it doesn't come because of the diagram he draws!
An example of a little knowlege of Economics being a dangerous thing...
Susan S.
Posted by Susan Stewart on August 29, 2004 at 10:19 PM PDT #
Susan,
Despite the demand inelasticity, software isn't a non-competitive market -- quite the contrary given the presence of open source alternatives. Apologies if the analysis too often confuses the behavior of a single firm with one of a market, but I believe that the supply and demand curves do accurately represent the economics of software markets -- where the FYO point is the point at which open source alternatives are actively considered. That said, I think your objection is trying to pigeon-hole the software market into preexisting micro analysis of the behavior of firms in non-competitive markets -- an example of a little knowlege of Software being a dangerous thing...
Posted by Bryan Cantrill on August 29, 2004 at 10:42 PM PDT #
If the market doesn't follow the rules of **perfect** competiton ie identical products, perfect substitutes etc etc then simple demand and in particular supply curves cannot be used for the firm or the industry - if the firm doesn't face a perfectly horizontal demand curve then talking about a supply curve for a firm is meaningless. You can certainly use the demand curve faced by the firm to analyse what will happen as the firm changes the price charged - and (as my first post didn't make sufficiently clear) I have no problems with the shape of the demand curve that you propose; and indeed the discussion of complementarity is sensible and subject to my limited knowledge of the market explains what goes on reasonably well - but talking about a single supply curve just doesn't make sense for anything other than perfect competition, which has a very specific set of requirements that the software market does not meet.
Susan S.
Posted by Susan Stewart on August 29, 2004 at 11:43 PM PDT #
Susan, Thanks for clarifying your objection, and yes, that makes sense. I don't think the supply curve plays too heavily into my analysis -- my larger point is that the strange properties of software lead to unexpected results like firms giving away flagship products worth billions of dollars -- but I can see that it would need to be factored out completely in a more rigorous analysis. That said, I would still put my economic analysis up against software written by an economist... ;)
Posted by Bryan Cantrill on August 30, 2004 at 12:02 AM PDT #
I agree the supply curve is basically not a big part of the argument - however as a professional pedant I felt morally obliged to point out the error! I also figured that if you wanted to present the analysis in a more formal environment than a blog you would prefer to be aware that the diagrams were not strictly correct.
And no I don't even pretend to write software... And most of the time I don't believe economic analysis writen by other economsts either...
Susan S.
Posted by Anonymous on August 30, 2004 at 01:51 AM PDT #
While I think the economic analysis was quite good, I do have to point out two things I disagree with, one of which I think is a flaw in your analysis.
First, you state that Open Source Software is a loss-leader without the loss, and you explain this by saying that Software is freely distributed, and that the loss is avoided thanks to the sale of complimentary goods. But in this paragraph, you only discuss the manufacture of software as its cost, and not its "build" cost, even though you included it in your great explanation of the costs of developing software. The build cost of software is where software companies take the finanical hit, and this is where I find the discussion about "cost" of open source software vs proprietary software falls apart. The Open Source proponents ignore it, while the prorietary software proponents go overboard with it. Second, the complimentary goods model may not work well for all companies. Sun is a good example where it does work, since much of Sun's revenue comes from hardware. It even makes sense for "pure" software companies like Microsoft, since they have other products they can sell for revenue, even if their platform is given away for free. But for smaller pure software companies that have only one or two products, it just doesn't make any sense to release their product for free, as the revenue for complimentary products and services may not cover the total cost of production. They need to generate revenue to recuperate their initial invesment to produce the product, and that means selling the product. Nat Posted by Nathaniel Mallet on August 30, 2004 at 05:46 AM PDT #
Nat,
To address your first point: remember, I'm referring only to the variable cost, not the total cost of the software. If one were to take that line alone, it would provide more context to say "open sourcing software is like selling a loss-leader" -- that makes it clear that I'm talking about open sourcing existing software, not writing new software from scratch. As to the second point, you're absolutely correct: open sourcing proprietary software only works if one (a) has complementary goods and (b) does not derive a significant amount of revenue from right-to-use. As you point out, this makes it almost impossible for a small software company to consider. (But I think one could also argue that software from such companies is also less likely to be competitive with open source.) I imagine that Solaris may be seen as the canonical example where open sourcing makes sense: we have a huge number of complementary goods, we derive very little revenue from right-to-use, community and ecosystem are very important to us -- and we've been getting our lunch eaten by open source competition. While our situation may not be common, it is by no means unique -- and I expect it will become less rare over time. Posted by Bryan Cantrill on August 30, 2004 at 10:13 AM PDT #
I disagree that software does not wear out. While the statement itself is technically true, it's misleading. As your second footnote points out, software needs to be maintained if it is to remain useful -- new standards come out and new demands are made of the software. Without somebody footing the bill for the changes/enhancements that need to be made, the software quickly becomes useless even though it has not "worn out" in the same way mechanical devices do.
Posted by Paul Nijjar on August 30, 2004 at 01:46 PM PDT #
I second Paul's comment. Software itself may not wear out, but the hardware that runs it will, at which point the software may not have any acceptable host environment. I've supported inter alia the SAPDB which is now MAXDB, and the worst problems were frequently related to hardware or OS upgrades. The db software itself is robust, but the environment in which it runs is not static. This produces the same effects as 'wearing out'..
Posted by Douglas Kretzmann on August 30, 2004 at 03:33 PM PDT #
I stand by my statement: software does not wear out. That isn't to say that software never breaks (or isn't broken to begin with), but software that works can work in perpetuity. A favorite example of mine is troff. The source for troff is some of the nastiest stuff ever written -- but it works. It hasn't been touched in years, and probably will never be: it's written in a portable language (C) and relies only on the most basic OS facilities. troff will work indefinitely -- it will never wear out.
(The tragic footnote to troff is that its author, Joseph Ossanna, died tragically in 1977; the very fact that his software is humming along perfectly more than a quarter of a decade after his death is a testament to software's unique imperviousness to wear.)
Posted by Bryan Cantrill on August 30, 2004 at 03:46 PM PDT #
Hmm... interesting debate.
While I believe "code rot" exists, I also believe code can be used in production for a long long time.
I remember my mother telling me a few years ago that some payroll code she wrote 35 years ago was still in use (not much changed either apparantly). When I was a kid, we had a mainframe terminal in the house, so my mother could work from home. The concept behind Sun Ray @ Home is pretty obvious to me ^-^ I have some Perl tools that I use regularly on multiple platforms that I haven't changed in about 6 years. There's certainly a lot of scope for code "rotting" over time - backwards compatability issues in the OS, compiler, middleware or whatever. Which is of course affected by how solid the code is in the first place, how much it depends on OS features and libraries, and how paranoid the vendors are about backwards compatability. Strict, extensive and heavily automated bug and regression testing can certainly go a long way to help. I think maintaining backwards compatability should be the equivalent of "first, do no harm" for doctors. Maybe another way to put it is that (a particular version of) code does not die of natural causes - it is either slowly poisoned (poor management/maintenance, lack of backwards compatability) or murdered (by vendors wanting to force an upgrade, or cut their losses). Posted by Chris Rijk on August 31, 2004 at 06:02 AM PDT #
That's a great way of phrasing it Chris: software doesn't die of old age, but that doesn't mean that it doesn't die. Interesting, too, about the code your mom wrote -- and not at all surprising. I was visiting with a senior IT architect at a very (very!) large bank in late 2000. He told me that over forty percent of their Y2K problems came from a single platform: the IBM 1401! He said that this code was running in a 1401 emulator written for the IBM 360, which in turn was running in a 360 emulator on modern hardware. This was software written moments after the dawn of software -- and here it was, still plugging away in production. And even with Y2K, it was apparently cheaper to find the geezers who still knew 1401 assembler and pay them to fix the problem that it was to reimplement the software. And so that software lives on -- to 2038 and beyond!
Posted by Bryan Cantrill on August 31, 2004 at 01:47 PM PDT #
Brian, that "old code" example is pretty scary!
Hmm... I seem to remember some comments in the SCO/Linux case about some code that supposedly got stolen from SCO. I think some of the examples were actually for ancient (25-30 year old) Unix code! Comments and all. PS Just sent you an email regarding Dtrace (since it'd be rather off-topic here). Posted by Chris Rijk on August 31, 2004 at 03:46 PM PDT #
[Trackback] Interessanter Artikel zur Softwareindustrie : The Observation Deck.
Posted by c0t0d0s0.org on September 01, 2004 at 04:23 AM PDT #
[Trackback] Apparently, engineers over at Sun are given a special space to post their blogs. Its interesting that the suits at Sun would allow their employees to post on a public blog--opens up possibilities legal entanglements. But thats not the real...
Posted by Sui Generis on September 01, 2004 at 10:24 PM PDT #
Bryan, you mention troff as software that hasn't worn out. But the link goes to a blog which includes the comment:
"The scary thing is that there are at least 18 bugs in our database open against nroff or troff; one of the side-effects of promising full backwards compatibility."
Not exactly 'humming along perfectly'.. heh. ahem. Sorry.
I do remember in Comp Sci 101, in 1977, being told that Cobol and Fortran weren't going to be very useful except for learning about programming. Here we are in the new milleniumn, and I'm still helping customers with Cobol code, even exposing Cobol programmes as web services.. Posted by Douglas Kretzmann on September 08, 2004 at 03:41 PM PDT #
not sure if troff is really a good example. the version you think is <em>humming along</em> was put together by brian kernighan; ossanna version was displaced a long time ago (for a while kept under the name otroff) with brian's version because making it drive anything other than a C/A/T was such a pain.it had many other limitations and problems, which is why brian also did ditroff. [see cstr #97 for all the gory details. one could argue especially for troff that it <em>did</em> wear out, in more ways than one...]
Posted by ozan yigit on September 14, 2004 at 08:59 AM PDT #
[Trackback] Well it's almost a month later, and I still haven't finished my article on software economics. I've been busy, as always, but I've also had some recent changes in my job that have been distracting me. More on those job changes tomorrow.
But since I ...
Posted by Standing in the Field on October 17, 2004 at 09:25 PM PDT #
[Trackback] This is the second part of my follow up to Bryan Catrill's post about software economics . The first part of my follow up can be found in an earlier post .
Part Two: The Real Cost of Delivering Software
Both part one of my follow up and Bry...
Posted by Standing in the Field on October 17, 2004 at 09:40 PM PDT #
"Software is like nothing else in the history of human endeavor:1 unlike everything else we have ever built, software costs nothing to manufacture, and it never wears out"
Hi Bryan.
I didn't even read past the first sentence because it spacked of a shallow treatment.
(so you can do the same here :)
Software obviously does wear out. There is software that is now unusable. That's because the environment for it changes. Even if the feature set is fixed, the environment is not stable. You could have explored why that becomes true.
If software is no longer used, it is worn out.
My definition.
Software does have manufacturing costs. For one, there is no such thing as shrink-wrapped software. User's demand support. User's demand bug fixes. All manufacturing has a minimal amount of costs, because of the presence of lawsuits when the promised functionality doesn't exist, or damage is created.
Your model of costs is silly. MSFT doesn't just flush money down toilets, nor does SUNW. It gets spent on stuff, that if unspent, means the software doesn't get purchased by users.
So all you have, is something with different manufacturing costs, and a different set of criteria for determining it's wearout period.
You can bring it down to the simplest model. A single person writing software in his home, distributing it over the 'net. There are costs there also. And eventually, if nothing changes,
people will stop using that software.
I can find a nail from 1850 that's still usable.
So if you find some junk software that's still usable, i'm not sure it means much in the bigger
argument.
Posted by Johnny On The Spot on October 19, 2004 at 08:41 PM PDT # Post a Comment: Comments are closed for this entry. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||