Bug 504405

Summary: Review Request: jaxodraw - A Java program for drawing Feynman diagrams
Product: [Fedora] Fedora Reporter: Susi Lehtola <susi.lehtola>
Component: Package ReviewAssignee: Orion Poplawski <orion>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, ltheussl, mtasaka, notting, orion
Target Milestone: ---Flags: orion: fedora‑review+
kevin: fedora‑cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 2.0.1-4.fc12 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-12-17 23:31:08 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:

Description Susi Lehtola 2009-06-06 07:04:20 EDT
Spec URL:
http://theory.physics.helsinki.fi/~jzlehtol/rpms/jaxodraw.spec

SRPM URL:
http://theory.physics.helsinki.fi/~jzlehtol/rpms/jaxodraw-2.0-1.fc11.src.rpm

Description:
JaxoDraw is a Java program for drawing Feynman diagrams. It has a complete
graphical user interface that allows to carry out all actions in a mouse
click-and-drag fashion. Fine-tuning of the diagrams is also possible through
keyboard entries. Graphs may be exported to (encapsulated) postscript and can
be saved in XML files to be used in later sessions.


rpmlint output is clean.
Comment 1 Susi Lehtola 2009-06-06 07:05:37 EDT
The package also contains a component with a non-GNU license. Is this OK in Fedora? (src/doc/legal/FORM-LICENSE)


  Conditions of use of FORM


      The use of the FORM program and programs in the distribution is
      free of charge but subject to the following conditions:


      1: The programs are `as is'. That is, the author is not to be held
      responsible in any way for any errors or malfunctioning of the
      programs.


      2: The programs are not to be redistributed in any version that is
      modified from the original distribution unless with the specific
      consent of the author. In particular this license file is to be
      part of any redistribution.


      3: The programs are not to be redistributed in exchange for money
      or made part of any commercial deal without the explicit written
      consent of the author.


      4: When the FORM program is used for scientific work that leads to
      publication in a scientific journal, this work should refer to the
      use of FORM by the following citation: J.A.M.Vermaseren "New
      features of FORM" math-ph/0010025 or something similar that is
      acceptable for the journal of publication.
Comment 2 Jason Tibbitts 2009-06-06 12:34:56 EDT
FORM is obviously completely non-free.  No freedom to distribute modified versions, no commercial distribution.
Comment 3 Susi Lehtola 2009-06-06 13:05:21 EDT
(In reply to comment #2)
> FORM is obviously completely non-free.  No freedom to distribute modified
> versions, no commercial distribution.  

True. Actually, according to src/doc/legal/LICENSE the non-free stuff governed by FORM-LICENSE is not even in the jaxodraw tarball; the only supposedly non-free item is the latex stylefile axodraw4j.sty which is in the Source1 tarball.

More interestingly, the file itself claims to be under the LaTeX Project Public License; the FORM license doesn't seem to have any connection with it other than a common author.
Comment 4 Susi Lehtola 2009-06-06 13:23:36 EDT
I have emailed upstream about this issue. For now it would seem that there is no licensing problem at all, since the LateX Project Public License is free. Removing FE-LEGAL.
Comment 5 Susi Lehtola 2009-06-10 04:29:45 EDT
Upstream has now confirmed the licensing situation. There is nothing nonfree in the package, only GPL and LPPL.

http://theory.physics.helsinki.fi/~jzlehtol/rpms/jaxodraw.spec
http://theory.physics.helsinki.fi/~jzlehtol/rpms/jaxodraw-2.0-2.fc11.src.rpm
Comment 6 Mamoru TASAKA 2009-06-16 13:08:46 EDT
Well, GPLv2+ and LPPL are incompatible and as far as I
see the source code this package is still legally problematic.
Comment 7 Susi Lehtola 2009-06-16 13:21:51 EDT
(In reply to comment #6)
> Well, GPLv2+ and LPPL are incompatible 

All of the source code is GPLv2+.

The only file which is LPPL is the LaTeX stylefile, which is used in exports to EPS or LaTeX format (jaxodraw's output goes into a temp file which includes the stylefile and is compiled into eps).

> and as far as I
> see the source code this package is still legally problematic.  

Howcome? It's purely GPLv2+.


Quote from upstream reply:

On Wed, 2009-06-10 at 09:59 +0200, Lukas Theussl wrote:
Hi again,
> 
> After some discussions with John and Jos I just want to sum up our conclusions for 
> reference:
> 
> * The FORM license does not apply to any part of our work and any reference to it 
> will be removed
> 
> * JaxoDraw is distributed under GPL
> 
> * axodraw4j (and future axodraw2) are distributed under LPPL
> 
> 
> Cheers,
> -Lukas
>
Comment 8 Susi Lehtola 2009-06-16 17:56:46 EDT
(In reply to comment #7)
> (In reply to comment #6)
> > Well, GPLv2+ and LPPL are incompatible 
> 
> All of the source code is GPLv2+.
> 
> The only file which is LPPL is the LaTeX stylefile, which is used in exports to
> EPS or LaTeX format (jaxodraw's output goes into a temp file which includes the
> stylefile and is compiled into eps).

Also, if it is deemed necessary, I can branch the stylefile in a separate subpackage. One doesn't need to install it to use jaxodraw, then one just can't export to EPS as the LaTeX compilation will fail due to the missing file. (One gets an error message about this.)

It might even go in as a separate spec file, however as it's only supposed to be used by jaxodraw I deemed it logical to be in the same spec.
Comment 9 Susi Lehtola 2009-07-29 09:08:32 EDT
I have now split the LaTeX file into a separate package, as JaxoDraw works without it (only the export to EPS function doesn't work since to create the eps from the LaTeX source code it needs the LaTeX style file). To demonstrate this I haven't added any Requires: between the packages, since both work autonomously.

axodraw4j.sty *could* be split into its own spec file, but I find it a bit of an overkill as it is only used by JaxoDraw.

http://theory.physics.helsinki.fi/~jzlehtol/rpms/jaxodraw.spec
http://theory.physics.helsinki.fi/~jzlehtol/rpms/jaxodraw-2.0-3.fc11.src.rpm  

rpmlint output:
jaxodraw-latex.noarch: W: no-documentation
3 packages and 0 specfiles checked; 0 errors, 1 warnings.


Mamoru: please state the reasons why you consider the license situation problematic.

-------- Forwarded Message --------
From: Lukas Theussl <ltheussl@gmail.com>
To: Jussi Lehtola <jussilehtola@fedoraproject.org>
Cc: Daniele Binosi <d.binosi@gmail.com>
Subject: Re: axodraw4j.sty and FORM license
Date: Fri, 26 Jun 2009 15:52:12 +0200

Hi,

We have started a discussion on a quick bug fix release [1] but I am just about to leave on vacation now, so I don't expect this to happen until end of August. I've been following the discussion at your Review Request and I don't see what's the issue. (The FORM license is nowhere referenced and even if GPL and LPPL are 
incompatible, they apply to a set of mutually exclusive files). But IANAL...

Cheers,
-Lukas

[1] 
http://sourceforge.net/mailarchive/forum.php?thread_name=4A41D572.8030006%40gmail.com&forum_name=jaxodraw-discuss
Comment 10 Susi Lehtola 2009-07-29 09:11:47 EDT
Also, please see
http://jaxodraw.svn.sourceforge.net/viewvc/jaxodraw/trunk/jaxodraw/src/doc/legal/
FORM-LICENSE and any mention of it has been removed.
Comment 11 Susi Lehtola 2009-08-05 03:55:17 EDT
OK, upstream has released a new version that has removed any mention of the FORM license. Now it should be clear enough that JaxoDraw is under GPLv2+. The stylefile is under LPPL, but it isn't linked in any way to JaxoDraw. Removing FE-LEGAL.

http://theory.physics.helsinki.fi/~jzlehtol/rpms/jaxodraw.spec
http://theory.physics.helsinki.fi/~jzlehtol/rpms/jaxodraw-2.0.1-1.fc11.src.rpm

rpmlint output is
jaxodraw-latex.noarch: W: no-documentation
3 packages and 0 specfiles checked; 0 errors, 1 warnings.
Comment 12 Orion Poplawski 2009-10-20 16:51:48 EDT
Good:

- md5 sums match upstream
- rpmlint silent
- builds in mock for development
- License checks out
- Legible american english
- BRs look good
- %files looks good

Maybe:
- No Icon in desktop file - Is that okay?
- I think you want Requires: tex(latex), tex(texmf)
Comment 13 Susi Lehtola 2009-10-20 17:36:36 EDT
True, fixed.

The desktop file works fine without an icon. Sure, it would be nice to have one, I'll just have to wait until upstreams makes one.

http://theory.physics.helsinki.fi/~jzlehtol/rpms/jaxodraw.spec
http://theory.physics.helsinki.fi/~jzlehtol/rpms/jaxodraw-2.0.1-2.fc11.src.rpm
Comment 14 Orion Poplawski 2009-10-22 17:12:41 EDT
Some other stuff:

- On KDE it appears in two different menus:  Graphics, and Science & Math.  I don't have a problem with that, but don't know if it is intentional or not.

- Does not run on F12:

Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.IllegalArgumentException: Consecutive slashes in path
        at java.util.prefs.AbstractPreferences.node(AbstractPreferences.java:826)
        at java.util.prefs.AbstractPreferences.node(AbstractPreferences.java:843)
        at java.util.prefs.AbstractPreferences.node(AbstractPreferences.java:817)
        at net.sf.jaxodraw.util.JaxoPrefs.initSessionPrefs(JaxoPrefs.java:446)
        at net.sf.jaxodraw.JaxoDraw.<clinit>(JaxoDraw.java:34)
Could not find the main class: net/sf/jaxodraw/JaxoDraw. Program will exit.

- I know it is more of an application than a library, but perhaps you want to build and package the javadocs?

%build
ant jar javadoc

puts javadocs in build/javadoc

- I think you should run the unit tests:

BuildRequires: ant-junit

%check
ant test

which for me results in:

    [junit] Testcase: testGroupMarkedObjects(net.sf.jaxodraw.graph.JaxoGraphTest):      Caused an ERROR
    [junit] missing initial moveto in path definition
    [junit] java.awt.geom.IllegalPathStateException: missing initial moveto in path definition
    [junit]     at java.awt.geom.Path2D$Float.needRoom(Path2D.java:280)
Comment 15 Lukas Theussl 2009-10-23 03:38:21 EDT
Hi,

I am an upstream maintainer. I have never seen this test failure, but google showed me this:

http://markmail.org/message/bcft5b5km7ihk3vp

Could this be the reason, ie are you using open JDK? (officially we only support JaxoDraw with Sun JDK).

PS I would also strongly recommend that the javadocs be packaged as well, for the benefit of potential plugin developers.
Comment 16 Susi Lehtola 2009-10-23 10:29:06 EDT
(In reply to comment #15)
> Hi,
> 
> I am an upstream maintainer. I have never seen this test failure, but google
> showed me this:
> 
> http://markmail.org/message/bcft5b5km7ihk3vp
> 
> Could this be the reason, ie are you using open JDK? (officially we only
> support JaxoDraw with Sun JDK).

Yes, Fedora uses OpenJDK.

Added javadocs and test phase (which is disabled, though).

http://theory.physics.helsinki.fi/~jzlehtol/rpms/jaxodraw.spec
http://theory.physics.helsinki.fi/~jzlehtol/rpms/jaxodraw-2.0.1-3.fc11.src.rpm
Comment 17 Orion Poplawski 2009-10-23 11:35:14 EDT
Packaging looks good now.  Approved.

Jussi - you may want to file a bug with openjdk about the test failure, and you will obviously need to deal with the F-12 runtime failure.
Comment 18 Susi Lehtola 2009-10-23 16:55:34 EDT
Thanks for the review!

New Package CVS Request
=======================
Package Name: jaxodraw
Short Description: A Java program for drawing Feynman diagrams
Owners: jussilehtola
Branches: F-11 F-12
InitialCC:
Comment 19 Kevin Fenzi 2009-10-26 16:09:00 EDT
cvs done.
Comment 20 Susi Lehtola 2009-11-30 05:57:13 EST
Whoops, slipped under my radar.
Comment 21 Fedora Update System 2009-11-30 05:57:54 EST
jaxodraw-2.0.1-4.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/jaxodraw-2.0.1-4.fc12
Comment 22 Fedora Update System 2009-11-30 05:58:00 EST
jaxodraw-2.0.1-4.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/jaxodraw-2.0.1-4.fc11
Comment 23 Fedora Update System 2009-11-30 23:21:45 EST
jaxodraw-2.0.1-4.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update jaxodraw'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2009-12355
Comment 24 Fedora Update System 2009-11-30 23:25:02 EST
jaxodraw-2.0.1-4.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update jaxodraw'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-12377
Comment 25 Fedora Update System 2009-12-17 23:31:00 EST
jaxodraw-2.0.1-4.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 26 Fedora Update System 2009-12-17 23:40:04 EST
jaxodraw-2.0.1-4.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.