[Coin-ipopt] Re: live CD including IPOPT code
Andreas Waechter
andreasw at watson.ibm.com
Wed Aug 22 09:56:15 EDT 2007
Hi James,
(I'm copying my reply to the Ipopt mailing list, which is the best place
for questions regarding Ipopt. It might also help other people who might
be looking for similar information.)
> We are planning to do a computer tutorial on parameter identification for the
> systems biology community, at the upcoming ICSB conference in California.
> Since our implementation replies on IPOPT, we'd like to ask for permission to
> put together a live CD for this purpose; it wasn't clear to me if this is
> allowed for CPL licensed softwares.
First of all, I think that's great, and I'm glad to hear you are finding
Ipopt useful!
Let me start by writing that I'm not a lawyer, so I cannot give you legal
advise. I can only tell you my personal, non-binding assessment of the
situation; if you want to know the exact legal situation, you need to talk
to a lawyer.
However, having said that, here is what I think:
Since Ipopt is open source software available under the CPL, there is no
problem distributing it in either in source code or object code form, as
long as you adhere to the "Requirements" put forth in the CPL (see section
3 in http://www.opensource.org/licenses/cpl1.0.php).
But you need to keep in mind that Ipopt relies on third-party code, which
is not necessarily open source (ASL, Blas, Lapack, and a linear solver),
and which will have to be distributed on your CD as well in order for
Ipopt to work.
I think there is no problem to include ASL, Blas, or Lapack into something
you distribute (many people have done this in the past in other numerical
software) - but have a look at the license for the particular version you
are going to use.
It is more tricky for the linear solver. The only solver that is
currently interfaced with Ipopt and does allow free redistribution is the
MUMPS linear solver. According to the MUMPS website (please read
http://graal.ens-lyon.fr/MUMPS/avail.html), MUMPS is public domain, so you
can distribute it, also as object code compiled into Ipopt.
Please note that based on some preliminary comparison, the linear solver
MA27 from the Harwell Subroutine Library (HSL) seems to perform somewhat
faster than MUMPS for small to medium-sized problems, but I think both
solvers are pretty much equally robust. However, if you want to
distribute IPOPT to others, you currently have no choice but to use MUMPS
(or to buy a license for HSL). There are other linear solvers, namely
Pardiso and WSMP, that are interfaced with Ipopt, but those are mainly for
large to very large problems.
In summary, yes, I think you can (and should! ;-) ) include Ipopt on your
live CD, but make sure you are using MUMPS as the linear solver.
Finally (addressing also anybody else using Ipopt): It would be really
great if you could add an entry at the Ipopt "Success Stories" wiki page,
describing what you use Ipopt for... (see
https://projects.coin-or.org/Ipopt/wiki/SuccessStories). Since Ipopt is
open source, there is no reward for all the work we put into it except for
acknowledgement of where the software is useful (and citations of the
appropriate Ipopt journal publication.) Thanks!!!!
I hope this helps,
Andreas
More information about the Coin-ipopt
mailing list