Microsoft has now released two pieces of software on Sourceforge under the IBM Common Public License (CPL). To adapt Wilde, one might be regarded as carelessness, but two looks deliberate, so I had a look at the CPL to see what might cause Microsoft to choose it.
- It includes a patent license, but the scope of the license is only for Contributions which remain part of that particular program. They probably like this because it means they can release implementations of patented ideas without effectively nullifying their patent. I’m vaguely surprised this was adjudged as Free or Open Source; perhaps some patent grant is better than no patent grant. Also, given previous behaviour, I suspect they had to include something like this before anyone would touch their code with a barge pole.
- The patent grant from a Contributor is revoked if you sue that Contributor over infringement of any software patent. They probably like this because the more CPLed code gets used, the fewer people can easily sue Microsoft for patent infringement – even if Microsoft sue them for it.
- It’s somewhat copyleft – “separate modules of software distributed… under their own license agreement” do not fall under its scope. Perhaps they saw this as a way of trying to leverage the “we get to use other people’s improvements” part of open source while still being able to incorporate the result into proprietary products. Somewhat like the LGPL and MPL, in fact.
- It’s incompatible with the GPL. It’s fairly obvious why they like this. They can’t co-opt or make proprietary GPLed code, so they don’t like the GPL at all, and don’t want to increase the amount of code under its umbrella.
Comments on my analysis are very welcome. :-)