source code release. This has resulted in a variety of source code licenses being used for Microsoft source code releases.
Based on the experience gained through Shared Source, Microsoft has drafted three simplified licenses for future Shared Source releases. These licenses have the following attributes:
- Short and easy to understand -- The new licenses are typically shorter than a typewritten page and are easy to read and understand.
- Effective and modern -- Although simple, the licenses are designed to be effective and to reflect modern best practices in source code licensing.
- Efficient -- By using three simplified licenses, Microsoft will be able to streamline its own internal source code release process, which will allow for more rapid Microsoft source code releases.
- Ecosystem-friendly -- Using three simple and well-understood licenses help to simplify source code sharing throughout Microsoft's various software ecosystems, and help to avoid excessive license proliferation.
These new licenses represent a broad spectrum of approaches needed to facilitate an ever-growing, rich set of technologies for release.
The three licenses are:
- Microsoft Permissive License (Ms-PL) -- The Ms-PL is the least restrictive of the Microsoft source code licenses. It allows you to view, modify, and redistribute the source code for either commercial or non-commercial purposes. Under the Ms-PL, you may change the source code and share it with others. You may also charge a licensing fee for your modified work if you wish. This license is most commonly used for developer tools, applications, and components.
- Microsoft Community License (Ms-CL) -- The Ms-CL is a license that is best used for collaborative development projects. This type of license is commonly referred to as a reciprocal source code license and carries specific requirements if you choose to combine Ms-CL code with your own code. The Ms-CL allows for both non-commercial and commercial modification and redistribution of licensed software and carries a per-file reciprocal term.
- Microsoft Reference License (Ms-RL) -- The Ms-RL is a reference-only license that allows licensees to view source code in order to gain a deeper understanding of the inner workings of a Microsoft technology. It does not allow for modification or redistribution. This license is used primarily for technologies such as development libraries.
Source code licensing is an inherently complex topic. There are many possible permutations or interpretations of any given license. It is not our intent to redefine all source code licensing, rather to simplify the approach taken by Microsoft.
Microsoft supports the right of a developer to make use of any license and highly recommends that you get appropriate legal advice regarding your choice of source code license.
Microsoft Permissive License (Ms-PL)The
Microsoft Permissive License (Ms-PL) is the least restrictive of the Microsoft source code licenses. It allows you to view, modify, and redistribute the source code for either commercial or non-commercial purposes. Under the Ms-PL, you may change the source code and share it with others. You may also charge a licensing fee for your modified work if you wish.
The copyright and patent grants are both royalty free, meaning that you do not have to pay anything to Microsoft to make use of the source code. There is no obligation for you to publish any changes you make in either binary or source code form. You do need to keep any notices in the code for copyright, patent, trademarks, or for any other forms of attribution.
Microsoft has created a limited version, the
Microsoft Limited Permissive License (Ms-LPL), of this license to be used for restricting usage to the Windows platform only. The platform restriction is a measure that Microsoft, as a commercial software provider, may choose for a particular source code release in order to enable positive interaction with Windows-based developers. This version of the license will be employed on a case-by-case basis based upon commercial considerations.
Microsoft can not provide legal advice on the use or implications of this license. We recommend that you get appropriate legal advice before making source licensing decisions.
Microsoft Community License (Ms-CL)The
Microsoft Community License (Ms-CL) is a license that is best used for collaborative development projects. This type of license is commonly referred to as a reciprocal source code license and carries specific requirements if you choose to combine Ms-CL code with your own code. Nearly all current reciprocal licenses are based on the act of distribution to trigger their terms. The Ms-CL seeks to apply the reciprocal terms in a commercially reasonable fashion and to give developers clear guidance as to when the Ms-CL's reciprocal provisions come into play.
Developers often have a range of architectural options at their disposal when crafting a particular product or solution. They frequently have the option to design a larger work as a series of separate files or components that communicate with each other at runtime on the end user's computer, as opposed to one monolithic piece of code that is distributed to the end user as a single file. Although these architectural differences may not be obvious to the end user, they may have significant licensing implications for you as the developer, particularly if you use Ms-CL code in creating the larger work. The Ms-CL (like the Mozilla Public License) works on a "file-by-file" basis. This means that if you use some Ms-CL code in a particular file then the entire file that contains the Ms-CL source code (including any other code in that file, no matter who wrote it), must be redistributed in source code form under the terms of the Ms-CL. On the other hand, for any files in your larger work that contain no Ms-CL code, you are free to license those files under the terms of your choice. This is true regardless of how these "non-Ms-CL" files interact with or communicate with the Ms-CL files at runtime. In other words, if you release code under the Ms-CL and someone includes it in a file in their project (and then distributes their project to others), they must distribute under the Ms-CL anything that is in the specific file that contains your original work. While this file-by-file threshold might at first seem arbitrary, it has the benefit of being an easy to interpret, bright line rule.
Thus, the intent of the reciprocal license is to use licensing as a mechanism to keep certain community-based code "in the community," while allowing companies to commercialize and license (under terms of their choice) their "value add" code that interacts with the community-based code.
The copyright and patent grants are both royalty free, meaning that you do not have to pay anything to Microsoft to make use of the source code. You do need to keep any notices in the code for copyright, patent, trademarks, or for any other forms of attribution.
Microsoft has created a limited version, the
Microsoft Limited Community License (Ms-LCL), of this license to be used for restricting usage to the Windows platform only. The platform restriction is a measure that Microsoft, as a commercial software provider, may choose for a particular source code release in order to enable positive interaction with Windows-based developers. This version of the license will be employed on a case-by-case basis based upon commercial considerations.
Microsoft can not provide legal advice on the use or implications of this license. We recommend that you get appropriate legal advice before making source licensing decisions.
Microsoft Reference License (Ms-RL)The
Microsoft Reference License (Ms-RL) is the most restrictive of the Microsoft source code licenses. The license prohibits all use of source code other than the viewing of the code for reference purposes. The intent of this license is to enable Microsoft to release, for review purposes only, more sensitive intellectual property assets.
The most common use of this license will be with developer libraries where modification is not a requirement for making use of the source code. In these cases, the importance of transparency is based on the need for developers to more deeply understand the inner workings of a specific set of technology. In doing so, the developers will be more effective in writing software that makes use of the shared library.
The copyright and patent grants are both royalty free, meaning that you do not have to pay anything to Microsoft to make use of the source code. The license limits the source code release to use on the Windows platform only.
Microsoft can not provide legal advice on the use or implications of this license. We recommend that you get appropriate legal advice before making source licensing decisions.
The above article is Copyright (c) 2005 Microsoft Corp. All rights reserved. Reproduced by WindowsForDevices.com with permission.
Impact to Windows CE Shared Source and Shared Platforms?
In terms of impact to Microsoft's
Windows CE Shared Source and
Shared Platforms initiatives, Windows Embedded product manager Nic Sagez told
WindowsForDevices.com that these programs are not migrating to the new licenses any time soon. However, Sagez did not rule out the possibility of a longer term change, based on customer feedback and market requirements.
Further Information About Microsoft Shared Source
The following resources at Microsoft.com provide further details on the company's newly updated Shared Source initiative and licenses:
Other Related Stories