Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have some trouble understanding MSPL (Microsoft Permissive License) conditions regarding linking to / using a library under MSPL from a project of mine which I want to license on either AGPLv3 or pure GPLv3 (the Affero-part should not play a major role in my question as far as i can see - but please correct me if I am wrong).

What I know for sure is that MSPL is incompatible with all versions of the GPL. But is there some kind of linking exception that allows using it from within GPL covered code?

Background: I want to use ASP.NET MVC 2 as well as Managed Extensibility Framework (both licensed under MSPL) in my web application project as frameworks. Thus, I will be referencing to them. But I want my web application to be licensed under GPLv3. I DO NOT want to modify or distribute ASP.NET MVC2 or MEF neither in source nor binary form along with my web application.

I really guess this is possible, but I can't find any passage in the MSPL which explicitly allows me to do so. If anybody has a link with more information on that, greatly appreciated!

What I am also pretty sure about: if ASP.NET MVC2 or MEF would be licensed under GPLv2 (and v2 only) I could definitely NOT use GPLv3 as my projects license. Even though I would not ship source or binary of ASP.NET or MEF then, my project would still be considered a derived work.

EDIT: I should mention that I do not want to use original .NET4 from Microsoft but Mono. Mono ships with ASP.NET MVC2 and MEF, both licensed under MSPL.

share|improve this question

migrated from stackoverflow.com May 31 '11 at 16:08

This question came from our site for professional and enthusiast programmers.

    
As a replacement for MEF, may I suggest Mono.Addins? It's licensed under the MIT license, so should be 100% GPL-compatible. –  Scott Whitlock Jun 1 '11 at 0:25
add comment

1 Answer

What I know for sure is that MSPL is incompatible with all versions of the GPL. But is there some kind of linking exception that allows using it from within GPL covered code?

Disclaimer - not a lawyer

If you're the author of the GPL'd work, you can relicense your next version with a linking exception that allows anyone who gets your GPL'd work to link it with the libraries that you name. Check out the ClassPath exception.

Background: I want to use ASP.NET MVC 2 as well as Managed Extensibility Framework (both licensed under MSPL) in my web application project as frameworks.

That's a horse of a different colour. I use MEF in a GPL'd work, and there's no issue, as long as you're using .NET 4. Since .NET 4, from the point of view of the GPL, is considered a system library, you're free to link against it no matter what the license. Note that you couldn't do this if you were using the MS-PL'd version of MEF under .NET 3.5.

I'm not sure about ASP.NET MVC, but if it's included as part of .NET 4, I would think it would be the same.

share|improve this answer
    
A linking exception is not an option, because I use GPL'ed 3rd party libs in my project as well - I would need a linking exception from every authors which is not possible. –  Dyna May 31 '11 at 16:42
    
Additionally, beeing a system library or not - MEF or ASP.NET MVC have a given license which is MSPL. I do not know if their presence in .NET4 Framework comes with another license which makes em dual licensed. My Problem: I do not want to use .NET4 but Mono. Mono ships with ASP.NET MVC2 and MEF from Microsoft, being ONLY under MSPL license. –  Dyna May 31 '11 at 16:43
1  
@Dyna - then yes, I see your point. If you were using .NET 4, it would be a moot point, but if you're using the MS-PL'd versions under Mono and you can't relicense your GPL'd application, I think you're S.O.L. –  Scott Whitlock May 31 '11 at 17:15
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.