views:

9

answers:

1

I am developing a .net application that uses two libraries: iTextSharp for PDF creating, and DotNetZip for extracting files from zips. Both libraries are included in my application as dll's without any modification.

iTextSharp is under Affero GPL, while DotNetZip is under Microsoft Public License. The license of my application is planned to be one of the open source licenses, but which one is is not decided yet.

I heard that MsPL and GPL are incompatible when are used together. However I am not sure is it critical in my case. Should I, for example, distribute the MsPL part as a separate library?

Any advice will be helpful.

+1  A: 

If we start from iTextSharp, you're using that, so your application must be released under the Affero GPL. That bit is straight forward enough.

So, can you use DotNetZip?

On the MS-PL, http://lwn.net/Articles/254717/ says:

  The catch is, *if* you distribute the source, you must distribute it under
  the MSPL license.
  You *can't* combine it into a GPL project.  This seems designed gratuitously
  to break GPL compatibility.

so, the answer would appear to be if you use iTextSharp, you can't use DotNetZip - or if you use DotNetZip, you can't use iTextSharp.

Distributing it as a separate library makes no real difference; if your code is referencing the iTextSharp assembly you must use the Affero GPL.

I'm sure there must be other zip libraries for C# that are under GPL compatible licenses, so I'd look for one of those if I were in your situation.

JosephH
I have almost no experience in licensing, so may be my question is a bit stupid.
Zenya
Ignore the previous comment. ------- Thank you for your answer. I have almost no experience in licensing, so may be my question is a bit stupid. In my .net application I'm referencing the .net libraries, of course. But I have no right to distribute them because .net framework is under Microsoft Reference Source License. A user need to install the framework separately. Why I cannot think the same way when using the DotNetZip library if it comes as a separate product?
Zenya
The GPL has a specific exception for "System Libraries" - this means any essential parts of the operating system / compiler that are necessary to run any application - the .net framework/system libraries would appear to fall under this exception, but DotNetZip would not.
JosephH
Thanks. It is clear now.
Zenya