Alan Cox: This is How Free Software Works

In “The Commercial Software Model” Craig Mundie makes some interesting cases for the proprietary software model. In doing so he mysteriously forgot to include some rather important but inconvenient facts.

There are many things I directly agree with him on. That companies need to focus on sustainable business models for example. No doubt Microsoft would like to imply Free Software is not a sustainable business model. I would like to make sure people at least consider the possibility that proprietary software is the non-sustainable model.

Craig also refers to the importance of 'intellectual property rights'. In maintaining that these are the key to business success he overlooks a very large number of examples.

Firstly most of the great leaps of the computer age have happened despite rather than because of IPR. In fact before the Internet the proprietary network protocols divided customers, locked them into providers and forced them to exchange much of their data by tape.

The power of the network was not unlocked by IPR. It was unlocked by free and open innovation shared amongst all. The Internet is not the product of a corporation. The World Wide Web is not the product of a corporation. These great enabling technologies were created by co-operative innovation.

Empowerment stems from open free technology. Proprietary technology can create innovations but they come with a terrible price. Customers are unable to combine innovations from competing companies. They also pay higher prices due to the lack of commoditisation. Try using a Wordperfect spell checker in Microsoft Word.

Craig also talks about standards. Standards are something Microsoft talks about a lot. As people who have attempted to work with Microsoft 'standards' can tell you they are selective at best. In their Halloween memo Microsoft talked about 'Embrace and Extend'. They are hard at work on this. '.NET' is an attempt to build a proprietary service network on top of an open Internet: in effect to lock customers into higher layers of the OSI seven layer model. Exchange supports Internet protocols like SMTP and IMAP. However many of the advanced features are mysteriously only available with Microsoft clients. Pick a Microsoft server and you have to pick a Microsoft client. Pick Microsoft Project and you have to run a Microsoft OS, and in fact may have to run half of the company on a Microsoft OS.

Craig claims

"Computers, devices and services will be able to collaborate directly with each other, and businesses will be able to offer their products and services in a way that lets customers embed them in their usage of the Web at their discretion."

Somehow the words 'providing they use Microsoft products' were left out.

So is 'Microsoft Shared Source' a failed attempt at Open Source? Not really. In fact it is a demonstration of how far Microsoft are from grasping the entire concept of Open Source. IBM were providing source code in the 1960's under similar terms. VMS source code was available under limited licenses to customers from the beginning. Microsoft are catching up with 1960.

The very language they use to describe 'Shared Source' misses the point of Free Software. To them 'Shared Source' remains about control and about 'owning code'. Free Software is about generating revenue from doing work the customer wants and will pay for. It recognizes that much of the software world is now commodity and that proprietary software with all its overheads is in fact not a sustainable business for commodity products.

'Shared Source' is a very misleading name. Sharing is a two-way process.

A generic baked bean manufacturer does not worry a great deal about IPR. They worry about providing a product the customer wants, and selling very large numbers of them. A Free Software company worries about providing what the customer wants and selling a lot of services, and on customizing and improving software as customers pay for it. This is the recognition that with over one hundred million computers in the world a large amount of software is firmly in the baked bean camp.

The obsession with selling software and controlling customers continues throughout the paper. Craig is apparently unable to grasp the concept of selling services and building rapidly upon an open code base. There are stable long-running free software companies. Cygnus Solutions predated the great .com boom and now as part of Red Hat continue happily onwards. They are not unique. Yes, Craig, there are a lot of Open Source companies built on .com models that will fail due to bad management, misguided funding or just bad luck. There are an awful lot of proprietary software companies who are and have done exactly the same. Incompetence is not a property of licensing. Any company must have a good business model and good management, even baked bean manufacturers.

Craig also appears so obsessed by 'forking' of code that he has to repeat his misunderstandings twice. In a Free Software environment the customer controls the direction of software. If nobody wants it to go that way nobody will pay for it. There are forks in the Linux tree, but they are for deeply embedded systems. Here the customer intentionally forks off from the main tree to create a specialized system for specialized applications. Perhaps a better way of putting the Microsoft approach is "Microsoft knows best. Daddy will decide what is good for you". No wonder embedded developers are rushing toward the Linux OS. With Linux they can customize if they have to - as they do with many of the more bizarre embedded setups. With Microsoft you must pick a prepackaged fork and live with it - 98, ME, NT, 2000 (all three versions), CE ... They do at least have a fair range of forks to choose from.

I pity his timing for the comments about security risks and forking. To say the things he did on the same day as hackers issue 'time to die' messages to millions of sites requiring immediate IIS security fixes and the same day the Linux Standard Base publishes the road-map and timetable for the 1.0 release internally must be a PR manager's nightmare.

Apparently Craig also has problems reading licenses. The GPL requires you provide the source to the customers not to everyone. It also requires you provide the source _at_cost_ not for free. You don't need to be a lawyer to check your facts Craig. Your customers will spread the software on for you, generating you business opportunities without intervention.

In talking about risk Craig is keen to talk about the risk of 'loss of IPR' but strangely neglects to ask about the many risks of proprietary software.

Perhaps these risks sound familiar to some. I wonder why?

One area where in part I agree with Craig is that the GPL may not always be the right way to release works funded as research for all to benefit from. There the BSD license may be more appropriate. Of course the GPL offers some interesting options - it provides a model for releasing research code for free to the benefit of all those who contribute back to the original work. At the same time it allows a research institution to sell that work to people who do not wish to contribute back to the common good - thus generating funding for further investment. To some this is a very appealing model - share alike and share freely, be it under the GPL by sharing code and ideas or in dollars by giving back some of the money made on their research.

Now that is sharing.