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 As I understand it, anything with an LGPL license that is compiled into a HISE plugin is problematic.

      This is because a condition of the LGPL license is that the end user must be able to replace the LGPL part with their own modified version. Which is impossible I'm a HISE compiled plugin.

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

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

        @cassettedeath I just had a look at filters.lib and noticed that it's actually licensed per function, and many are MIT-style STK-4.3 license. And similar thing in reverbs.lib - many are MIT but some are GPL so be careful.

        Also, 'commercial' isn't the limiting factor here - it's whether your plugin is closed-source or open-source.

        Selling open-source products for money is within the GPL license. Giving away closed-source products breaks the GPL license.

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

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

          @dannytaurus

          Dang it!

          Thank you for the clarification.

          dannytaurusD 2 Replies Last reply Reply Quote 1
          • 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
                                            • First post
                                              Last post

                                            24

                                            Online

                                            2.1k

                                            Users

                                            13.2k

                                            Topics

                                            114.3k

                                            Posts