[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Mon, 14 Jun 2010 17:02:53 +0100
Hopefully somebody can help me clarify some licensing issues with some code of
mine that links against GSL. I have never had to worry about licensing before,
and I am finding even the FAQ for the GPL license rather impenetrable!
My situation is that I have code developed in the course of my university
research that I would like to release for (slightly!) wider consumption. Being
a relatively large project is links against a number of libraries:
1. My own code, written from scratch
2. Apple system libraries (e.g. Accelerate, QuickTime)
3. GSL (GPL license)
4. GMP multiple precision math library (LGPL license)
5. Custom matrix eigenvalue library (explained below)
6. My own support library, written from scratch
#5 is a library I have hacked together from the GSL sources, where a copy of
the GSL matrix eigenvalue code (and all its dependencies) has been modified to
use GMP high precision arithmetic in order to solve a particularly awkward
eigenvalue problem that suffers from catastrophic cancelation. I have no
objection to releasing this library under whatever license might be necessary
(though it was such a crude plugging together of two sets of code that I doubt
anybody would be interested!). This library code is only of very peripheral
relevance to the main project, and could be released as an entirely separate
program if that opened up more licensing options for the main code.
My understanding is that simply by linking #1 against #3 (GSL), even
dynamically linking, then I have restricted myself to the simple choice -
release all of my code (#1) under the GPL, or do not release it at all. My
reading is that I cannot even use LGPL for my code, for example, but must use
GPL (version 3 or greater). If somebody was able to confirm whether I'm right
there, that would be very helpful. Without wishing to wind anybody up, as
somebody who knows basically nothing about licensing I find that rather
surprising. If that's the case, though, fair enough.
Assuming I am right with that, as far as I can tell there is no additional
issue raised by #5. I just leave the GPLv3 header at the top of the files in #5
with a note that I have hacked them about, but the presence of this modified
code does not have any further impact given that I have to use the GPL anyway.
I think I can use whatever license I want for #6 (for what it's worth) as long
as it is compatible with the GPL in the sense that it enables #1, which it
seems must be GPLv3, to link against #6.
Thanks very much to anybody who has waded through all that - any comments would
be very welcome.
- [Help-gsl] Licensing,
Jonny Taylor <=