Sunday, October 15, 2006

Freedom and Value

Adding to the weight of opinion to the value of code discussion. Source code has an illusion of value only. It costs money to produce, no question. Time, expensive time hiring smart people, large quantities of time to design, code and finish the software. But value? As anything, things are worth what someone will pay for them. No more, no less. Many an entrepreneur has failed due to not recognizing that fact. A stunning example of this was when British Columbia spent over $400 million to build 3 high speed ferries that were ultimately useless, and could only get $25 million for them when auctioned. Value is in the eye of the beholder. Value in source code comes from other factors, such as artificial scarcity from patents, first to market, look and feel copyright. Or value coming from an established name, such as Microsoft or Oracle or IBM, which are able to charge large sums of money for products that fill a need. Or value that comes from it's utility. Or value that comes from the capability to execute, to manage large numbers of developers to enable timely release of stable software.

One could even argue that source code costs money. Not only doesn't it have any intrinsic value, but it consumes resources. Code requires constant maintenance to retain it's usefulness, hence it's value.

Any piece of code can be duplicated, decreasing it's value. Not trivially, for the reasons outlined above, but given adequate motivation, any piece of software can be duplicated. Take Microsoft Excel, by all accounts an excellent software package. Back before Windows, Borland wrote a version of their spreadsheet that possibly equaled Excel. The story as I remember it was that they had six developers using the then new fangled object oriented C++, wrote this spreadsheet in a relatively short time. Nice piece of software. That code is now valueless, and quickly became so because they couldn't sell a spreadsheet alone. The market changed, suites became the thing, Windows came along, so all this expensive source code had no value.

And ad nauseum. Even if all the code that was written and quickly became without value was opened up, it still would have little value except possibly historical. OS/2 had a nice graphical interface, fully threaded, that ran on 4 megs of memory. Even if it was opened up, it probably would be useless due to the changes in usage and expectations of software. When I first used OS/2, it didn't have tcpip built in. The full commercial version had that and all the other network protocols (more valueless code, remember Banyan?). If I took my OS/2 Warp cd, and tried to install it on a modern machine, it wouldn't work. It is without value, although it was very expensive to produce.

Realistically, in todays marketplace, the only way most code can gain in value is for it to be open. Firefox would have very little value at all if there was a requirement to pay for it. That is simply due to the market conditions. I think the developers are being paid to write it. I don't know how the economics work for that particular project. Same for KDE. If I had to pay $200 for it, and developers were paid from it's proceeds to continue writing it, I doubt if we would have anything close to what we have now. Especially if the source was hidden. The challenge with free software is to find ways so people can eat, but as the source gets finished and better, I think many see value in it, in some way. In fact, that is how things are working out.

The knowledge that I use to generate money for living is freely available. I am now passing my knowledge on to an apprentice, who will then make money for himself and his employer. My employer has trained around 30 apprentices during his career. Some have repaid him by generating profits for him, some haven't. To suggest that his knowledge loses value if it is opened up is ludicrous. The application of his knowledge has value, and people pay him very well to apply it. We have no problem charging high prices and collecting promptly from people who are making a good profit using the equipment we install. They percieve good value in our services. The opposite is true also. We look very carefully before doing work for someone who we think is going to get over their head, simply because they will not value our services as highly.

The same with software. Hiding things, keeping code secret gives a short term advantage if at all. Even if someone like Microsoft made their code available, with restrictive copyrights, would that materially affect their sales? I doubt it. Piracy is rampant even without the source. I suspect that in the long run the code would have even more value. Their code is valuable only because of the machine named Microsoft that generates enormous sales. Even if 'hobbyists' have successfully duplicated their software.

Note that I said 'restrictive copyrights'. Licenses make a big difference here. The GPL has created value in source code by encouraging collaboration. This makes source code that isn't complete in every way valuable to a wider audience because everyone can make it fit their needs all the while benefitting from others doing the same. A BSD type license adds value in other ways. A restrictive license doesn't valuate open code as much, but allows other attributes that valuate the code to remain.

The high tech industry has not had any trouble generating source code and ideas. It has had trouble generating cash. Those who have been successful may think it is due to having hidden the code. If they were realistic, they would see that the critical elements have been everything else. All else being equal, Microsoft would still own the market even if their code was open from the beginning. Wordperfect would have disappeared when they couldn't move fast enough to develop a suite for Windows. Banyan would still have disappeared when tcpip made them unnecessary. etc etc. When your code becomes valueless, the fact that it is hidden adds nothing.


This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]