Forum
    • Categories
    • Register
    • Login

    LGPL Compliance for Commercial Faust Plugins in HISE

    Scheduled Pinned Locked Moved Faust Development
    34 Posts 5 Posters 204 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jeffd @David Healey
      last edited by

      @David-Healey

      if i release a plugin without a HISE proprietary license, this means that
      Anyone could legally, rebuild it, and redistribute it (even sell it). I dont think anyone would but im just trying to understand the difference.

      David HealeyD 1 Reply Last reply Reply Quote 0
      • David HealeyD
        David Healey @jeffd
        last edited by

        @jeffd Correct

        Free HISE Bootcamp Full Course for beginners.
        YouTube Channel - Public HISE tutorials
        My Patreon - HISE tutorials

        J 1 Reply Last reply Reply Quote 0
        • J
          jeffd @David Healey
          last edited by

          @David-Healey
          and so then copy protection is kinda of a fools errand at that point.

          David HealeyD 1 Reply Last reply Reply Quote 0
          • David HealeyD
            David Healey @jeffd
            last edited by

            @jeffd said in LGPL Compliance for Commercial Faust Plugins in HISE:

            and so then copy protection is kinda of a fools errand at that point.

            I think it is at any point ;)

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

            J 1 Reply Last reply Reply Quote 1
            • J
              jeffd @David Healey
              last edited by

              @David-Healey
              yeah it is i guess. haha

              J 1 Reply Last reply Reply Quote 0
              • J
                jeffd @jeffd
                last edited by

                @jeffd

                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.

                David HealeyD dannytaurusD 2 Replies Last reply Reply Quote 0
                • David HealeyD
                  David Healey @jeffd
                  last edited by

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

                  https://github.com/thestk/stk/blob/master/LICENSE

                  Free HISE Bootcamp Full Course for beginners.
                  YouTube Channel - Public HISE tutorials
                  My Patreon - HISE tutorials

                  J 1 Reply Last reply Reply Quote 0
                  • J
                    jeffd @David Healey
                    last edited by

                    @David-Healey

                    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");
                    }

                    David HealeyD 1 Reply Last reply Reply Quote 0
                    • David HealeyD
                      David Healey @jeffd
                      last edited by

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

                      Free HISE Bootcamp Full Course for beginners.
                      YouTube Channel - Public HISE tutorials
                      My Patreon - HISE tutorials

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        jeffd @David Healey
                        last edited by

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

                        David HealeyD 1 Reply Last reply Reply Quote 0
                        • David HealeyD
                          David Healey @jeffd
                          last edited by

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

                          Free HISE Bootcamp Full Course for beginners.
                          YouTube Channel - Public HISE tutorials
                          My Patreon - HISE tutorials

                          J dannytaurusD 2 Replies Last reply Reply Quote 0
                          • J
                            jeffd @David Healey
                            last edited by

                            @David-Healey honestly.. i have no idea

                            1 Reply Last reply Reply Quote 0
                            • dannytaurusD
                              dannytaurus @David Healey
                              last edited by dannytaurus

                              @David-Healey Not only do Faust libraries have independent licenses, but also individual function within a single library can have different licenses.

                              Meat Beats: https://meatbeats.com
                              Klippr Video: https://klippr.video

                              1 Reply Last reply Reply Quote 1
                              • dannytaurusD
                                dannytaurus @jeffd
                                last edited by

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

                                Meat Beats: https://meatbeats.com
                                Klippr Video: https://klippr.video

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  jeffd @dannytaurus
                                  last edited by

                                  @dannytaurus

                                  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?

                                  dannytaurusD 1 Reply Last reply Reply Quote 0
                                  • dannytaurusD
                                    dannytaurus @jeffd
                                    last edited by

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

                                    Meat Beats: https://meatbeats.com
                                    Klippr Video: https://klippr.video

                                    J 1 Reply Last reply Reply Quote 0
                                    • J
                                      jeffd @dannytaurus
                                      last edited by

                                      @dannytaurus

                                      is this not it here? https://github.com/grame-cncm/faustlibraries/blob/master/reverbs.lib#L1051,

                                      or is there somewhere else to look?

                                      dannytaurusD 1 Reply Last reply Reply Quote 0
                                      • dannytaurusD
                                        dannytaurus @jeffd
                                        last edited by

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

                                        Meat Beats: https://meatbeats.com
                                        Klippr Video: https://klippr.video

                                        J 1 Reply Last reply Reply Quote 0
                                        • J
                                          jeffd @dannytaurus
                                          last edited by

                                          @dannytaurus
                                          gotcha
                                          ...man, nothing is ever easy.
                                          trying to make a faustian bargain with the dsp devil 👿

                                          and apologies for just typing that haha

                                          dannytaurusD 1 Reply Last reply Reply Quote 2
                                          • dannytaurusD
                                            dannytaurus @jeffd
                                            last edited by

                                            @jeffd Yeah, always a can of worms these things! But better to investigate before you launch than to get bitten later!

                                            Meat Beats: https://meatbeats.com
                                            Klippr Video: https://klippr.video

                                            S 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            25

                                            Online

                                            2.1k

                                            Users

                                            13.2k

                                            Topics

                                            114.4k

                                            Posts