Sam Watkins wrote: > On Thu, Jan 13, 2005 at 02:09:41PM -0500, Kevin McCarty wrote: > >> the software contains what appears to be code derived from cernlib >> (GPL) [3] and Xclass (LGPL) [4] while having a license incompatible >> with either. > > They likely are allowed to use cernlib, however xclass is a different > matter.
I'm not confident about their use of Cernlib either. One could argue that because Rene and Fons were original authors of parts of Cernlib, it's OK; but CERN claims copyright on (and has GPLed) the whole thing. There are two issues: 1) Two conversion programs generated from Root source code, h2root and g2root (Root license), link against Cernlib libraries, which might not be permitted depending on your interpretation of the GPL. The FSF's interpretation (which I think Debian also uses) is that proprietary code may not link against GPL libs, hence the invention of the LGPL. This issue is somewhat arguable, and the [gh]2root programs aren't strictly necessary except for converting legacy data. 2) The code in minuit/src/TMinuit.cxx, as of Root version 4.02/00, has the following header. To me, this sounds very much ("a straightforward conversion of the original Fortran version") as though TMinuit.cxx is a derived work of MINUIT (part of PACKLIB, which in turn is part of Cernlib, hence under GPL). As an aside, I also wonder why they didn't just write a C++ wrapper class around the existing FORTRAN code, instead of translating all of it. > // Author: Rene Brun, Frederick James 12/08/95 > > /************************************************************************* > * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * > * All rights reserved. * > * * > * For the licensing terms see $ROOTSYS/LICENSE. * > * For the list of contributors see $ROOTSYS/README/CREDITS. * > *************************************************************************/ > > //______________________________________________________________________________ > //*-*-*-*-*-*-*-*-*-*-*-*The Minimization package*-*--*-*-*-*-*-*-*-*-*-*-* > //*-* ======================== * > //*-* * > //*-* This package was originally written in Fortran by Fred James * > //*-* and part of PACKLIB (patch D506) * > //*-* * > //*-* It has been converted to a C++ class by R.Brun * > //*-* The current implementation in C++ is a straightforward conversion * > //*-* of the original Fortran version: The main changes are: * > //*-* * > //*-* - The variables in the various Minuit labelled common blocks * > //*-* have been changed to the TMinuit class data members. * > //*-* - The internal arrays with a maximum dimension depending on the * > //*-* maximum number of parameters are now data members arrays with * > //*-* a dynamic dimension such that one can fit very large problems * > //*-* by simply initialising the TMinuit constructor with the maximum * > //*-* number of parameters. * > //*-* - The include file Minuit.h has been commented as much as possible* > //*-* using existing comments in the code or the printed documentation* > //*-* - The original Minuit subroutines are now member functions. * > //*-* - Constructors and destructor have been added. * > //*-* - Instead of passing the FCN function in the argument * > //*-* list, the addresses of this function is stored as pointer * > //*-* in the data members of the class. This is by far more elegant * > //*-* and flexible in an interactive environment. * > //*-* The member function SetFCN can be used to define this pointer. * > //*-* - The ROOT static function Printf is provided to replace all * > //*-* format statements and to print on currently defined output file.* > //*-* - The functions SetObjectFit(TObject *obj)/GetObjectFit() can be * > //*-* used inside the FCN function to set/get a referenced object * > //*-* instead of using global variables. * > //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* regards, -- Kevin B. McCarty <[EMAIL PROTECTED]> Physics Department WWW: http://www.princeton.edu/~kmccarty/ Princeton University GPG public key ID: 4F83C751 Princeton, NJ 08544 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]