NOTICE! This is a static HTML version of a legacy Fiji BugZilla bug.

The Fiji project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Bug 19 - non-free plugins are bundled in Fiji
non-free plugins are bundled in Fiji
Status: RESOLVED FIXED
Product: Fiji
Classification: Unclassified
Component: Other
unspecified
All All
: P2 normal
Assigned To: Mark Longair
http://fiji.sc/cgi-bin/gitweb.cgi?p=f...
Depends on:
Blocks:
 
Reported: 2008-10-30 15:26 CDT by Mark Longair
Modified: 2014-06-17 09:38 CDT
2 users (show)

See Also:

Description Mark Longair 2008-10-30 15:26:11 CDT
This bug is here so that we can keep track of the progress in replacing the very few non-free [1] components of Fiji.  These are currently noted in the LICENSES file.

[1] By non-free, I mean "does not meet the Debian Free Software Guidelines" on acceptable free software (or "open source") licenses:

  http://www.debian.org/social_contract#guidelines

Once these issues are resolved, we could try to get Fiji included in the main Debian and Ubuntu archives.
Comment 1 Johannes Schindelin 2008-11-10 14:43:11 CST
Am I correct to assume that TransformJ is the only package to be (stupidly) closed source?
Comment 2 Mark Longair 2008-11-10 15:44:28 CST
Going by the LICENSES file that Albert created, the problems at the moment are:

* ij-ImageIO - marked as '?' in the LICENSES file at the moment.
  This seems to contain a mixture of licenses: most files have
  LGPL boiler plate, but the following subdirectories contain
  files that don't:
    Sun_JAI_Sample_IO_Source_Code_v_1_1_1/
    VTK-Examples/
    Quickvol/
    MRIAnalysisPak/
  ... and additionally:
    ij-plugins/src/net/sf/ij_plugins/IJPluginsRuntimeException.java
    ij-plugins/test/src/net/sf/ij_plugins/io/metaimage/MiDecoderTest.java
    ij-plugins/test/src/net/sf/ij_plugins/thresholding/MaximumEntropyMultiThresholdTest.java
    itk4j/src/java/net/sf/ij_plugins/itk/tests/Common/SwigExtrasTest.java

* imagescience.jar

* TransformJ

* Quick3DApplet

* The Java3D files

Also marked as unresolved are:

* Example/ scripts folder
* Get_Class_Versions.class
* Graphics/Example_Plot.class   Wayne Rasband, PD ?
* Java Advanced Imaging jai_codec.jar, jai_core.jar, jai_imageio.jar
Comment 3 Johannes Schindelin 2008-11-17 21:37:44 CST
Okay, no dispute on imagescience and TransformJ; they have to go.

For Java3D I got this gem from https://java3d.dev.java.net/:

-- snip --
The source code for the j3d-core-utils and j3d-examples projects is licensed under the open source Berkeley Software Distribution (BSD) License.

The source code for the j3d-core and vecmath projects is licensed under the open source GNU General Public License (GPL), version 2, with the CLASSPATH exception. This is the same open-source license that OpenJDK is now using. 
-- snap --

Quick3DApplet is Open Source, but I forgot the exact wording, and besides, I want to get rid of it (in favor of Java3D for everything related to 3D visualization).

ij-ImageIO shares a repository with other plugins, which may need to have a different license due to their linking to other libraries.  So I would not really bother about VTK, QuickVol, MRIAnalysisPak, ITK and of course the JAI examples of Sun, because we only ever use sources from inside ij-plugins/src/.

As for ij-plugins/src/net/sf/ij_plugins/IJPluginsRuntimeException.java, it is too short to be non-obvious, and therefore not copyrightable.  Besides, it is clearly part of ij-ImageIO, which is marked LGPL v2.1.

The Example/ scripts are an issue, of course, but they are all written by us, and therefore I suggest asking every author to include a GPL boilerplate (AFAIAC it may be an abbreviated one: "This file is licensed under the GPL v2.  If you do not know this license, no, you may not use it before understanding the license.")

Get_Class_Versions is part of the Fiji.jar now, and therefore is GPL (as everything closely related to Fiji).

Example_Plot is indeed public domain, as it is written by Wayne (who has to make it public domain due to his work), but then, I think there is not much use in keeping it in Fiji.

jai_codec seems to be part of jai core (https://jai-core.dev.java.net/) which is unfortunately only licensed via JRL.  The JRL would be okay for now, as we only plan to use Fiji in the academic enironment, however, I agree that we need to have a prominent disclaimer on our first page to that extent.

However, jai-imageio-core.jar is BSD: https://jai-imageio.dev.java.net/.  I have to find out yet how that relates to jai_core.jar and jai_imageio.jar, but my preliminary understanding is that those two merged.

And then I have to understand how it is possible that jai-core is licensed under a more restrictive license that jai-imageio, which seems to have jai-core as its core.  Maybe jai-core is in fact included in jai-imageio (and thereby BSD)?

Whenever I have to research those licenses, and have to waste time which would otherwise be spent coding, I really get horrible fantasies which include lawyers.  Sigh.
Comment 4 Johannes Schindelin 2008-12-15 11:18:41 CST
I just removed the dependency to Quick3dApplet (which is Open Source, though), and chances are that we get rid of TransformJ this week.
Comment 5 Johannes Schindelin 2009-01-19 14:53:00 CST
Okay, I updated LICENSES for the ij-ImageIO thing, and we no longer install Example_Plot (as it is only good as a programming example).

That leaves only TransformJ.  Woohoo.
Comment 6 Steffen Möller 2010-07-17 23:16:52 CDT
Dear Johannes,

please kindly update us on the status of this bug. If you want to stress the "academics only" route, then it seems fair enough to straight-away put Fiji under the non-free umbrella of Debian - academics-only is not free.

In that case, if transformJ may be redistributed at all, this would probably be good enough for Debian and Ubuntu - in its non-free section.

Many greetings

Steffen
Comment 7 Johannes Schindelin 2010-07-18 11:14:28 CDT
TransformJ is free to redistribute. Parts of Fiji can only be redistributed as Fiji (or a modification thereof). There are algorithms inside Fiji that might fall under some patent claims, so we are definitely academic-only. Even when TransformJ finally goes.
Comment 8 Johannes Schindelin 2012-04-20 22:26:16 CDT
TransformJ is now under a more permissible license, even if it might not qualify for the definition of "free" by Debian. In fact, except for Java, we have all the sources for things we distribute now. But I think that we are definitely bound to the academics-only route.
Comment 9 Johannes Schindelin 2013-07-07 10:45:41 CDT
Mark, would you be okay with the "WONTFIX" resolution? Pragmatically speaking, we cannot do much about this issue...
Comment 10 Curtis Rueden 2014-06-16 16:27:49 CDT
Now that Fiji is based on ImageJ2, we are being much more careful about licensing issues with the core ImageJ update site. So it should be possible to make ImageJ 2.x available as part of Debian. (Carnë Draug -- a.k.a. carandraug https://github.com/carandraug -- may pursue this.)

Regarding Fiji plugins: in the medium-term future we can split any remaining problematic components into their own update sites, which means we could also make the Fiji plugins available via Debian, too at that time -- although it seems less critical if all you need to do is launch ImageJ and check the Fiji box.

But regardless: as far as this specific bug goes, I don't think we need to keep it open any longer.
Comment 11 Johannes Schindelin 2014-06-17 09:06:18 CDT
Unfortunately, this bug is not *quite* addressed. The problem is that even if we are allowed to ship the code for TransformJ and the BIG-EPFL plugins, we are not allowed to modify the code nor to distribute the modified code (which is why I avoided fixing bugs in those plugins):

https://github.com/fiji/fiji/blob/master/LICENSES#L134 and https://github.com/fiji/fiji/blob/master/LICENSES#L122.
Comment 12 Curtis Rueden 2014-06-17 09:38:43 CDT
OK, how would you like to proceed, Johannes?

1) Split TransformJ et. al into their own update site(s), so "core Fiji" does not suffer from the licensing issues anymore.

2) Lobby for a license change for TransformJ et. al.

3) Change the resolution of this bug from "FIXED" to "WONTFIX"

4) Some other solution that has not occurred to me?