October 26, 2005

Are Microsoft's new licenses open source?

Author: Joe 'Zonker' Brockmeier

Last week, Microsoft announced a set of new Shared Source licenses. Normally, new Microsoft licenses wouldn't be cause for the open source community to pay attention, but the new Shared Source Licenses have gotten praise from open source proponents such as Tim O'Reilly, and even the Free Software Foundation Europe (FSFE) has weighed in with positive comments.

It looks like Microsoft is even making some headway with the Open Source Initiative (OSI), the group that coined the term "open source." Intel's Danese Cooper, a member of the OSI board of directors, writes that "Microsoft did meet with a quorum of the OSI Board and we discussed our commitment to equal application of the license approval process and gave them very preliminary feedback on the licenses as they appear on the MSDN website. So far, Microsoft's licenses have not yet been submitted to License-Discuss for public discussion, but OSI is hopeful that they will be."

OSI is hopeful that Microsoft will submit its licenses for approval? It seems like only a short time ago that OSI was seen as a counter to Microsoft, a champion for open source values against a company that was looking to destroy open source.

It would seem the adversarial days of OSI are over. In the same article, Cooper writes that OSI "received strong and consistent feedback" that focusing on Microsoft's past actions against open source was "leading to the false impression that open source was all about muckraking instead of a viable, professional alternative to the traditional proprietary world of software."

To that end, the infamous Halloween Documents have been removed from the OSI Web site, and OSI members have even been meeting with Microsoft to talk about its Shared Source licenses.

According to OSI board President Michael Tiemann, "There's no shortage of people who are happy to take companies to task for what they're doing.... We decided it wasn't consistent with the kind of advocacy that we want to do."

No discrimination against persons or groups

One of the precepts of the Open Source Definition (OSD) is that an open source license may not discriminate against a persons or groups. The rationale is that anyone should be able to contribute to open source, and thus no open source license should be able to prevent a person from taking part in contributing to open source.

With that in mind, Tiemann points out that it would be wrong for OSI to lock Microsoft out of the process. "If we were to discriminate against Microsoft because we don't trust what they're going to do with open source software, we don't trust open source software."

Even so, it is easy to see that OSI is doing more than simply being willing to work with Microsoft if it submits its Shared Source licenses for consideration. Cooper and other OSI board members have made statements actively encouraging Microsoft to submit its licenses for approval.

That's not unusual, according to OSI board member Russell Nelson. Nelson pointed out that OSI also encouraged NASA to submit its license for approval last year.

Nelson also said that Microsoft shouldn't be thought of as a monolithic entity with one opinion. There are many different opinions on open source within Microsoft, and giving the company the cold shoulder is a bad idea, since that would reinforce resistance within Microsoft to those who advocate open source. "If we treat them as badly as some people would like us to, people who are friendly [to open source] will lose currency within Microsoft." Nelson also reiterated that OSI's mission is "to convince all proprietary vendors to move to open source," which would certainly include Microsoft.

Still, Nelson said that he understands that many in the open source community do not trust Microsoft. "I don't trust them, I don't think we should trust them, and they understand there are some trust problems.... For that matter, they don't trust us."

Since the new Shared Source licenses are fairly close to existing OSI-approved licenses, why didn't Microsoft simply use one of the existing licenses? Jason Matusow, director of Microsoft's Shared Source program, said that Microsoft has used the Common Public License (CPL) for its projects on SourceForge, but said there were "certain technical issues" around those licenses.

A look at the new licenses

Microsoft is offering up five new licenses, two of which are just derivatives that add a "Windows-only" clause to the main license.

The first to consider is the Microsoft Permissive License (Ms-PL). As the name implies, this license is permissive -- it grants the right to view, modify, and redistribute the code, and allows the option of distributing derivatives without distributing source code. It's much like a BSD-style license, except that it prohibits re-licensing if the code is distributed in source code form:

(D) If you distribute the software or derivative works in source code form you may do so only under this license (i.e., you must include a complete copy of this license with your distribution), and if you distribute the software or derivative works in compiled or object code form you may only do so under a license that complies with this license.

The next license is the Microsoft Community License (Ms-CL). This is a reciprocal license that grants the right to view, modify, and distribute source code -- but requires that derivative works also be licensed under the Ms-CL.

The Ms-CL is a file-based license, like the Mozilla Public License (MPL). Basically, if a program contains one or more files with Ms-CL code in them, then those files must be licensed under the Ms-CL, but it is not necessary to license the entire project under the Ms-CL.

The practical upshot of this is that code licensed under the Ms-CL could be included in projects with some other open source licenses, or in proprietary software, as long as the file or files licensed under the Ms-CL are still available as source.

Finally, there's the Microsoft Reference License (Ms-RL). This one is more in sync with Microsoft's original Shared Source plan -- it's a "look, but don't touch" license that provides the source code for reference, but nothing else. Obviously, this isn't even close to being an open source license.

Microsoft also has two derivative licenses, the Microsoft Limited Permissive License (Ms-LPL) and the Microsoft Limited Community License (Ms-LCL), which restrict usage of the code to Windows only, and would not meet the Open Source Definition.

License proliferation

Some may also wonder why OSI is asking Microsoft to submit its licenses when the board has been on a push to reduce the number of open source licenses in an attempt to reduce incompatibilities between open source projects. OSI has even formed a committee to address the issue of license proliferation. So why would OSI seek to increase the number of approved licenses?

If there's one thing that everyone agrees on with regard to Microsoft's new licenses, it's this: They're short. Each of the new licenses is short enough to be printed on a standard sheet of paper -- a rarity when dealing with software licenses -- and brevity is a desirable trait, according to Tiemann.

Tiemann said that a brief, easy to understand license is "something that the open source community has been struggling to draft for some time." He also said that if Microsoft had created a very long, complex license, there would not be much enthusiasm for the licenses within OSI.

It's also worth noting that Microsoft has done its part toward reducing the number of Shared Source licenses. This reduces the number of Shared Source licenses from more than 10 to three, or five counting the Limited versions of the Ms-PL and Ms-CL. It still doesn't address the problem of proliferation for open source licenses, though.

Would Microsoft's licenses pass muster?

At first glance, two of Microsoft's new licenses seem to fit the OSD pretty handily. Matusow admits that Microsoft did consider the OSD when drafting the new licenses, and says that "fundamentally, these licenses are open by any reasonable definition of open."

However, until the licenses are put through the process, the OSI won't issue a judgment either way on the licenses. Tiemann pointed out that OSI has a policy against ruling on licenses until they are submitted for approval, "much to the consternation of some companies that want guarantee of acceptance before submission."

One minor sticking point with the licenses is that they name Microsoft as the licensor. Nelson said that Microsoft would need to make the licenses reusable before they would be accepted, otherwise they would be "yet another license that no one else can reuse."

In the end, it may not matter. Microsoft still has not submitted the licenses for approval, and it may never do so. Matusow said that Microsoft is not submitting the licenses at this time, but if the company does submit the licenses "we would do so like anybody else."

It's the code that matters

In the end, it doesn't matter a great deal if Microsoft's licenses are judged to be open source if the company doesn't release anything worthwhile under those licenses. So far, Microsoft has only released a handful of Visual Studio 2005 starter kits under the new licenses.

Bill Weinberg, open source architect specialist for the Open Source Development Labs (OSDL), said, "Whether there's a genuine community, or whether the licenses actually promote an open exchange of ideas, remains to be seen."


  • Open Source
Click Here!