You are here

License Question: MS-PL and GPL

7 posts / 0 new
Last post
wraithdu
Offline
Last seen: 11 years 6 months ago
Developer
Joined: 2007-06-27 20:22
License Question: MS-PL and GPL

If I want to us a MS-PL licensed module in a GPL project, how does the main project have to be licensed? Can it be just GPL, or does it need to be dual licensed under MS-PL and GPL?

alanbcohen
Offline
Last seen: 5 years 4 months ago
Joined: 2006-01-04 10:47
Under the Microsoft Public

Is your application a derivative work, modifying Microsoft's offering or just including it as they wrote it? If you are just including it, this seems to be the operative clause:
3. Conditions and Limitations
(D) 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. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.

There doesn't seem to be any restrictions placed on your original work with regard to license, just on a derivative work, modifying Microsoft's offering.

wraithdu
Offline
Last seen: 11 years 6 months ago
Developer
Joined: 2007-06-27 20:22
Well, just to be clear, it's

Well, just to be clear, it's not Microsoft's code, just released under their license. The project will be distributed with modified source code and compiled binaries.

John T. Haller
John T. Haller's picture
Offline
Last seen: 6 hours 34 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Don't Think You Can

I don't think you can unless all the code is copyright by you. The MS-PL is basically Microsoft's version of the GPL (but purposely incompatible with the GPL), so you can only take code into it, not out. The difference is that almost nothing is MS-PL licensed because no one really likes the license.

If you have any GPLed code written by anyone else, you can't use it with the MS-PL code. If you have any MS-PLed code written by anyone else, you can't use it with GPLed code.

If you're writing it yourself from scratch, you'll have to dual license it. MS-PL won't allow you to link to GPL code by design... it is designed to get code out there that is GPL incompatible. That's basically the entire purpose of the MS-PL.

If possible, get code from an alternate source, don't link the module directly (just call the EXE and don't pass data structures) or rewrite it under a better open license. The last thing we need is more MS-PL code.

Sometimes, the impossible can become possible, if you're awesome!

wraithdu
Offline
Last seen: 11 years 6 months ago
Developer
Joined: 2007-06-27 20:22
Ugh, how dumb and annoying.

Ugh, how dumb and annoying. So is this scenario workable -

Main app is GPL - app and PAF installer, etc., all mine and PApps stuff.

DLL is MS-PL, modified source and compiled binaries distributed with main app, but not internally linked. The DLL is called from the main app and returns some string data.

Is that OK?

John T. Haller
John T. Haller's picture
Offline
Last seen: 6 hours 34 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Nope

According to the FSF, if you're linking (as in a DLL) then it's one app. If it's one EXE that forks and calls another EXE, then it's different apps.

So you either need to be able to relicense the MS-PL code as GPL (preferred since GPL is the most popular license in the world) or relicense the GPLed code that calls it as MS-PL. Wasn't that nice of Microsoft to give you that new 'free' license?

As a general rule, it's best to just ignore anything licensed as MS-PL and look elsewhere.

Sometimes, the impossible can become possible, if you're awesome!

wraithdu
Offline
Last seen: 11 years 6 months ago
Developer
Joined: 2007-06-27 20:22
It's a cryptographic hashing

It's a cryptographic hashing library...my choices are limited. I'm exploring other options though. The author of the modified GPL library I'm currently distributing with md5hash is travelling, so can't send me source for a few weeks. I thought I'd look at other things in the meantime.

Log in or register to post comments