These are chat archives for fiji/fiji

14th
Jul 2016
Curtis Rueden
@ctrueden
Jul 14 2016 15:14
@tinevez Thanks. FYI, I am slowly working toward a fully specified Fiji where all components explicitly list their developer team as well as license. Getting closer and closer.
Jean-Yves Tinevez
@tinevez
Jul 14 2016 17:18
@ctrueden : I am parsing TrackMate dependencies to check what ones are GPL. But bottom line is:
if TrackMate dep is GPL => TrackMate is GPL
right?
Curtis Rueden
@ctrueden
Jul 14 2016 17:24
Yep, that's the bottom line.
$ mvn dependency:list|grep '   '|sort
[INFO]
[INFO]    com.googlecode.gentyref:gentyref:jar:1.1.0:compile
[INFO]    com.itextpdf:itextpdf:jar:5.1.1:compile
[INFO]    edu.mines:mines-jtk:jar:20151125:compile
[INFO]    edu.ucar:udunits:jar:4.3.18:compile
[INFO]    gov.nist.math:jama:jar:1.0.3:compile
[INFO]    junit:junit:jar:4.11:test
[INFO]    mpicbg:mpicbg:jar:1.1.1:compile
[INFO]    net.imagej:ij1-patcher:jar:0.12.3:compile
[INFO]    net.imagej:ij:jar:1.50i:compile
[INFO]    net.imagej:imagej-common:jar:0.21.0:compile
[INFO]    net.imagej:imagej-deprecated:jar:0.1.1:compile
[INFO]    net.imglib2:imglib2-algorithm-fft:jar:0.1.2:compile
[INFO]    net.imglib2:imglib2-algorithm-gpl:jar:0.1.5:compile
[INFO]    net.imglib2:imglib2-algorithm:jar:0.5.0:compile
[INFO]    net.imglib2:imglib2-ij:jar:2.0.0-beta-31:compile
[INFO]    net.imglib2:imglib2-realtransform:jar:2.0.0-beta-31:compile
[INFO]    net.imglib2:imglib2-roi:jar:0.4.2:compile
[INFO]    net.imglib2:imglib2:jar:2.9.0:compile
[INFO]    net.sf.jgrapht:jgrapht:jar:0.8.3:compile
[INFO]    net.sf.trove4j:trove4j:jar:3.0.3:compile
[INFO]    org.apache.xmlgraphics:batik-awt-util:jar:1.8:compile
[INFO]    org.apache.xmlgraphics:batik-css:jar:1.8:compile
[INFO]    org.apache.xmlgraphics:batik-dom:jar:1.8:compile
[INFO]    org.apache.xmlgraphics:batik-ext:jar:1.8:compile
[INFO]    org.apache.xmlgraphics:batik-svggen:jar:1.8:compile
[INFO]    org.apache.xmlgraphics:batik-util:jar:1.8:compile
[INFO]    org.apache.xmlgraphics:batik-xml:jar:1.8:compile
[INFO]    org.bushe:eventbus:jar:1.4:compile
[INFO]    org.hamcrest:hamcrest-core:jar:1.3:test
[INFO]    org.javassist:javassist:jar:3.19.0-GA:compile
[INFO]    org.jdom:jdom2:jar:2.0.6:compile
[INFO]    org.jfree:jcommon:jar:1.0.23:compile
[INFO]    org.jfree:jfreechart:jar:1.0.19:compile
[INFO]    org.jogamp.gluegen:gluegen-rt:jar:2.3.2:compile
[INFO]    org.jogamp.jogl:jogl-all:jar:2.3.2:compile
[INFO]    org.scijava:j3dcore:jar:1.6.0-scijava-2:compile
[INFO]    org.scijava:j3dutils:jar:1.6.0-scijava-2:compile
[INFO]    org.scijava:scijava-common:jar:2.56.0:compile
[INFO]    org.scijava:scijava-expression-parser:jar:3.0.1:compile
[INFO]    org.scijava:vecmath:jar:1.6.0-scijava-2:compile
[INFO]    org.tinyjee.jgraphx:jgraphx:jar:1.10.4.1:compile
[INFO]    sc.fiji:3D_Viewer:jar:4.0.1:compile
[INFO]    sc.fiji:VIB-lib:jar:2.1.1:compile
[INFO]    sc.fiji:fiji-lib:jar:2.1.1:compile
[INFO]    sc.fiji:pal-optimization:jar:2.0.0:compile
[INFO]    xml-apis:xml-apis-ext:jar:1.3.04:compile
You have dep on imglib2-algorithm-gpl, so GPL it is.
The mpicbg library is also GPL.
And the sc.fiji stuff, although that might be more mutable.
And Java 3D is also GPL.
@tinevez Those are your main culprits.
Some day we will create an enforcer rule that fails the build if you have deps with incompatible license to the one given in the POM.
This is in general a hard problem, but there are easy cases to detect.
Jean-Yves Tinevez
@tinevez
Jul 14 2016 17:29
Shoot I was hoping to be LGPL. Changing this will be tricky.
Curtis Rueden
@ctrueden
Jul 14 2016 17:29
Tricky, but not impossible I think.
We will need to move away from Java 3D anyway, towards ClearVolume / scenery / the new "ThreeDViewer"
And that stuff is not GPL, but rather LGPL.
Ulrik Günther
@skalarproduktraum
Jul 14 2016 17:30
for cv/scenery, we could also switch to something more relaxed if that’d help :)
Jean-Yves Tinevez
@tinevez
Jul 14 2016 17:30
I am checking why I have some deps.
Curtis Rueden
@ctrueden
Jul 14 2016 17:31
@tinevez If you can purge the imglib2-algorithm-gpl and mpicbg dependencies, then we can probably make your dream of LGPL come true.
Would also be good to know why you need VIB-lib; that library is sort of a hodge-podge.
@skalarproduktraum I think LGPL is really nice actually. LGPL vs. BSD/ISC/MIT is really your call, whether you want to force people to open source modified versions.
Jean-Yves Tinevez
@tinevez
Jul 14 2016 17:51
@ctrueden : imglib2-algorithm-gpl has
  1. my stuff for iterating over an ellipse. I may switch it to @axtimwalde recent contribution that does it better I think.
  2. the FFTconvolution that I may have to rewrite within TrackMate
mpicbg is pulled by imglib2-algorithm-gpl.
Curtis Rueden
@ctrueden
Jul 14 2016 17:52
@tinevez FYI I talked to @tpietzsch a couple of days ago about reintroducing a dedicated ellipse ROI data structure.
We are planning on doing that in the net.imglib2.roi.geometric package.
Oh man, it would suck if you had to have your own FFT convolution routine separate from ImgLib2's core ones. :-(
We should talk to @StephanPreibisch about this.
Jean-Yves Tinevez
@tinevez
Jul 14 2016 17:53
VIB-lib is pulled by 3D_viewer
@ctrueden ok noted.
Is it ok to re-license the stuff I authored from GPL to BSD by moving them from imglib2-algorithm-gpl to imglib2-algorithm?
Curtis Rueden
@ctrueden
Jul 14 2016 17:55
Did you look at the ImageJ Ops FFT stuff that @bnorthan did?
Jean-Yves Tinevez
@tinevez
Jul 14 2016 17:55
Probably have to ask this on the imglib2 gitter.
Nope. I told you about my mishaps trying to run Ops from TrackMate code. Everyone can but me.
Curtis Rueden
@ctrueden
Jul 14 2016 17:55
Regarding relicensing, if Git says no one else touched it, then certainly. Otherwise, you can use your judgment. If anyone else did anything significant than you might want to ask them first.
Let's fix that during your visit!
Jean-Yves Tinevez
@tinevez
Jul 14 2016 17:56
Yep! Looking forward to it!
This is a real pilgrimage by the way: I visit the two holy lands of microscopy oversea in one trip. I will be a different man on my way back.
Curtis Rueden
@ctrueden
Jul 14 2016 17:57
:smiley:
Jean-Yves Tinevez
@tinevez
Jul 14 2016 17:57
Maybe I should get a tatoo then.
Curtis Rueden
@ctrueden
Jul 14 2016 17:59
@tinevez One more thing about the FFT: we worked hard to make the imglib2-algorithm-fft package be BSD-2, not GPL. That library is what the Ops stuff is built on.
But I guess that doesn't include FFT convolution...
The new TrackMate stuff that you & @tpietzsch are working on is really slick BTW.
Jean-Yves Tinevez
@tinevez
Jul 14 2016 18:59
Thanks!
I think a short term solution with this licensing issue for myself and fellow freelancers is to make a trackmate-core repo with my stuff, relicensed under LGPL, and have TrackMate depends on it, itself being GPL.