views:

190

answers:

3

I have a software project I want to release under GPLv3, it uses two pieces of code that other parties have developed (one is the DLR by Microsoft, which is under the Microsoft Public License and the other piece of code is under the New BSD License).

  • The BSD licensed code is compiled into the same binary as my code (but none of it is changed)
  • The Ms-PL licensed code is compiled into another assembly next to my code and linked at runtime (and none of it is changed what so ever).

Can I release my software under GPLv3 and without any legal problems?

A: 

That depends very much on who you ask...

I don't know anything about the Microsoft license, but I know you can't just leave out the BSD license, you can (almost) do whatever you like with the BSD licensed code, but you can't just throw out the old license and tag a new one on it. The BSD license contains the following two terms:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution

You may want to have a look at the FSF article on licenses, from which it seems the Ms-PL is not compatible with the GPL.

Besides this there is the static versus dynamic linking argument. Some people say that dynamic linking is not a problem since the two pieces of software are distributed as separate entities. Other people claim however that, just the use of the header files (or some equivalent) constitutes a possible license problem, yet other people go even further claiming that the API itself is under license, so even if you used your own interface specification you could be in violation of the license. In the end though this is very muddy water and has, as far as I know, never been tested in court, so noone really can tell you the truth of the matter. It is probably best to stay on the safe side.

Disclaimer: IANAL

wich
+1  A: 

Here is a quick explanation why the Ms-PL is GPL-incompatible.

It's pretty deliberate:

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.

Tobu