Forum
    • Categories
    • Register
    • Login

    LGPL Compliance for Commercial Faust Plugins in HISE

    Scheduled Pinned Locked Moved Faust Development
    34 Posts 5 Posters 177 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.
    • dannytaurusD
      dannytaurus @cassettedeath
      last edited by dannytaurus

      @cassettedeath Better get an answer from @David-Healey too. He's the expert on real-world usage of GPL and other similarly licensed code.

      I've just read up this a lot to figure out what I can and can't do, since I'm firmly in the closed-source sector for now.

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

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

        @cassettedeath If you pick and choose the permissively licensed functions from those Faust libraries you should be fine.

        And you don't need a commercial license for Faust itself because it's only used as a build tool, and not distributed to the end user.

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

        C 1 Reply Last reply Reply Quote 0
        • C
          cassettedeath @dannytaurus
          last edited by

          @dannytaurus

          Just saw this in the oscillators lib.

          EXCEPTION TO THE LGPL LICENSE : As a special exception, you may create a
          larger FAUST program which directly or indirectly imports this library
          file and still distribute the compiled code generated by the FAUST
          compiler, or a modified version of this compiled code, under your own
          copyright and license. This EXCEPTION TO THE LGPL LICENSE explicitly
          grants you the right to freely choose the license for the resulting
          compiled code. In particular the resulting compiled code has no obligation
          to be LGPL or GPL. For example you are free to choose a commercial or
          closed source license or any other license if you decide so.

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

            @cassettedeath That changes everything! 😂

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

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

              @dannytaurus

              are these libraries here:

              https://faustdoc.grame.fr/examples/reverb/

              mit or lgpl?

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

                @jeffd They all look to be part of stdfaust.lib so should be STK license I believe.

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

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

                  @David-Healey

                  is this problematic --- using the demos.lib from faust?

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

                    @David-Healey

                    im seeing that im using "GPL2+" in my faust delay i compiled in the .cpp file.

                    so that means I cant use this commercially?

                    unless I am misunderstanding something.

                    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:

                      so that means I cant use this commercially?

                      Commercial has nothing to do with the license, so don't worry about that.

                      The license just determines what code you can include in your project. If you are releasing your project under the GNU GPLv3 (this is what HISE uses) then you can only include code that is compatible with that license.

                      If you are releasing your project as closed source (HISE proprietary license) then you can't include any GPL code, unless you have a license from the author of that code which allows you to.

                      The GPL is generally backwards compatible so if the code you want to use is GPLv2 or later (I think that's what the + means here) then you can use it 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

                        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
                                            • First post
                                              Last post

                                            24

                                            Online

                                            2.1k

                                            Users

                                            13.2k

                                            Topics

                                            114.3k

                                            Posts