python-bioformats icon indicating copy to clipboard operation
python-bioformats copied to clipboard

Make BSD-licensed .jar to replace loci_tools.jar

Open ljosa opened this issue 11 years ago • 15 comments

As discussed in #3, loci_tools.jar is licensed under the GNU GPL, and this is the only thing that forces python-bioformats as a whole to be GPL instead of BSD. At some point, we would like to create a BSD-licensed replacement for loci_tools.jar.

Savvy users that want additional functionality can substitute the real loci_tools.jar.

ljosa avatar Mar 10 '14 16:03 ljosa

If this reduced functionality, the version will most likely have to be bumped to 2.0.0. See http://semver.org/.

ljosa avatar Mar 10 '14 16:03 ljosa

OK - I'll have to think about how we might keep from reverting functionality. Is it too confusing to have a python-scifio package (BSD-licensed) and a python-bioformats package (GPL-licensed) on PyPI?

On Mon, Mar 10, 2014 at 12:47 PM, Vebjorn Ljosa [email protected]:

If this reduced functionality, the version will most likely have to be bumped to 2.0.0. See http://semver.org/.

Reply to this email directly or view it on GitHubhttps://github.com/CellProfiler/python-bioformats/issues/4#issuecomment-37204562 .

LeeKamentsky avatar Mar 10 '14 17:03 LeeKamentsky

I think that would be ok, if that's the only clean solution. We might need a third base package for code that is shared between the two.

ljosa avatar Mar 10 '14 17:03 ljosa

Base package + package of JARS actually works out pretty cleanly and you could do things like install multiple versions of Bio-Formats simultaneously. Starting the JVM works out well too: start_vm(class_path=bioformats.JARS) or start_vm(class_path=scifio.JARS). So let's go that route... eventually. I'll do it, but it can wait a month or two and people will be able to live with the GPL license in the meantime.

LeeKamentsky avatar Mar 10 '14 17:03 LeeKamentsky

Shall we ask the group at LOCI if they mind releasing the portion of code we need with a BSD license?

AnneCarpenter avatar Mar 10 '14 20:03 AnneCarpenter

Hi @AnneCarpenter et al. Bio-Formats itself contains both BSD and GPL code, so whether that's accessed "natively" or via SCIFIO there's still a GPL dependency for any of the formats not listed as "BSD" under Supported Formats.

That being said, it's certainly possible to package just the BSD components in a separate jar if it would help. But neither that nor the use Maven as @LeeKamentsky suggests work-around the GPL-ness of the readers. See https://www.openmicroscopy.org/site/about/licensing-attribution for more information.

Cheers, ~Josh.

joshmoore avatar Mar 10 '14 22:03 joshmoore

Thanks for the info Josh. It looks like the only formats handled by the BSD-licensed code are the ones that are also handled by many other libraries: PNG, TIFF, etc. All the "interesting" readers that make it necessary to use Bio-Formats are GPL.

In light of this, I think we should close this issue and plant to keep python-bioformats GPL licensed forever. The python files are BSD licensed, so if someone desperately needs to avoid the GPL they can put together a pared-down replacement for loci_tools.jar themselves or buy a commercial license for it from Glencoe. @AnneCarpenter and @LeeKamentsky, do you agree?

ljosa avatar Mar 11 '14 01:03 ljosa

GPL is fine with me. Vebjorn has changed the license to GPL so @AnneCarpenter if you agree, you can close this.

LeeKamentsky avatar Mar 11 '14 11:03 LeeKamentsky

Hi all,

After reading this discussion and that in #3, I'm unclear about whether python-bioformats will ever be BSD-licensed, or whether a future BSD-licensed python-scifio will be usable as a drop-in replacement for python-bioformats. I'm getting ready to release a couple of tools that use python-bioformats and it would be awesome to release them under BSD, but it will have to be GPL if these efforts don't move forward...

Thanks!

jni avatar Jun 27 '14 01:06 jni

Maybe python-scifio is not such a bad idea? I'm wondering if we could do something to the setup script so that the same codebase could produce both the GPL and BSD-licensed distributions. Would that work for you?

LeeKamentsky avatar Jun 27 '14 06:06 LeeKamentsky

@LeeKamentsky I don't know! I'm not familiar enough with the legal technicalities of this whole thing. I thought just a single "import gpl_licensed_lib" in your code meant you had to license your own stuff as GPL, but a colleague doesn't think that's true. Right now I've taken the approach of writing "it's BSD except where GPL doesn't allow it, in which case it's GPL".

jni avatar Jun 27 '14 07:06 jni

It would be ok to have a reference to the name in the code - we'd have typed that in, so we hold the copyright to the line of code that has the name. But we'd have to add code that would try to find the GPL library first, then fall back to the BSD one ( here ). We're OK as long as the distribution (in this case, a zip file) has no code compiled from GPL-licensed source.

LeeKamentsky avatar Jun 27 '14 08:06 LeeKamentsky

I thought the conclusion earlier was that the readers and writers for all the "interesting" image formats are GPL, so a BSD version would only contain the "boring" formats (PNG, etc.) that there are already many readers for. See the BSD column in this table. If I'm correct, then there is no point in making a BSD version of python-bioformats (python-scifio).

ljosa avatar Jun 27 '14 08:06 ljosa

If you have a package that depends on the bioformats interface, you might want to distribute it BSD, packaged with scifio, but give instructions to users or allow them to install python-bioformats instead if they can run GPL and have the more complicated file formats. What you're offering with python-scifio is a compatible upgrade path and a single file I/O interface to code to.

For a distro like Enthought, the packagers can package python-scifio with the distro and have it be BSD, but savvy users can install python-bioformats over the top of it or, as some users are already doing, repoint the package to the version of Bio-formats they need for their environment (e.g. version that matches their OMERO server).

LeeKamentsky avatar Jun 27 '14 09:06 LeeKamentsky

Fair enough. I'm not convinced that it should be a priority for us to do this, but if you disagree, or if someone else (@jni?) is offering to do most of the work, then I don't object to merging it.

To be clear, the goal is not to undermine Glencoe's business model, but to find a workaround that will allow the software to be included in Enthought and other distributions that make it easier for users to get it set up.

ljosa avatar Jun 27 '14 13:06 ljosa