LGPL Compliance for Commercial Faust Plugins in HISE
-
so im guessing that these libraries
https://faustdoc.grame.fr/examples/reverb/
..you cant use them in your projects with a proprietary license.the demo libraries show up as GPL2+ in the metadata.
-
@jeffd If it's using the STK license then it looks like it's basically the same as the MIT so it is compatible with GPL projects (I think that was mentioned earlier in this thread actually)
-
this is in my project (sorry, this is kinda confusing to me)
m->declare("author", "FangTooth Instruments");
m->declare("basics.lib/name", "Faust Basic Element Library");
m->declare("basics.lib/tabulateNd", "Copyright (C) 2023 Bart Brouns bart@magnetophon.nl");
m->declare("basics.lib/version", "1.19.1");
m->declare("compile_options", "-lang cpp -rui -nvi -ct 1 -cn _delay -scn ::faust::dsp -es 1 -mcd 16 -mdd 1024 -mdy 33 -uim -single -ftz 0");
m->declare("delays.lib/fdelay1a:author", "Julius O. Smith III");
m->declare("delays.lib/fdelay4:author", "Julius O. Smith III");
m->declare("delays.lib/fdelayltv:author", "Julius O. Smith III");
m->declare("delays.lib/name", "Faust Delay Library");
m->declare("delays.lib/version", "1.1.0");
m->declare("description", "Reverb based on Faust std library greyhole (re.greyhole).");
m->declare("filename", "delay.dsp");
m->declare("filters.lib/lowpass0_highpass1", "MIT-style STK-4.3 license");
m->declare("filters.lib/name", "Faust Filters Library");
m->declare("filters.lib/nlf2:author", "Julius O. Smith III");
m->declare("filters.lib/nlf2:copyright", "Copyright (C) 2003-2019 by Julius O. Smith III jos@ccrma.stanford.edu");
m->declare("filters.lib/nlf2:license", "MIT-style STK-4.3 license");
m->declare("filters.lib/tf1:author", "Julius O. Smith III");
m->declare("filters.lib/tf1:copyright", "Copyright (C) 2003-2019 by Julius O. Smith III jos@ccrma.stanford.edu");
m->declare("filters.lib/tf1:license", "MIT-style STK-4.3 license");
m->declare("filters.lib/version", "1.3.0");
m->declare("maths.lib/author", "GRAME");
m->declare("maths.lib/copyright", "GRAME");
m->declare("maths.lib/license", "LGPL with exception");
m->declare("maths.lib/name", "Faust Math Library");
m->declare("maths.lib/version", "2.8.0");
m->declare("name", "Greyhole Reverb");
m->declare("oscillators.lib/name", "Faust Oscillator Library");
m->declare("oscillators.lib/version", "1.5.1");
m->declare("platform.lib/name", "Generic Platform Library");
m->declare("platform.lib/version", "1.3.0");
m->declare("reverbs.lib/greyhole:author", "Julian Parker, bug fixes and minor interface changes by Till Bovermann");
m->declare("reverbs.lib/greyhole:license", "GPL2+");
m->declare("reverbs.lib/name", "Faust Reverb Library");
m->declare("reverbs.lib/version", "1.3.0");
m->declare("signals.lib/name", "Faust Signal Routing Library");
m->declare("signals.lib/version", "1.6.0");
m->declare("version", "1.0");
} -
@jeffd said in LGPL Compliance for Commercial Faust Plugins in HISE:
this is kinda confusing to me
Anything that is STK, LGPL, or MIT is fine in a GPLv3 project.
-
@David-Healey
but this right here: m->declare("reverbs.lib/greyhole:license", "GPL2+");
m->declare("reverbs.lib/name", "Faust Reverb Library");is not,
which is actually the only thing im using. im guessing everyting else is part of that dsp? -
@jeffd I don't follow, is that two declarations for the same library? I haven't used faust for years so I'm not familiar with the syntax.
-
@David-Healey honestly.. i have no idea
-
@David-Healey Not only do Faust libraries have independent licenses, but also individual function within a single library can have different licenses.
-
@jeffd Is your project intended to be open-source or closed-source?
If it's open-source, I believe you can do pretty much anything with Faust.
If it's closed-source (meaning you won't be making the source code/project publicly available) then you need to be wary of the licenses for all the Faust libraries and individual functions that you use.
-
ok so i asked someone at GRAME and he said:
greyhole is now MIT licenced : https://github.com/grame-cncm/faustlibraries/blob/master/reverbs.lib#L1051,
so it looks like everything is ok to use even with a proprietary license.
but maybe thats not accurate?
-
@jeffd You can check any Faust library's license, or an individual function's license, from the GitHub page. I would always check yourself rather than replying on someone else's answer.
Even if you're only using greyhole, and even though it's MIT licensed, you still need to check what other functions/helpers/etc that it calls. They need to have permissive licenses too.
-
is this not it here? https://github.com/grame-cncm/faustlibraries/blob/master/reverbs.lib#L1051,
or is there somewhere else to look?
-
@jeffd Yes, the MIT license for the greyhole functions there
but I'm saying you still need to check the licenses of any other code that is called in the greyhole function.I was talking more generally, for all Faust libraries and/or functions. You have to follow the paths of what other code is imported.
For greyhole in particulat, it looks like it calls functions from a bunch of other libraries like signals.lib, delays.lib, oscillators.lib, etc. And the licenses that those functions are under also affects what you can do.
But in this case, they all seem to be Faust basic building blocks, many of which have that LGPL Exception that makes them available to use in closed-source products.
-
@dannytaurus
gotcha
...man, nothing is ever easy.
trying to make a faustian bargain with the dsp devil
and apologies for just typing that haha
-
@jeffd Yeah, always a can of worms these things! But better to investigate before you launch than to get bitten later!