Shared source

Shared source is a term for one of Microsoft's legal mechanisms for software source code distribution. Microsoft's Shared Source Initiative, launched in May 2001, includes a spectrum of technologies and licenses. Most of its source code offerings are available for download after eligibility criteria are met.

The licenses associated with the offerings range from being closed-source, allowing only viewing of the code for reference, to allowing it to be modified and redistributed for both commercial and non-commercial purposes.

Overview
Shared Source programs allow individuals and organizations to access Microsoft's source code for reference (e.g. when developing complementary systems), for review and auditing from a security perspective (mostly wanted by some large corporations and governments), and for development (academic institutions, OEMs, individual developers).

As part of the framework, Microsoft released 5 licenses for general use. Two of them, Microsoft Public License and Microsoft Reciprocal License, have been approved by the Open Source Initiative as open source licenses and are regarded by the Free Software Foundation as free software licenses. Other Shared Source licenses are proprietary, and thus allow the copyright holder to retain tighter control over the use of their product.

Microsoft's Shared Source Initiative has been imitated by other companies such as RISC OS Open Ltd.

Microsoft also uses specific licenses for some of their products, for example the Shared Source CLI License and the Microsoft Windows Embedded CE 6.0 Shared Source License.

Open Source/Free licenses
Two Microsoft Shared Source Licenses are considered as Open Source by the Open Source Initiative and Free by the Free Software Foundation.

Microsoft Public License (Ms-PL)
This is the least restrictive of the Microsoft licenses and allows for distribution of compiled code for either commercial or non-commercial purposes under any license that complies with the Ms-PL. Redistribution of the source code itself is permitted only under the Ms-PL. Initially titled Microsoft Permissive License, it was renamed to Microsoft Public License while being reviewed for approval by the Open Source Initiative (OSI). The license was approved on October 12, 2007 along with the Ms-RL. According to the Free Software Foundation, it is a free software license. However, it is not compatible with the GNU GPL.

Microsoft Reciprocal License (Ms-RL)
This Microsoft license allows for distribution of derived code so long as the modified source files are included and retain the Ms-RL. The Ms-RL allows those files in the distribution that do not contain code originally licensed under Ms-RL to be licensed according to the copyright holder's choosing. This is equivalent to the CDDL, EPL or LGPL (GPL with a typical "linking exception"). Initially known as the Microsoft Community License, it was renamed during the OSI approval process.

On December 9, 2005, the Ms-RL license was submitted to the Open Source Initiative for approval by John Cowan. OSI then contacted Microsoft and asked if they wanted OSI to proceed. Microsoft replied that they did not wish to be reactive and that they needed time to review such a decision.

At the O'Reilly Open Source Convention in July 2007, Bill Hilf, director of Microsoft's work with open source projects, announced that Microsoft had formally submitted Ms-PL and Ms-RL to OSI for approval. It was approved on October 12, 2007 along with the Ms-PL. According to the Free Software Foundation, it is a free software license. However, it is not compatible with the GNU GPL.

Non-Open Source/non-Free licenses
The other Microsoft Shared Source Licenses have various limitations that make them non-Open Source according to the Open Source Initiative and non-Free to the Free Software Foundation.

Microsoft Reference Source License (Ms-RSL)
This is the most restrictive of the Microsoft Shared Source licenses. The source code is made available to view for reference purposes only, mainly to be able to view Microsoft classes source code while debugging. Developers may not distribute or modify the code for commercial or non-commercial purposes. The license has previously been abbreviated Ms-RL, but Ms-RL now refers to the Microsoft Reciprocal License.

Microsoft Limited Public License (Ms-LPL)
This is a version of the Microsoft Public License in which rights are only granted to developers of Microsoft Windows-based software. This license is not open source, as defined by the OSI, because it violates the stipulation that open-source licenses must be technology-neutral.

Microsoft Limited Reciprocal License (Ms-LRL)
This is a version of the Microsoft Reciprocal License in which rights are only granted when developing software for a Microsoft Windows platform. Like the Ms-LPL, this license is not open source because it is not technology-neutral.

Criticism
Two specific Shared Source licenses are interpreted as free software and open source licenses by FSF and OSI. However, OSI president Michael Tiemann considers the phrase "Shared Source" itself to be a marketing term created by Microsoft. He argues that it is "an insurgent term that distracts and dilutes the Open Source message by using similar-sounding terms and offering similar-sounding promises".

Microsoft Enterprise Source Licensing Program
Microsoft gives enterprise customers viewing access to some parts of some versions of the Microsoft Windows operating systems. The ESLP license agreement is among the most restrictive of the licenses associated with Shared Source programs, allowing no modifications of the code.

Microsoft Windows Academic Program
The Windows Academic Program provides universities worldwide with concepts, Windows kernel source code, and projects useful for integrating core Windows kernel technologies into teaching and research.

Microsoft Shared Source Common Language Infrastructure
The first widely-distributed Shared Source program was Shared Source CLI, the Shared Source implementation of the Common Language Infrastructure. The licensing permits non-commercial modification and distribution of the source code, as long as all distributions include the original license, or one encompassing the original terms.

Microsoft Shared Source Common Language Infrastructure is neither free software according to the Free Software Foundation, nor OSI-approved open source.

Windows Installer XML (WiX)
WiX is a toolset that builds Windows Installer (MSI) packages from an XML document. The first Microsoft Shared Source offering to be released on SourceForge, WiX is licensed under the Common Public License (CPL).

ASP.Net AJAX Control Toolkit
The ASP.NET AJAX Control Toolkit is a set of controls and extenders that use AJAX technologies to enable developers to improve the client experience on their web sites. The toolkit is licensed under the Microsoft Public license (MS-PL) and is available on CodePlex, Microsoft’s online community development portal for collaborative software development projects.