License Question

Feb 13, 2010 at 10:32 PM

Hi there

I'm the coordinator on VFS (vfs.codeplex.com), and I'm evaluating SharpZipLib and your project to be used in the Zip file system provider. Although VFS is MS-PL, this is possible with SharpZipLib, as there's an exclusion in their license that allows me to link to it and keep my license. However, your project is advertised under the GPL, which would be viral (forcing the VFS parts to be GPL, the apps that use the library to be GPL and so forth). Is this intended?

Thanks for the clarification

Philipp

Coordinator
Feb 14, 2010 at 9:31 AM

Hi Philipp,

To be honest, I'm not familiar with the licensing options that are available. I'd be happy to change it to any other license if this is allowed by the original creators of the SharpZipLib.

Please let me know what I can do to assist.

Kind regards,

Rob Houweling.

Coordinator
Feb 14, 2010 at 9:34 AM

From what I can tell on the original license, it is allowed to change the licensetype if you use the code in your own library or create modules that use it.

"As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version."

So I've decided to change the license type to MS-PL.

Hope this helps!

Feb 14, 2010 at 9:39 AM

Hi Rob,

First of all, I assume you would have to check back with the SharpZipLib team to make sure you're on the safe side. But given their exclusion and a quick glance at the forum, I'd say that

  • You can distribute your project under the same license (GPL with exclusion to use the compiled DLL in projects that run under *any* other license).
  • People accordingly can use your software in their applications without having them to release under the GPL.

I think that's an important statement to make on the project home page. For example, Mike Taulty hacked an SL version together because he couldn't use yours due to the GPL limitation:
http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2010/01/11/silverlight-4-displaying-a-bunch-of-files-from-a-zip-file.aspx

Cheers,

Philipp

 

Feb 14, 2010 at 9:39 AM
Edited Feb 14, 2010 at 9:41 AM

...just saw your second reply. MS-PL would be nice, but I think you cannot release under MS-PL yourself, because you use their source code rather than the DLL. But if you release under their license, other projects can link to the compiled DLL and still keep their license (e.g. MS-PL or closed source).

Cheers,

Philipp

Coordinator
Feb 15, 2010 at 8:10 PM

Hi Philipp,

This line in the text mentioned earlier is pretty clear:

"If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so."

And since I did modify the library, this is the case.

Cheers,

Rob.

Developer
Sep 30, 2010 at 12:07 AM

To all: the licensing confusion is ended.

The library is now GPL licensed.

 

Sep 30, 2010 at 8:52 PM

Rob, I'm a little confused by the licensing. On Feb 15 at 3:10, you seem to imply that you are extending the exception to this library, but in the actual license for this library I don't see this exception. From a legal standpoint, how do we know that the exception is extended? This legal stuff makes my head hurt.

Developer
Sep 30, 2010 at 9:08 PM

jswartzen - codeplex provides limited licensing functionality.

The source code contains the actual verbage of the license, which contains this exception directly from the original author(s) of SharpZipLib

 

// As a special exception, the copyright holders of this library give you
// permission to link this library with independent modules to produce an
// executable, regardless of the license terms of these independent
// modules, and to copy and distribute the resulting executable under
// terms of your choice, provided that you also meet, for each linked
// independent module, the terms and conditions of the license of that
// module.  An independent module is a module which is not derived from
// or based on this library.  If you modify this library, you may extend
// this exception to your version of the library, but you are not
// obligated to do so.  If you do not wish to do so, delete this
// exception statement from your version.

 

So, the current and future license for Silverlight.SharpZipLib will be as shown in source and copied here for reference:

 

// Copyright 2005 John Reilly
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
//
// Linking this library statically or dynamically with other modules is
// making a combined work based on this library.  Thus, the terms and
// conditions of the GNU General Public License cover the whole
// combination.
// 
// As a special exception, the copyright holders of this library give you
// permission to link this library with independent modules to produce an
// executable, regardless of the license terms of these independent
// modules, and to copy and distribute the resulting executable under
// terms of your choice, provided that you also meet, for each linked
// independent module, the terms and conditions of the license of that
// module.  An independent module is a module which is not derived from
// or based on this library.  If you modify this library, you may extend
// this exception to your version of the library, but you are not
// obligated to do so.  If you do not wish to do so, delete this
// exception statement from your version.

//  2010-08-13  Sky Sanders - Modified for Silverlight 3/4 and Windows Phone 7

 

Sep 30, 2010 at 9:38 PM

Thank you very much. I looked for a license file, but didn't think to look at the code itself. That's clear enough. Thanks again.