The media is declaring that Microsoft for the first time is sharing its code in "open source" fashion, under the Common Public License, which is a license IBM came up with. It has made available the code to its Windows Installer XML application (WiX) software on Sourceforge.
The first thing that popped into my mind was the New Zealand patent it got on XML that came to light not long ago. The second thing that popped into my mind is that OpenOffice saves documents in XML. Then I thought, I wonder if they plan on pulling some kind of a SCO someday, attacking OpenOffice? I could just be paranoid, but sometimes it pays to be. Then I asked myself, why do companies patent things? Is it because they intend to share freely with others?
Here's the official Microsoft line on why they are doing this:
Jason Matusow, Shared Source Initiative manager at Microsoft, said the code was posted in public because the company felt that developers could build more effective applications for Windows products with the actual elements of the WiX package to work with, rather than using shareware that was already available. He said Microsoft chose to reach people using SourceForge, because more than 25 percent of the projects being worked on via the site are related to Windows.
"WiX was a project that got picked up and used widely throughout Microsoft, and we felt that making the code available would improve people's ability to build their own setup packages," Matusow said. "We will continue to be a lot more conservative with how we share code from products such as Windows, but this kind of software calls for a different kind of business approach."
As you can see, this would mean they are simply interested in your welfare. Microsoft is known for that. And they would like to benefit from the open method. I believe I can interpret the quotation to mean that they would prefer that developers write applications for Windows than for GNU/Linux.
The CPL FAQ, question number 12, states this about the GPL:
Does the CPL allow me to take the Source Code for a Program licensed under it and include all or part of it in another program licensed under the GNU General Public License (GPL), Berkeley Software Distribution (BSD) license or other Open Source license?
No. Only the owner of software can decide whether and how to license it to others. Contributors to a Program licensed under the CPL understand that source code for the Program will be made available under the terms of the CPL. Unless you are the owner of the software or have received permission from the owner, you are not authorized to apply the terms of another license to the Program by including it in a program licensed under another Open Source license. By the way, the same answer applies if you want to include source code licensed under another Open Source license in a program licensed under the CPL.
And question 19 shows why MS would prefer the CPL:
If I write a module to add to a Program licensed under the CPL and
distribute the object code of the module along with the rest of the Program,
must I make the source code to my module available in accordance with the terms
of the CPL?
No, as long as the module is not a derivative work of the Program.
Here is a comparison of various licenses. And here is what FSF says about the incompatability of CPL and GPL:
Common Public License Version 1.0
This is a free software license but it is incompatible with the GPL.
The Common Public License is incompatible with the GPL because it has various specific requirements that are not in the GPL.
For example, it requires certain patent licenses be given that the GPL does not require. (We don't think those patent license requirements are inherently a bad idea, but nonetheless they are incompatible with the GNU GPL.)
Of course, the issue here isn't whether the CPL is OK to use. It's whether it's OK to use it with Microsoft code. Do you trust Microsoft enough to look at and use their code under any license other than the GPL? Here's some more on the patent, where another question is raised, namely whether the patent might be a way to make sure GPL applications are unable to interoperate easily with Microsoft XML. I'm not a programmer, so I could be missing some aspects to this story. What I do know is that Microsoft is seriously trying to kill GNU/Linux off, by proxy, and through its extraordinary FUD campaign of late, and that makes them not a friend. I see absolutely no reason why anyone would wish to help them in any way or would trust them. That's just me. Make up your own mind, though, and the urls are provided to help you do so.