[Coin-discuss] license issues

John Pye john.pye at anu.edu.au
Tue Sep 19 07:57:14 EDT 2006


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
>>>>>>>              
>>>>>>>
>
>  
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: john.pye.vcf
Type: text/x-vcard
Size: 277 bytes
Desc: not available
URL: <http://list.coin-or.org/pipermail/coin-discuss/attachments/20060919/c688529f/attachment.vcf>


More information about the Coin-discuss mailing list