ARN: What is Microsoft's shared source initiative?
Kaefer: The shared source initiative is a family of source-code licences Microsoft offers, each catering to specific customer needs. It enables us to share our source code with customers and partners in a controlled way. There are different rules and rights for shared source-code licences depending on who is using them, be it enterprises or universities or Microsoft's OEM partners.
How do each of the licences differ?
There is no "one size fits all" for shared source projects, as different institutions need to be given different rights and obligations with the code to protect Microsoft's intellectual property. Enterprise source code licences, for example, are restricted to the large customers of Microsoft that already participate in early beta testing of Microsoft products. These companies can use the code for internal debugging purposes, but cannot modify or redistribute the code for profit.
We are also offering university source licences to educational institutions in over 25 countries. Under this licence, university staff and students are able to modify the code and distribute it among the universities.
How does Microsoft benefit from the scheme?
In the universities, it will foster learning and dialogue between Microsoft and the next generation of software engineers. Among customers, it is also helping us speed up the amount of time it takes to fix problems and solve issues with our software. And another thing - something a little bit more intangible - is that it's providing a level of trust between us and our customers and partners.
How much does the shared source initiative borrow from the open-source model?
Clearly, we have been watching the open-source movement with interest. We have been trying to learn things from it - if applied in the right way, some of its elements can work for commercial software companies too. For example, the open-source movement has given us a new concept of what community means in our industry. It's no longer enough to just have Microsoft Developers Network and books on our software. We need to find new ways to build community.
Is it just the business model behind open source that you disagree with?
There are three ways of looking at open source from our point of view: as a development model, as a licensing model and as a business model. We like some aspects of the development model, but there are other aspects that won't work for commercial software developers. It would be challenging to try a distributed approach to building a big project like Windows, for example.
As for the licensing model, we have been quite open about our concerns with the GPL [general public licence, which covers around 80 per cent of all open-source software]. There are people out there who believe software should be able to be freely modified and distributed, and that we should eliminate the ability to charge money for software. Obviously, as a software company that is something we don't agree with.
What is most challenging about the GPL is that it states people can attach the terms of the GPL to any software that connects with it. If you co-mingle any non-GPL code with GPL code, the non-GPL code effectively becomes part of the GPL. If a Microsoft developer put a line of Linux in the Windows product, all of Windows becomes open source. There are vagaries around it, so we treat it cautiously and ask that our customers and partners do the same.
Do you still see open-source companies as a big threat to Microsoft?
Most of these business models involve the free distribution of software, to sell with hardware or services, or to sell with proprietary software that runs on top of it. But I would be very interested to see if any business model can succeed where you don't charge for the one thing that differentiates you.
Linux advocates argue that even if the business model fails, Linux lives on. That money can't hold it back. Do you agree?
The software might always be out there and in use, but the question will be whether there is someone there to fix problems. And the software won't improve without that support. Static code is really not very interesting. Imagine if Microsoft had stopped developing Windows after 3.1. We wouldn't be here talking today.