How does MS-PL license work?

| | August 5, 2015

I am a .net mvc web developer trying to understand how open source licenses work; more specially the MS-PL license. I would like to create a commercial web application based off an open source project that comes with an MS-PL license. I know I can modify the software and use it for commercial use, but do I need to include the MS-PL license for my commercial project (the whole thing)?

Say for example I download an open source project which utilizes the MS-PL license. I then modify and add to the project, thereby creating my own version of project. I intend to sell this product for commercial use. Do I need to include an MS-PL license for the entire application? Do I include the MS-PL license just for the original open source code – ie provide the source code from the downloaded project, and not any of my own code?

If I have to provide an MS-PL license for my commercial application then I would have to provide the full source code, and someone code then resell it as well, or modify it and resell it. I know the GPL license works likes this, but I am having trouble with the MS-PL despite its conciseness.


What is the difference between the MS-PL and MS-RL?


One Response to “How does MS-PL license work?”

  1. The MS-PL licensed components remain MS-PL licensed, and you must include the license with your product, but the rest of your application can be under whatever license you choose.

    For Resolver One, which includes (amongst other things) IronPython, we install a ‘Licenses’ directory along with the application and put the licenses in there. Our about dialog also mentions the open-source components we use and their licenses.

    If you include MS-PL components in binary form then you are not obliged to include the full source code.

    The MS-Pl does require (my reading anyway) that if you distribute the source of a derivative work then it must also be under the MS-PL (the same requirement does not apply to distribution of binary / object code):

    If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution.

    I would take this to mean that:

    1. You are definitely free to
      modify, distribute and sell
      derivative works
    2. If you
      distribute source versions then the
      parts of your work that are modified
      forms of the MS-Pl project must also
      be MS-Pl licensed
    3. Additional code
      that is not a derivative work of the
      MS-PL project may be under the
      license of your choosing

Leave a Reply