It looks like the Minpack license is a BSD license with an extended
warranty and liability section. I'll ping the legal-discuss mailing
list about it, but it looks fine to me. Just some government
boilerplate tacked onto a BSD license I think.

The Hairer license is as you say, a BSD-like license, so that's fine.

For both cases, we don't need software grants. Instead we put the
information in the NOTICE.txt file. I presume the original files you
took the code from had copyright statements at the top?


Hen

On 9/10/06, Luc Maisonobe <[EMAIL PROTECTED]> wrote:
Hello,

As mentioned a few times on this list, I have proposed to donate the
Mantissa (http://www.spaceroots.org/software/mantissa/index.html) code
to Apache and continue maintaining it here along with commons math.

Almost everything has been both designed and coded by me, so I was able
to sign a Software Grant myself for everything except one class already
identified since the beginning. However, after some checks, four
additional Mantissa classes could induce some copyright issues and I am
seeking for advices for these classes.

org.spaceroots.mantissa.estimation.LevenbergMarquardtEstimator:

This class is an implementation of the Levenberg-Marquardt algorithm.
The internal code is a translation in Java of the 1980 fortran lmder,
lmpar and qrsolv  routines (http://www.netlib.org/minpack/lmder.f,
http://www.netlib.org/minpack/lmpar.f,
http://www.netlib.org/minpack/qrsolv.f) which are distributed as part of
minpack under the following license:
http://www.netlib.org/minpack/disclaimer. The code I want to donate
includes the following changes from minpack:

   - complete translation of all code in Java
   - complete redesign of the interface to fit
     with the existing Mantissa Estimator interface
   - complete rewrite of the Q.R decomposition part
     to use another implementation derived from a textbook
   - adaptation of the upper-level code (calling the Q.R
     decomposition) to the lower-level implementation changes
     (calls, indices and columns reordering handling)

The implementation of the estimate (lmder), determineLMParameter (lmpar)
and determineLMDirection (qrsolv) are the parts that come from Minpack,
their origin are advertised (as required by Minpack license) and only
the translation in Java and the adaptation are new. All the rest of the
class (interface, all other methods including qrDecomposition) is
original work.

 From a users perspective, it is a very important algorithm and a clear
improvement for commons math. It also seems that most (if not all)
implementations of the algorithm are indeed translations of these
minpack routines. It seems difficult to ask for the original authors to
provide a software grant to Apache. Is this class acceptable in commons
math or should it be dropped (it would be difficult to reimplement the
three methods directly translated from minpack) ?

org.spaceroots.mantissa.ode.GraggBulirschStoerIntegrator and
org.spaceroots.mantissa.ode.GraggBulirschStoerInterpolator

These classes are an implementation of the Gragg-Bulirsch-Stoer
integrator. The internal code is a translation in Java of the fortran
odex code by E. Hairer and G. Wanner
(http://www.unige.ch/math/folks/hairer/prog/nonstiff/odex.f) distributed
under the following license (BSD type):
http://www.unige.ch/~hairer/prog/licence.txt

The algorithm is described in the well known Hairer, Norsett and Wanner
textbook Solving Differential Equations (part I, nonstiff problems).

The code I want to donate includes the following changes from odex:

   - complete translation of all code in Java
   - complete redesign of the interface to fit
     with the existing Mantissa FirstOrderIntegrator interface

 From a users perspective, this integrator could be omitted. It is one
of the best integrators available for nonstiff problems, of course, but
Mantissa also includes the Dormand-Prince 8(5,3) which is another very
good integrator, and which was implemented from scratch and shares the
design of other Runge-Kutta-Fehlberg integrators. Should these two
classes be included in commons math ?

org.spaceroots.mantissa.random.MersenneTwister:

This class is an implementation of the Mersenne twister pseudo-random
generator. It is a translation of the Makoto Matsumoto and Takuji
Nishimura c code.

As there is already an implementation of the Mersenne twister in commons
math, it seems irrelevant to include this new implementation.

Luc

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to