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