On Tue, Feb 7, 2012 at 12:13 PM, Zachary Pincus <zachary.pincus@yale.edu> wrote:
Also, is anyone a license-maven? Is this sort of thing (distributing binaries, then downloading and run-time loading them in a BSD-licensced project) OK under the GPL (v2) or the FreeImage license? http://freeimage.sourceforge.net/license.html
Meh, licensing :)
My take (and these issues are tricky, so IANAL and all that):
The combined work (skimage + freeimage) must be distributed under the terms of the GPL. Our license (the Modified BSD) is more permissive than the GPL, so the GPL simply imposes some additional restrictions.
As far as I understand, you are within your rights to distribute patches to GPL code under any license you wish (which is, in a tenuous sense, what we're doing).
When we distribute skimage + the freeimage plugin (but no freeimage binary), our distribution is only governed by the permissive BSD. E.g., a company may use our code with the Matlotlib backend, mix it in with their own (proprietary) code, and not have to worry about anything. If we write the "install_libs" command, we may want to clearly state what the implications are.
Also, an interesting perspective on incorporating BSD code into GPL projects:
http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html
Yeah, I think we'd be on thin ice for GPL -- at a minimum we'd need to have a copy of the FreeImage sources available somewhere, just to distribute the binaries. Then the "install_libs()" thing seems very close to cheating the spirit if not the practice of the license. (LGPL would be a different matter.) So I read further about the FreeImage license and it looks sufficiently permissive for this case. I *think* we just need to make sure to also copy over the FreeImage license file and a relevant readme when we cause the binaries to be downloaded. But another opinion might be useful, if you want to look at that license: https://github.com/zachrahan/freeimage-sharedlib/blob/master/license-fi.txt And as you can see, I've put up the binaries I have so far here: https://github.com/zachrahan/freeimage-sharedlib I still need a win64 DLL. And I also have no idea what the story is with linux shared libs -- is it easy to distribute such for a given architecture, or do these get so fragmented that it makes more sense to just have the user make their package manager install FreeImage? Zach
On Tue, Feb 7, 2012 at 1:18 PM, Zachary Pincus <zachary.pincus@yale.edu> wrote:
And as you can see, I've put up the binaries I have so far here: https://github.com/zachrahan/freeimage-sharedlib
I still need a win64 DLL. And I also have no idea what the story is with linux shared libs -- is it easy to distribute such for a given architecture, or do these get so fragmented that it makes more sense to just have the user make their package manager install FreeImage?
Thanks. I think under Linux we're OK. We just need to modify the plugin to at least pick up on the default naming conventions (Debian, e.g., names it libfreeimage.so.3, which we don't find). Stéfan
On Tue, Feb 7, 2012 at 1:18 PM, Zachary Pincus <zachary.pincus@yale.edu> wrote: relevant readme when we cause the binaries to be downloaded. But another opinion might be useful, if you want to look at that license:
https://github.com/zachrahan/freeimage-sharedlib/blob/master/license-fi.txt
This license is very clear on the relevant points: "You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code." I think we're perfectly safe, as long as we then provide the license file as well. In this case, we can even distribute skimage+freeimage package binaries without concern. Stéfan
participants (2)
-
Stéfan van der Walt
-
Zachary Pincus