https://bugzilla.redhat.com/show_bug.cgi?id=832853
Bug ID: 832853 QA Contact: extras-qa@fedoraproject.org Severity: medium Version: rawhide Priority: medium CC: notting@redhat.com, package-review@lists.fedoraproject.org Assignee: nobody@fedoraproject.org Summary: Review Request: java3d - Java 3D Regression: --- Story Points: --- Classification: Fedora OS: Linux Reporter: eric@brouhaha.com Type: --- Documentation: --- Hardware: All Mount Type: --- Status: NEW Component: Package Review Product: Fedora
Spec URL: http://fedorapeople.org/~brouhaha/java3d/java3d.spec SRPM URL: http://fedorapeople.org/~brouhaha/java3d/java3d-1.5.2-1.fc16.src.rpm Description: The Java 3D API provides a set of object-oriented interfaces that support a simple, high-level programming model you can use to build, render, and control the behavior of 3D objects and visual environments. With the Java 3D API, you can incorporate high quality, scalable, platform-independent 3D graphics into applications and vecmath applets based on Java technology.
Fedora Account System Username: brouhaha
Note: I am attempting to package Java3D because it is needed by programs for 3D printing, such as ReplicatorG, which I also intend to package. Most of the packaging work was already done by the JPackage Project; I have done a small amount of cleanup to meet updated Fedora packaging standards, to include an up-to-date script to extract the sources from the subversion repository, and to include an examples subpackage.
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #1 from Eric Smith eric@brouhaha.com --- Spec URL: http://fedorapeople.org/~brouhaha/java3d/java3d.spec SRPM URL: http://fedorapeople.org/~brouhaha/java3d/java3d-1.5.2-2.fc17.src.rpm
Updated to fix problem building with OpenJDK7. Dropped bundled vecmath in favor of existing Fedora package.
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #2 from Joachim Katzer jokatzer@gmx.de --- Created attachment 602385 --> https://bugzilla.redhat.com/attachment.cgi?id=602385&action=edit Suggested changes to java3d.spec
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Joachim Katzer jokatzer@gmx.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jokatzer@gmx.de
--- Comment #3 from Joachim Katzer jokatzer@gmx.de --- I have successfully rebuilt the java3d src.rpm for my personal RHEL6 repo (on a SL6 machine), but I had to make following changes (see attachment in Comment 2):
java3d uses JNI, but the 1.5.2-2 rpm is missing libj3dcore-ogl.so. As a consequence I have also changed the installation directory for the .jar and .so files to %{_jnidir}/%{name}.
2 additional BuildRequries are necessary: ant-nodeps, and mesa-libGLw-devel.
Applications using java3d may have to add %{_jnidir}/java3d to the LD_LIBRARY_PATH variable before calling java in their wrapper script.
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #4 from Eric Smith eric@brouhaha.com --- Spec URL: http://fedorapeople.org/~brouhaha/java3d/java3d.spec SRPM URL: http://fedorapeople.org/~brouhaha/java3d/java3d-1.5.2-3.fc16.src.rpm
Has most of the changes suggested by Joachim Katzer (thanks!). Did not add cleaning or defattr as they are declared obsolete in packaging guidelines.
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Lameire Alexis alexisis-pristontale@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexisis-pristontale@hotmai | |l.com
--- Comment #5 from Lameire Alexis alexisis-pristontale@hotmail.com --- they are a licence issue into the com/sun/j3d/internal dir. I'll set the legal flag to make a check if this file can be considered as a BSD like licence.
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Lameire Alexis alexisis-pristontale@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |182235 (FE-Legal)
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Fedora End Of Life endoflife@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |endoflife@fedoraproject.org
--- Comment #6 from Fedora End Of Life endoflife@fedoraproject.org --- Those files are non-free because of this clause:
* You acknowledge that this software is not designed, licensed or * intended for use in the design, construction, operation or * maintenance of any nuclear facility.
In the past, Sun was willing to drop that clause on a case by case basis (and way back in 1998, they promised they were getting rid of it entirely...), but now Sun is Oracle, and we have gotten very inconsistent help on licensing issues from Oracle.
In addition, Oracle misleadingly lists that clause as part of the standard Berkeley license here: http://developers.sun.com/license/berkeley_license.html
You might try to reach out to the Java3d upstream to point out the issue, they may have better luck resolving this issue.
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Tom "spot" Callaway tcallawa@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tcallawa@redhat.com
--- Comment #7 from Tom "spot" Callaway tcallawa@redhat.com --- Whoops. That last comment was me. :)
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Xavier Bachelot xavier@bachelot.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xavier@bachelot.org
--- Comment #8 from Xavier Bachelot xavier@bachelot.org --- If the license issue cannot be resolved with Oracle in a timely manner, you might want to have this package included in a repository which accept non-free license, such as RPM Fusion. This implies the other software that depend on java3D will need to go there too.
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=832853
Xavier Bachelot xavier@bachelot.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |puntogil@libero.it
--- Comment #9 from Xavier Bachelot xavier@bachelot.org --- *** Bug 881586 has been marked as a duplicate of this bug. ***
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #10 from gil cattaneo puntogil@libero.it --- there is someone want use this package for some nuclear facility? Spec URL: http://gil.fedorapeople.org/java3d.spec SRPM URL: http://gil.fedorapeople.org/java3d-1.5.2-1.fc16.src.rpm
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #11 from Xavier Bachelot xavier@bachelot.org --- The problem with the "nuclear facility" clause is it makes the license non-free, and thus voids the possibility to have the package in Fedora.
Has anyone filled a bug upstream to try and resolve the license issue ? If yes, what the ticket number, I can't find it.
Eric, Gil, would you be willing to take this package to RPM Fusion ? It can still be brought back to Fedora if the license issue is resolved someday.
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #12 from gil cattaneo puntogil@libero.it --- hi Xavier, I understand the problem but I do not need to have a package that is used only in RPM Fusion. for me it is necessary to import http://www.unidata.ucar.edu/software/netcdf-java/ and its deps (http://www.ssec.wisc.edu/~billh/visad.html) regards
p.s. i know the difference between fedora and debian about the problems related to licensing. but in the debian package exists ... http://anonscm.debian.org/viewvc/pkg-java/trunk/java3d/debian/copyright
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #13 from Xavier Bachelot xavier@bachelot.org --- Indeed, if Java3D goes to RPM Fusion, everything depending on it goes to RPM Fusion too. They could be moved back to Fedora once Java3D moves back to Fedora too (providing there are no other issue with them for Fedora, of course). I think it's better to have the packages in RPM Fusion rather than not having them at all, but you might have a different opinion :-)
Imho, the first step on the way to try and resolve this issue is to file a bug upstream. That's why I first checked upstream bugtracker, then commented in this ticket after failing to find a corresponding bug.
I'm a bit surprised this package is in Debian, as the license should probably be considered non-free for Debian too.
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=832853
Harvey Harrison harvey.harrison@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |harvey.harrison@gmail.com
--- Comment #14 from Harvey Harrison harvey.harrison@gmail.com --- I've been maintaining a continuation of Java3d and in the medium term have almost removed all the dependency on the com.sun.internal code with the objectionable license terms.
With that dependency removed, Java3d could be packaged without java3d-utils which has the nuclear facilty clause on an otherwise 2-clause BSD license.
Java3d itself is GPLv2 w/ classpath exception.
https://github.com/hharrison/vecmath https://github.com/hharrison/java3d-core https://github.com/hharrison/java3d-utils
Note, my fork has removed all of the native backends and relies entirely on the jogl2 project for OpenGL access. Please let me know if people want me to check back here when the internal stuff has been removed.
Cheers,
Harvey Harrison
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #15 from Tom "spot" Callaway tcallawa@redhat.com --- Please do so, and thank you for undertaking this cleanup effort.
Product: Fedora https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #16 from Eric Smith eric@brouhaha.com --- Thanks Harvey! I'm definitely interested in packaging a version of Java3D with the licensing problem resolved. I'll look at the code at your links.
My primary interest in packaging Java3D was to support some 3D-printing related applications, and I think using jogl2 as the back end should be perfectly fine for that.
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #17 from Harvey Harrison harvey.harrison@gmail.com --- Updating status, I've removed the Java3d core dependency from j3dutils for all but one class which I'm still working one. The class in question is com.sun.j3d.internal.Distance which is a collection of static math functions ported from the 'Wild Magic' library according to the file header. Once this is removed, Java3d and vecmath should be OK to go into fedora.
If anyone has a look at that file and feels it is OK to move it over the Java3d core, I'd appreciate any advice, my current plans are to remove its use entirely from core, but it is a larger task.
Because Java3d is now a java-only project and no longer ships any native code, I imagine the fedora packages will need pruning. How do I find the packager for JOGL2 in Fedora-land to coordinate a suitably modern version of jogl2 for Java3d's use? I am involved in JOGL2 upstream, but not fedora as yet.
Harvey
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #18 from gil cattaneo puntogil@libero.it --- hi see https://admin.fedoraproject.org/pkgdb/acls/name/jogl2 after login, ask to become co-maintainer regards
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Susi Lehtola susi.lehtola@iki.fi changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |susi.lehtola@iki.fi
--- Comment #19 from Susi Lehtola susi.lehtola@iki.fi --- (In reply to Harvey Harrison from comment #17)
Updating status, I've removed the Java3d core dependency from j3dutils for all but one class which I'm still working one. The class in question is com.sun.j3d.internal.Distance which is a collection of static math functions ported from the 'Wild Magic' library according to the file header. Once this is removed, Java3d and vecmath should be OK to go into fedora.
Vecmath is already in Fedora.
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #20 from Eric Smith spacewar@gmail.com --- And the work I did on packaging upstream Java3d, and more recently on Harvey's fork, has been based on using the existing Fedora vecmath package.
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #21 from Harvey Harrison harvey.harrison@gmail.com --- FWIW, I put in a bit of time this weekend and now have it down to only two functions remaining in Java3d-utils that are used from Java3d-core, once those are removed/reimplemented, Java3d should be ready to go in, it appears that a new enough Jogl2 is already packaged in fedora, so Java3d should be pretty simple to package now.
Harvey
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #22 from Harvey Harrison harvey.harrison@gmail.com --- Looking at the remaining functions, it turns out the code in question was a java port of some c++ code that was under a much more permissive license, I'm just going to go back to the original c++ and re-port these two functions myself.
Original c++:
http://www.geometrictools.com/
Covered by the Boost license:
http://www.boost.org/LICENSE_1_0.txt
I believe the boost license is an acceptable Fedora license, and is GPL compatible, whom do I ask to make sure that is OK?
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #23 from Susi Lehtola susi.lehtola@iki.fi --- (In reply to Harvey Harrison from comment #22)
I believe the boost license is an acceptable Fedora license, and is GPL compatible, whom do I ask to make sure that is OK?
https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Christopher Meng cickumqt@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cickumqt@gmail.com Flags| |needinfo?
--- Comment #24 from Christopher Meng cickumqt@gmail.com --- Status here?
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Harvey Harrison harvey.harrison@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo? |
--- Comment #25 from Harvey Harrison harvey.harrison@gmail.com --- I found a few more two-way dependencies between Java3dutils and java3d, and have only two left. One is easy and one is a bit more difficult.
Easy - transparency sort comparator cache and interface Harder - Font3D uses a geometryinfo class that unless I can find an alternative, would have to be reimplemented.
WRT getting required dependencies into fedora:
- my vecmath fork has been packaged as vecmath 1.6.0 as of last week in rawhide - in contact with the JOGL2 fedora packager, he will update to the 2.0.2 release soon
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Jerry James loganjerry@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |loganjerry@gmail.com
--- Comment #26 from Jerry James loganjerry@gmail.com --- Could we get another update on the status, please? Thanks for all the work you've put into this, Harvey.
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #27 from Harvey Harrison harvey.harrison@gmail.com --- Sure, at this point I'm down to a single dependency, the Font3D class which uses tesselation code from the j3dutils package. I don't have huge amounts of time these days to spend on Javs3d, so work is sporadic to say the least.
JOGL2 does ship tesselation utils that may provide suitable functionality that could be adapted, but I'm not even looking at that until a regression with offscreen canvases gets fixed.
I'm very willing to point people in the right direction if they want to help out, otherwise the status is essentially unchanged for now. The one other option is to get Oracle to relicense that file as plain BSD and then ship it, or to find the original BSD code that it was based on and import that version (I have not been able to find it unfortunately)
Harvey
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Felix Schwarz fschwarz@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fschwarz@fedoraproject.org
--- Comment #28 from Felix Schwarz fschwarz@fedoraproject.org --- (In reply to Xavier Bachelot from comment #13)
I'm a bit surprised this package is in Debian, as the license should probably be considered non-free for Debian too.
Debian considers this clause as a "warranty disclaimer" and not as a license restriction: https://lists.debian.org/debian-legal/2012/09/msg00034.html (just for completeness, I know that Fedora has different rules+obligations when it comes to legal terms).
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #29 from Tom "spot" Callaway tcallawa@redhat.com --- FWIW, even Sun/Oracle agrees that the "nuclear clause" makes that license non-free, as do the lawyers who've reviewed it in the past.
In the not-too-distant past, Sun and Oracle were willing to relicense works containing the "nuclear clause" to omit that clause. It might be worth filing a bug with the relevant upstream to request relicensing there.
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Xavier Bachelot xavier@bachelot.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |652183 (FE-JAVASIG)
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=652183 [Bug 652183] Java SIG tracker bug
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #30 from Upstream Release Monitoring upstream-release-monitoring@fedoraproject.org --- jerboaa's scratch build of java-1.8.0-openjdk?#d28765c33d068af9ff432a92443b93beeef88a22 for git://pkgs.fedoraproject.org/java-1.8.0-openjdk?#d28765c33d068af9ff432a92443b93beeef88a22 and rawhide failed http://koji.fedoraproject.org/koji/taskinfo?taskID=12181621
https://bugzilla.redhat.com/show_bug.cgi?id=832853
mgansser@alice.de mgansser@online.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mgansser@online.de
--- Comment #31 from mgansser@alice.de mgansser@online.de --- Are there any news about licensing?
https://bugzilla.redhat.com/show_bug.cgi?id=832853
--- Comment #32 from Tom "spot" Callaway tcallawa@redhat.com --- On a cursory look, it does not seem like there is any real active upstream for Java3d. I might be mistaken though.
https://bugzilla.redhat.com/show_bug.cgi?id=832853
Tom "spot" Callaway tcallawa@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(harvey.harrison@g | |mail.com)
--- Comment #33 from Tom "spot" Callaway tcallawa@redhat.com --- (In reply to Harvey Harrison from comment #27)
Harvey, any updates here?
package-review@lists.fedoraproject.org