LGPL vs ladspa.h
-
tor.helge.skei tor.helge.skei https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=152647
- KVRian
- Topic Starter
- 562 posts since 30 May, 2007
I have made a simple Linux VST plugin that acts as a LADSPA plugin wrapper, so that you can use them in hosts that only supports VST plugins (like Bitwig Studio). But I'm a little uncertain about the legality of distributing this plugin without also giving out the source code.. The code is pretty simple, and I would have no problem posting it, but it needs my full framework to compile, and I'm not yet ready to publish it, as it needs some cleanup and massaging to be 'releaseable'..
The ladspa.h header is distributed under the LGPL license:
https://web.archive.org/web/20150627144 ... dspa.h.txt
https://en.wikipedia.org/wiki/GNU_Lesse ... ic_License
"The main difference between the GPL and the LGPL is that the latter allows the work to be linked with (in the case of a library, 'used by') a non-(L)GPLed program, regardless of whether it is free software or proprietary software. The non-(L)GPLed program can then be distributed under any terms if it is not a derivative work."
http://lkml.iu.edu/hypermail/linux/kern ... /0362.html
Richard Stallman: "Someone recently made the claim that including a header file always makes a derivative work. That's not the FSF's view. Our view is that just using structure definitions, typedefs, enumeration constants, macros with simple bodies, etc., is NOT enough to make a derivative work. It would take a substantial amount of code (coming from inline functions or macros with substantial bodies) to do that."
So.. does this mean that it's safe/legal to distribute the LADSPA plugin in binary form (.so), as long as all code (except the ladspa.h) in the plugin is my own?
- Tor-Helge
The ladspa.h header is distributed under the LGPL license:
https://web.archive.org/web/20150627144 ... dspa.h.txt
https://en.wikipedia.org/wiki/GNU_Lesse ... ic_License
"The main difference between the GPL and the LGPL is that the latter allows the work to be linked with (in the case of a library, 'used by') a non-(L)GPLed program, regardless of whether it is free software or proprietary software. The non-(L)GPLed program can then be distributed under any terms if it is not a derivative work."
http://lkml.iu.edu/hypermail/linux/kern ... /0362.html
Richard Stallman: "Someone recently made the claim that including a header file always makes a derivative work. That's not the FSF's view. Our view is that just using structure definitions, typedefs, enumeration constants, macros with simple bodies, etc., is NOT enough to make a derivative work. It would take a substantial amount of code (coming from inline functions or macros with substantial bodies) to do that."
So.. does this mean that it's safe/legal to distribute the LADSPA plugin in binary form (.so), as long as all code (except the ladspa.h) in the plugin is my own?
- Tor-Helge
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
Well, that's a tough one... Strictly reading the licence would mean that you may have to also provide the source code, as you are using the header and implementing some of the underlying functions. Affero would probably have been a better choice :/
Have you tried LV2?
Have you tried LV2?
- KVRian
- 927 posts since 26 Oct, 2005 from The Void
Eigen is a header only library that used to be licensed under the LGPL. There was a whole section in their FAQ about it, give it a read. In short, you won't be required to share your source code.
http://eigen.tuxfamily.org/index.php?ti ... oldid=1117
http://eigen.tuxfamily.org/index.php?ti ... oldid=1117
-
tor.helge.skei tor.helge.skei https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=152647
- KVRian
- Topic Starter
- 562 posts since 30 May, 2007
Hmm..
I see that what I write above might be a little confusing..
The Ladspa header (from the official ladspa sdk) which I'm using in my plugin, is distributed under LGPL, but I would like to distribute only the binary version of my resulting Vst plugin at the time being.. I won't distribute any Ladspa plugins, of course, but my plugin can load/wrap whatever Ladspa plugins you might have installed, and use them in Vst-capable hosts..
So, I'm using only the structs, typedefs and #defines from the ladspa.h.. Hence the link to the Stallman/FSF statement..
- Tor-Helge
I see that what I write above might be a little confusing..
The Ladspa header (from the official ladspa sdk) which I'm using in my plugin, is distributed under LGPL, but I would like to distribute only the binary version of my resulting Vst plugin at the time being.. I won't distribute any Ladspa plugins, of course, but my plugin can load/wrap whatever Ladspa plugins you might have installed, and use them in Vst-capable hosts..
So, I'm using only the structs, typedefs and #defines from the ladspa.h.. Hence the link to the Stallman/FSF statement..
- Tor-Helge
-
tor.helge.skei tor.helge.skei https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=152647
- KVRian
- Topic Starter
- 562 posts since 30 May, 2007
Thanks!Dozius wrote:Eigen is a header only library that used to be licensed under the LGPL. There was a whole section in their FAQ about it, give it a read. In short, you won't be required to share your source code.
http://eigen.tuxfamily.org/index.php?ti ... oldid=1117
That sounds promising!
- Tor-Helge
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
Well, they changed the license also because their interpretation of the LGPL might not have been correct!Dozius wrote:Eigen is a header only library that used to be licensed under the LGPL. There was a whole section in their FAQ about it, give it a read. In short, you won't be required to share your source code.
http://eigen.tuxfamily.org/index.php?ti ... oldid=1117
- KVRian
- 927 posts since 26 Oct, 2005 from The Void
The FAQ also says they had confirmation from the FSF. I'd say that is a pretty strong endorsement that it is OK use.Miles1981 wrote:Well, they changed the license also because their interpretation of the LGPL might not have been correct!Dozius wrote:Eigen is a header only library that used to be licensed under the LGPL. There was a whole section in their FAQ about it, give it a read. In short, you won't be required to share your source code.
http://eigen.tuxfamily.org/index.php?ti ... oldid=1117
I did notice in the FAQ however, that LGPL v2.1 might have issues with this use even though v3 of the license solves these issues. So, you might not be in the clear afterall.
edit: P.S They didn't change the license because they were worried the interpretation was incorrect. They did it for several other good reasons that you can read about in the mail archives. One of which was people being scared off by the LGPL even though that had a large detailed FAQ.
First post here: https://listengine.tuxfamily.org/lists. ... 00043.html
