[Coin-discuss] license issues

Robert Fourer 4er at iems.northwestern.edu
Tue Sep 19 11:44:01 EDT 2006


Since AMPL came up in the discussion, I thought I'd also mention a few related
issues ...  

It's true that the AMPL-Solver Library is only needed for building the
AMPL-interfaced version of IPOPT.  But to further complicate matters, the
AMPL-Solver Library has been released as open source, but under a license
different from either GPL or CPL (indeed COIN-OR was not yet on the scene when
the AMPL library was first made available).  I'm not sure whether this adds
further difficulties to the distribution of binaries for AMPL/IPOPT, which
would be convenient to have.

AMPL only interacts with a solver by writing a file and setting some
environment variables, spawning the solver as a process, and at the end
retrieving a file written by the solver.  As a result I believe that the
licening issues surrounding an AMPL-interfaced solver are completely
independent from the issues regarding the core AMPL program (which is not
open-source).  It would be interesting to hear other opinions on this, though.

Bob Fourer
4er at iems.northwestern.edu


> -----Original Message-----
> From: coin-discuss-bounces at list.coin-or.org [mailto:coin-discuss-
> bounces at list.coin-or.org] On Behalf Of John Pye
> Sent: Tuesday, September 19, 2006 6:57 AM
> To: Discussions about open source software for Operations Research
> Subject: Re: [Coin-discuss] license issues
> 
> Hi all,
> 
> Further to my earlier mail, I am wondering about IPOPT again. As I
> understand it you can't usefully emply IPOPT without one of Harwell,
> Pardiso or WSMP (just from my reading of the documentation, haven't
> drilled down any further than that at this stage). And apparently you
> also need AMPL Solver Library, although I'm not sure if that is required
> for compilation of the C++ interface, or only for building the AMPL
> plugin solver.
> 
> If that is the case then it would seem that it's impossible to
> distribute binary versions of IPOPT anyway, right?
> 
> If one were to attempt to use the IPOPT solver as part of a larger
> software system such as ASCEND (think of ASCEND as a GPL-licensed
> equivalent of AMPL), then it seems that a binary ASCEND distribution
> incorporating IPOPT is out of the question even without the issues of
> the CPL vs GPL.
> 
> Does this sound right to you?
> 
> Cheers
> JP
> 
> Ted Ralphs wrote:
> 
> >As the chair of Foundation's legal affairs committee, I suppose I would
> >be remiss if I didn't weigh in. Sorry for any "information overload."
> >(Big Disclaimer: I am not a lawyer, but I play one on TV).
> >
> >First, I want to emphasize that in the arena of intellectual property
> >and software, there is very little case law to back up the various legal
> >opinions being espoused on the Web and elsewhere, so don't expect to
> >find "the right answer" to any of these sticky questions. About all you
> >can do is to form your own opinion either by reading the licenses and
> >trying to learn how IP law works yourself or by trying to ascertain what
> >the majority of people believe. For every legal opinion about open
> >source licenses, you can always find someone who will defend the exact
> >opposite opinion. For that reason, one needs to take into account the
> >possible political biases of various "authorities" on this subject.
> >
> >That said, there is always confusion about the "compatibility" of the
> >various licenses in common use. In the case of the GPL, I believe that
> >the Free Software Foundation's assessment of compatibility of the GPL
> >with other licenses has to do with the distribution of binaries, not
> >source. As Brady already pointed out, it is OK to distribute source
> >consisting of a combination of CPL and GPL code. However, you cannot
> >(according to the legal interpretation of the Free Software Foundation)
> >distribute a pre-compiled binary consisting of both CPL and GPL code.
> >(Note, however, that some would argue that the clauses in the GPL that
> >prevent such combination are not legally enforceable---this has yet to
> >be tested in court).
> >
> >As for why we chose the CPL and not the GPL, the answer to that question
> >is not very straightforward, but, as previously pointed out, a big
> >reason is that it is more friendly to commercial use. A lot of companies
> >will not touch GPL'd code with a ten-foot pole because it is not
> >possible to include GPL'd code in a proprietary product, whereas the CPL
> >makes this fairly easy. Since we generally want to encourage commercial
> >use of COIN software and since IBM, who contributed much of the initial
> >code in COIN, was already comfortable with it, we chose the CPL as our
> >recommended license. (Disclaimer: This is just my own interpretation of
> >Foundation policy).
> >
> >To clarify whether the CPL requires changes to the code to be released
> >open source, the CPL does require that "improvements" to CPL'd code be
> >contributed back to the owner of that code under the CPL if such
> >improvements are redistributed. However, the CPL allows for users to add
> >separate "modules" to CPL'd code that are under a different (possibly
> >proprietary) license. In other words, if one wanted to build a GUI
> >interface for CLP or even to add a new algorithm for solving LPs to it,
> >it would be OK to sell the resulting product commercially, even if the
> >additional module was not released under the CPL (or even not open
> >source). This is not allowed under the GPL. (Disclaimer: These opinions
> >are just my own interpretation).
> >
> >For a more in-depth analysis of several open source licenses (including
> >the CPL and GPL), Lawrence Rosen's book, "Open Source Licensing:
> >Software Freedom and Intellectual Property Law," is recommended and
> >available on-line (in open source fashion):
> >
> >http://www.rosenlaw.com/oslbook.htm
> >
> >For IBMs interpretation of the CPL, see their FAQ here:
> >
> >http://www-128.ibm.com/developerworks/library/os-cplfaq.html
> >
> >I hope this helps clarify some things.
> >
> >Cheers,
> >
> >Ted
> >
> >
> >Andreas Waechter wrote:
> >
> >
> >>Hi,
> >>
> >>Just a minor insignificant correction:  Ipopt was originally contributed
> >>by CMU, since it was written there.  However, since I then went to IBM,
> >>we decided to release it under a license that IBM would be happy with
> >>(and would allow me to keep working on it), and that was the CPL.
> >>
> >>Andreas
> >>
> >>
> >>On Mon, 18 Sep 2006, Brady Hunsaker wrote:
> >>
> >>
> >>
> >>>I'll try to help clarify some of the confusion about COIN-OR's license
> >>>policy.  I'm a member of the Strategic Leadership Board, so I feel
> >>>qualified for that.  As to the legal questions of license specifics,
> >>>I'll make a personal statement at the end.
> >>>
> >>>COIN-OR allows project contributors to choose any software license
> >>>that is approved by the Open Source Initiative.  Dual-licensing is
> >>>also allowed, and we currently have one case of a dual-license (user's
> >>>choice of CPL or GPL). Both the CPL and GPL are approved as
> >>>open-source licenses by the Open Source Initiative.
> >>>
> >>>Most of the current code is licensed under the CPL, so we encourage
> >>>new project contributors to consider the CPL for compatibility.  This
> >>>is not required, however.  It is up to the project contributor.
> >>>
> >>>IPOPT was originally contributed by IBM.  IBM chose to use the CPL for
> >>>all the open-source code it has contributed to COIN-OR.  I don't know
> >>>all the reasons for this, but here are a few points:
> >>>- IBM wrote the CPL to be exactly the way they want it.
> >>>- The CPL has clauses relating to patents; the GPLv2 does not.
> >>>- In my personal understanding, the CPL is closer to the LGPL,
> >>>allowing use as a library or separate module without the requirement
> >>>that other code have the same license.
> >>>
> >>>I hope that clears up some of the main COIN-OR questions.  If not,
> >>>I'll be happy to try again.
> >>>
> >>>----
> >>>
> >>>As to the legal relationship of licenses, I can only speak for myself
> >>>(not for COIN-OR).  My understanding is similar to what Bill has
> >>>written below. IBM wanted to engage both research and industry
> >>>communities when it contributed IPOPT, and evidently believes that the
> >>>CPL is the best way to do that, despite the relative frequencies of
> >>>licenses in other projects.  The LGPL would be similar in some key
> >>>ways, but I believe IBM probably evaluated it and explicitly deciding
> >>>against it.
> >>>
> >>>Unfortunately it's not possible to release binary code that combines
> >>>code under the CPL and GPL or LGPL.  It is possible to release source
> >>>code that interoperates, but the user would always be required to
> >>>collect the two different codes and compile them locally.  For
> >>>example, some COIN-OR projects allow the user to link to code under
> >>>the GPL, such as gzip and bzip2 compression libraries.  This is not
> >>>enabled by default, and we do not expect to be able to distribute
> >>>binaries with this feature because of license incompatibilities.
> >>>
> >>>Brady
> >>>
> >>>Hart, William E wrote:
> >>>
> >>>
> >>>>John:
> >>>>
> >>>>I didn't help develop CPL, but my understanding is that the principal
> >>>>motivation for CPL was that it enabled commercial entities to use the
> >>>>code without enforcing code-distribution requirements on them.  Thus,
> >>>>someone like IBM could integrate CPL code, modify it, and distribute it
> >>>>commercially without being required to redistribute those changes to the
> >>>>public.
> >>>>
> >>>>This sort of policy goes against the grain of the GNU open source
> >>>>distribution policy, but in practice I have observed that commercial
> >>>>entities using CPL code remain interested in fostering improvements in
> >>>>the code.
> >>>>
> >>>>It's clear to me that this sort of license is not what you're interested
> >>>>in for ASCEND.  I don't think you could argue that IPOPT _should_ be
> >>>>distributed with the LGPL license.  However, the IPOPT developers are
> >>>>free to license IPOPT under LGPL as well, for inclusion in a project
> >>>>like ASCEND.
> >>>>
> >>>>--Bill
> >>>>
> >>>>
> >>>>
> >>>>>-----Original Message-----
> >>>>>From: coin-discuss-bounces at list.coin-or.org
> >>>>>[mailto:coin-discuss-bounces at list.coin-or.org] On Behalf Of John Pye
> >>>>>Sent: Monday, September 18, 2006 9:09 AM
> >>>>>To: Discussions about open source software for Operations Research
> >>>>>Subject: Re: [Coin-discuss] license issues
> >>>>>
> >>>>>Hi Bill,
> >>>>>
> >>>>>I'm not all that clear on it myself. I found these comments on
> >>>>>Wikipedia:
> >>>>>http://en.wikipedia.org/wiki/Common_Public_License
> >>>>>
> >>>>>CPL would be one of the less common open source licenses. Given that
> >>>>>it's said to be incompatible with the far-and-away most common open
> >>>>>source license, namely the GPL, I'm curious why it was that CPL was
> >>>>>chosen for COIN? I wonder if you could perhaps explain what the
> >>>>>conditions were that you wanted to enforce?
> >>>>>
> >>>>>In the case of my project, ASCEND, for example, we wanted to make a
> >>>>>completely free modelling tool that could not be swallowed up inside
> >>>>>a larger commercial piece of software without our explicit agreement.
> >>>>>Perhaps it is important that use of IPOPT and other COIN software be
> >>>>>allowed inside commercial stuff. In that case, perhaps the LGPL
> >>>>>would be a better choice than the CPL?
> >>>>>
> >>>>>Cheers
> >>>>>JP
> >>>>>
> >>>>>Hart, William E wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>>FYI, the discussion that JP refers to is available at:
> >>>>>>
> >>>>>> http://www.gnu.org/licenses/license-list.html
> >>>>>>
> >>>>>>I can't say that I understand the gist of the incompatibility...
> >>>>>>
> >>>>>>--Bill
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>>-----Original Message-----
> >>>>>>>From: coin-discuss-bounces at list.coin-or.org
> >>>>>>>[mailto:coin-discuss-bounces at list.coin-or.org] On Behalf Of John Pye
> >>>>>>>Sent: Monday, September 18, 2006 7:59 AM
> >>>>>>>To: coin-discuss at list.coin-or.org
> >>>>>>>Subject: [Coin-discuss] license issues
> >>>>>>>
> >>>>>>>Hi all,
> >>>>>>>
> >>>>>>>I've just come across COIN and the IPOPT solver, and was thinking
> >>>>>>>about looking at it as a possible open source alternative to the
> >>>>>>>CONOPT solver that we currently rely on for some of the
> >>>>>>>
> >>>>>>>
> >>>>>functionality
> >>>>>
> >>>>>
> >>>>>>>in the ASCEND modelling environment (another CMU project).
> >>>>>>>
> >>>>>>>I was wondering why IPOPT has chosen the Common Public License.
> >>>>>>>According to the GNU website, this license is not
> >>>>>>>
> >>>>>>>
> >>>>>compatible with the
> >>>>>
> >>>>>
> >>>>>>>GPL, which means that although IPOPT is open source, we
> >>>>>>>
> >>>>>>>
> >>>>>can't legally
> >>>>>
> >>>>>
> >>>>>>>distribute it with our software. Perversely, it seems that it is
> >>>>>>>easier to use IPOPT in commercial projects than in free projects!
> >>>>>>>
> >>>>>>>Is there a good reason why the CPL is applied to IPOPT -- perhaps
> >>>>>>>another license could be used instead, such as the GPL or LGPL
> >>>>>>>license?
> >>>>>>>
> >>>>>>>I note that this discussion also appears to have taken place on
> >>>>>>>the CppAd list, and the Boost license was suggested there as an
> >>>>>>>alternative.
> >>>>>>>
> >>>>>>>Cheers
> >>>>>>>JP
> >>>>>>>
> >>>>>>>
> >
> >
> >






More information about the Coin-discuss mailing list