Why the CPL?

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. :-)

4 thoughts on “Why the CPL?

  1. Gerv,
    Thanks for your analysis. So even if Microsoft releases something under an opensource license we have to read the license agreement closely.

    Thanks for reminding us to that…

  2. You always should read the license agreement, but because Microsft choose to use an existing license instead of inventing their own, makes interpreting it a lot easier.

  3. Mmm let me think… if everyone used CPL, software patentd would be useless ? :)

  4. if everyone used CPL, software patentd would be useless?

    No, because you can only use the counter provisions against companies which use CPLed software themselves. Parasitic IP-only companies could still do a great deal of damage.