Jump to content

Source-available software

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Fox Aquatis (talk | contribs) at 07:00, 21 August 2008 (Microsoft Public License (Ms-PL)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Shared Source is Microsoft's framework for sharing computer program source code with third parties. Microsoft's Shared Source Initiative, launched in May 2007,[1] 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 purely closed-source, and 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 (i.e. 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[2][3] and are regarded by the Free Software Foundation as Free Software licenses.[4] Other Shared Source licenses are proprietary, and thus allow the copyright holder to retain tighter control over the use of their product. From the perspective of companies which are used to developing proprietary software, this may be a smaller transition to make, and may be seen as an interim step to full open source disclosure.

Microsoft's Shared Source Initiative has been imitated by other companies such as RISC OS Open Limited.[5]

Shared Source licenses

Microsoft has published 5 licenses for general use. It also uses specific licenses for some of their products, for example the Shared Source CLI License[6] and the Microsoft Windows Embedded CE 6.0 Shared Source License.[7]

Open Source Licenses

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.[8] 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.[9] According to the Free Software Foundation, it is a free software license and is compatible with the GNU GPL version 3.[4]

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.[10] 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 or LGPL (GPL with a typical "linking exception").[citation needed] 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.[11] 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.[12]

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.[13] It was approved on October 12, 2007 along with the Ms-PL.[9] According to the Free Software Foundation, it is a free software license. However, unlike the Microsoft Public License, it is not compatible with the GNU GPL.[4]

Proprietary Licenses

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.[14] Developers may not distribute or modify the code for commercial or non-commercial purposes.[15] The license has previously been abbreviated Ms-RL, but Ms-RL now refers to the Microsoft Reciprocal License.[10]

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.[16] This license is not open source, as defined by the OSI, because it violates the stipulation that open-source licenses must be technology-neutral.[17]

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.[18] Like the Ms-LPL, this license is not open source because it is not technology-neutral.

Criticism

Although two specific Shared Source licenses are interpreted as free software and open source licenses by FSF and OSI respectively, there is criticism[19] that putting many other licenses under the same term and refusing to put the word "Microsoft" into the term, is an attempt to confuse or dilute the meaning of the term Open Source. "As to the question of whether the OSI approved 'shared source' licenses or not, the real question is: who wrote that headline? What the OSI did was to approve specific licenses submitted by a specific company that happens to be Microsoft."

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".[19]

Others point that open source developers looking at code released under Microsoft Reference Source License could be later accused of stealing it, if their own code would be similar enough.[20] GNOME and Mono developer Miguel de Icaza warns open source developers to not look at such code.[21]

Notable Shared Source programs and projects

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.[22]

Microsoft Shared Source Common Language Infrastructure is neither free software according to the Free Software Foundation,[4] 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.

See also

References

  1. ^ Geekzone: Microsoft announces expansion of Shared Source Initiative
  2. ^ Ms-PL
  3. ^ Ms-RL
  4. ^ a b c d "Licenses - Free Software Foundation".
  5. ^ RISC OS Open
  6. ^ http://msdn.microsoft.com/MSDN-FILES/027/002/097/ShSourceCLILicense.htm
  7. ^ Microsoft Windows Embedded CE 6.0 Shared Source License Terms (“License”)
  8. ^ "Microsoft Public License (Ms-PL)".
  9. ^ a b "OSI Approves Microsoft License Submissions". 2007-10-17.
  10. ^ a b "Microsoft Reciprocal License (Ms-RL)".
  11. ^ John Cowan (2005-12-09). "For Approval: Microsoft Community License". license-discuss mailing list. {{cite web}}: Check date values in: |date= (help)
  12. ^ Peter Galli (2006-08-22). "Blogger Can't Tempt Microsoft To Drink OSI Kool-Aid". eWeek. {{cite news}}: Check date values in: |date= (help)
  13. ^ Tim O'Reilly (2007-07-26). O'Reilly "Microsoft to Submit Shared Source Licenses to OSI". O'Reilly Radar. {{cite news}}: Check |url= value (help); Check date values in: |date= (help)
  14. ^ "Microsoft Reference Source License". Microsoft. 2008-02-01. Retrieved 2008-02-13. "Reference use" means use of the software within your company as a reference, in read only form, for the sole purposes of debugging your products, maintaining your products, or enhancing the interoperability of your products with the software, and specifically excludes the right to distribute the software outside of your company. {{cite web}}: Check date values in: |date= (help)
  15. ^ "Microsoft Reference Source License".
  16. ^ "Microsoft Limited Public License (Ms-LPL)".
  17. ^ "The Open Source Definition". Open Source Initiative.
  18. ^ "Microsoft Limited Reciprocal License (Ms-LRL)".
  19. ^ a b Who Is Behind "Shared Source" Misinformation Campaign?
  20. ^ Microsoft's pseudo-open source: open trap for open-source developers?
  21. ^ Microsoft Opens up the .NET Class Libraries Source Code
  22. ^ As written in the license, examples of commercial purposes would be running business operations, licensing, leasing, or selling the Software, or distributing the Software for use with commercial products