Re: On using Linbox and LELA with non-GPL software

26 views
Skip to first unread message

Brice Boyer

unread,
Oct 12, 2012, 10:34:21 AM10/12/12
to Bjarke Hammersholt Roune, linbox...@googlegroups.com, Bradford Hovinen, Alexander Dreyer, christian eder, Wolfram Decker, Burcin Erocal
Hello,
for me, there is no problem at all (we indeed had this discussion with Bradford, and I am still OK with that)... I understand the STL problem. 
I add linbox-devel mailing list for discussing this.
Cheers,
Brice.

2012/10/12 Bjarke Hammersholt Roune <bhr...@math.cornell.edu>
Hi Brice,

We met at the elagb meeting in Kaiserslautern where I was interested
to see your talk about Linbox. I am writing to you concerning the
license for Linbox. As I understand it, this is something you've
discussed with Bradford Hovinen, who referred me to you.

Linbox inlines part of itself into client programs, so we believe that
it cannot be used directly by non-GPL software, despite being under an
LGPL license. LELA has the same issue, so we would like to add the
following exception to the GPL to the LELA source code. This is the
same exception used by the STL shipped with GCC, where the issue is
exactly the same:

  As a special exception, you may use this file as part of a free software
  library without restriction.  Specifically, if other files instantiate
  templates or use macros or inline functions from this file, or you compile
  this file and link it with other files to produce an executable, this
  file does not by itself cause the resulting executable to be covered by
  the GNU General Public License.  This exception does not however
  invalidate any other reasons why the executable file might be covered by
  the GNU General Public License.

I am writing to you about this because LELA includes code from Linbox,
so we need Linbox to be relicensed with the same exception before we
can relicense LELA with this exception. My question to you is if you
support the idea of allowing Linbox to be used from non-GPL software
in this way?

Cheers
Bjarke



--
                                                      Brice Boyer.
____________________________________________________________
brice...@imag.fr                                     Tél. +33(0)4 76 51 45 61
Université Joseph Fourier, Grenoble I.
Laboratoire Jean Kuntzmann, Mathématiques Appliquées et Informatique
LJK - UJF  BP53 38041 Grenoble cedex FRANCE
http://ljk.imag.fr/membres/Brice.Boyer
____________________________________________________________

B Saunders

unread,
Oct 12, 2012, 11:43:37 AM10/12/12
to linbox...@googlegroups.com, Bjarke Hammersholt Roune, Bradford Hovinen, Alexander Dreyer, christian eder, Wolfram Decker, Burcin Erocal
The exception is fine with me, however I would give it to any software, not just free software libraries.

In fact I like this license: "Use this file any way you like, except that you may not restrict others' use of it."

Best,
-dave

--
Prof. B. David Saunders, 302-831-6238, CIS Department, University of Delaware


--
You received this message because you are subscribed to the Google Groups "linbox-devel" group.
To post to this group, send email to linbox...@googlegroups.com.
To unsubscribe from this group, send email to linbox-devel...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/linbox-devel?hl=en.

Bjarke Roune

unread,
Oct 31, 2012, 11:59:25 AM10/31/12
to linbox...@googlegroups.com, Bjarke Hammersholt Roune, Bradford Hovinen, Alexander Dreyer, christian eder, Wolfram Decker, Burcin Erocal
It seems no one disagrees with adding the exception to the license for
Linbox. What is the process for making this happen in Linbox?


On Fri, Oct 12, 2012 at 5:43 PM, B Saunders wrote:
> The exception is fine with me, however I would give it to any software, not
> just free software libraries.
>
As I understand it, the exception is given to any software. The free
software library in "as part of a free software library" refers to
Linbox, not to the client program. Otherwise you could only use the
GCC STL for free software libraries, since the GCC STL uses the same
exception.

Cheers
Bjarke

B Saunders

unread,
Oct 31, 2012, 2:57:26 PM10/31/12
to linbox...@googlegroups.com, Bjarke Hammersholt Roune, Bradford Hovinen, Alexander Dreyer, christian eder, Wolfram Decker, Burcin Erocal
OK, you've got me reading license information again.  Ugh.

I find on examination that LinBox' COPYING file contains the GPL,  In contradiction to that, the various code files contain a header asserting the LGPL while referring the reader to COPYING for details.

I propose to change COPYING to contain version 3 of the LGPL as found here: http://www.gnu.org/licenses/lgpl-3.0.txt
unless linbox developers object (in the next 48 hours).

LGPL 3.0 allows GPL licensed projects--as well as others--to use LinBox without jeopardy to their own licensing.

Best,
-dave

--
Prof. B. David Saunders, 302-831-6238, CIS Department, University of Delaware


--
You received this message because you are subscribed to the Google Groups "linbox-devel" group.
To view this discussion on the web visit https://groups.google.com/d/msg/linbox-devel/-/OPnQBEqnbZoJ.

Brice Boyer

unread,
Oct 31, 2012, 3:04:50 PM10/31/12
to linbox...@googlegroups.com, Bjarke Hammersholt Roune, Bradford Hovinen, Alexander Dreyer, christian eder, Wolfram Decker, Burcin Erocal
there is a copying and a copying.lesser file (I believe this is standard http://www.gnu.org/licenses/gpl-howto.html)

2012/10/31 B Saunders <saun...@udel.edu>

B Saunders

unread,
Oct 31, 2012, 3:13:01 PM10/31/12
to linbox...@googlegroups.com, Bjarke Hammersholt Roune, Bradford Hovinen, Alexander Dreyer, christian eder, Wolfram Decker, Burcin Erocal
Thanks, Brice,  you are right.  There is no confusion about LinBox using LGPL (only my confusion).

I claim then that through the LGPL on LinBox, LELA and Singular already have the exception they seek.


Best,
-dave

--
Prof. B. David Saunders, 302-831-6238, CIS Department, University of Delaware


Message has been deleted

Bjarke Roune

unread,
Nov 1, 2012, 12:32:16 PM11/1/12
to linbox...@googlegroups.com, Bjarke Hammersholt Roune, Bradford Hovinen, Alexander Dreyer, christian eder, Wolfram Decker, Burcin Erocal

I claim then that through the LGPL on LinBox, LELA and Singular already have the exception they seek.

This comment caused me to actually go read the license to find the appropriate text. It turns out that this is an issue for LGPL 2.1, which allows at most 10 inline lines of code in a header:

[quote]
When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.

If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)
[/quote]
http://www.gnu.org/licenses/lgpl-2.1.txt

This situation is in fact different for LGPL 3.0:

[quote]

  The object code form of an Application may incorporate material from
a header file that is part of the Library.  You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:

   a) Give prominent notice with each copy of the object code that the
   Library is used in it and that the Library and its use are
   covered by this License.

   b) Accompany the object code with a copy of the GNU GPL and this license
   document.
[/quote]
http://www.gnu.org/licenses/lgpl-3.0.txt

I am not a lawyer. The latest Linbox release that I can see from the website specifies LGPL version 2.1. I saw one file saying "2.1 or later". Do all files say that? In that case, as I understand this, it is possible to use Linbox under LGPL 3.0 for which this issue does not seem to exist. So if you do not want people to use Linbox with LGPL 2.1 then there actually seems not to be an issue. In that case you might want to make your wish explicit for Linbox to be not usable as LGPL 2.1 by explicitly licensing under LGPL 3.0 (there are implications of this choice - some companies will not touch LGPL 3.0 code). If you do want people to be able to link Linbox with an LGPL 2.1 license then there is still an issue. In any case it seems this does not affect me since Lela is already under LGPL 3.0 so there is no option for LGPL 2.1.

If any files in Linbox say "LGPL 2.1" and not "LGPL 2.1 or later" then it seems LELA cannot be distributed at all since it is LGPL 3.0 - so that would be interesting to clear up? I can't find this information on the Linbox website. Is it there?

Cheers
Bjarke

Brice Boyer

unread,
Nov 1, 2012, 12:36:41 PM11/1/12
to linbox...@googlegroups.com
Hello,

any LinBox file is suppose to contain, among other things
"* LinBox is free software: you can redistribute it and/or modify
 * it under the terms of the  GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version."


2012/11/1 Bjarke Roune <bjarke...@gmail.com>

--
You received this message because you are subscribed to the Google Groups "linbox-devel" group.
To view this discussion on the web visit https://groups.google.com/d/msg/linbox-devel/-/cBYnnriy-gwJ.

Brice Boyer

unread,
Nov 1, 2012, 12:37:25 PM11/1/12
to linbox...@googlegroups.com, Bjarke Hammersholt Roune, Bradford Hovinen, Alexander Dreyer, christian eder, Wolfram Decker, Burcin Erocal
Hello,

any LinBox file is suppose to contain, among other things
"* LinBox is free software: you can redistribute it and/or modify
 * it under the terms of the  GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version."

(sorry, I forgot the CCs)

2012/11/1 Bjarke Roune <bjarke...@gmail.com>

--
You received this message because you are subscribed to the Google Groups "linbox-devel" group.
To view this discussion on the web visit https://groups.google.com/d/msg/linbox-devel/-/cBYnnriy-gwJ.

B Saunders

unread,
Nov 15, 2012, 5:42:03 PM11/15/12
to linbox...@googlegroups.com, Bjarke Hammersholt Roune, Bradford Hovinen, Alexander Dreyer, christian eder, Wolfram Decker, Burcin Erocal
Brice has made the headers of all the files autogenerated, so they all have the same "2.1 or (your option) later version"
language that he described.

Does this alone address your needs?  ...or do you  still want the STL exception paragraph added?
If so could you provide a patch putting it exactly where it should go (in COPYING or COPYING.lesser I suppose).


Best,
-dave

--
Prof. B. David Saunders, 302-831-6238, CIS Department, University of Delaware


Bjarke Hammersholt Roune

unread,
Nov 15, 2012, 6:08:04 PM11/15/12
to linbox...@googlegroups.com, Bradford Hovinen, Alexander Dreyer, christian eder, Wolfram Decker, Burcin Erocal
On Thu, Nov 15, 2012 at 11:42 PM, B Saunders <saun...@udel.edu> wrote:
> Brice has made the headers of all the files autogenerated, so they all have
> the same "2.1 or (your option) later version"
> language that he described.
>
> Does this alone address your needs? ...or do you still want the STL
> exception paragraph added?
>
This does entirely address my need in terms of Lela licensing, since
LELA already does not allow LGPL 2 - it is GPL 3 only. Thanks for
helping me with this.

As per my previous email, my non-lawyer and possibly flawed
understanding is that if you want the option for LGPL 2 to be actually
useful to non-GPL users of Linbox, then you need to insert the
exception since LGPL 2 is not written to be used for a template
library like Linbox. If you want to move to LGPL 3 yourself and
disallow LGPL 2 use entirely, then there is no need for the exception,
since LGPL 3 does take template libraries into account. But this is
all up to what you want - it does not impact LELA so I'm not affected
by it.

Cheers
Bjarke
Reply all
Reply to author
Forward
0 new messages