[Csnd-dev] Can I release a statically linked csound6~ for Max?
Date | 2022-03-23 19:24 |
From | Iain Duncan |
Subject | [Csnd-dev] Can I release a statically linked csound6~ for Max? |
Hi devs, I have had some requests for this, and want to make sure it's ok to do license wise. Is it possible and acceptable for me to provide the csound6~ external prebuilt for win64, intel mac, and M1 mac, with Csound 6.17 statically linked so it's a larger one-shot install? And if so, are there any technical roadblocks I should beware of?
thanks! iain |
Date | 2022-03-23 19:30 |
From | Steven Yi |
Subject | Re: [Csnd-dev] Can I release a statically linked csound6~ for Max? |
AFAIK, if csound6~ is LGPL it's no problem. On Wed, Mar 23, 2022 at 12:24 PM Iain Duncan |
Date | 2022-03-23 20:24 |
From | Michael Gogins |
Subject | Re: [Csnd-dev] Can I release a statically linked csound6~ for Max? |
Legally I don't believe it is a problem if csound6~ is consistent with the LGPL. On some systems, if a program links with Csound statically but some other library in the same process as the program links with the Csound dynamically, there might be a problem because the operating system's linking loader might not know what to do about symbols that are dynamically linked when it already is running code that is statically linked with the same symbols. If all libraries are dynamically linked this is not a problem. Regards, Mike ----------------------------------------------------- Michael GoginsIrreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Wed, Mar 23, 2022 at 8:30 PM Steven Yi <stevenyi@gmail.com> wrote: AFAIK, if csound6~ is LGPL it's no problem. |
Date | 2022-03-23 20:28 |
From | Iain Duncan |
Subject | Re: [Csnd-dev] Can I release a statically linked csound6~ for Max? |
Thanks Steven and Michael. I had not put a up a license page yet (my mistake!). I take it the best situation is that csound6~ be LGPL to be in sync with Csound? thanks iain On Wed, Mar 23, 2022 at 1:24 PM Michael Gogins <michael.gogins@gmail.com> wrote:
|
Date | 2022-03-24 08:35 | |||||||||||||||||||||||||||||||||||||||||||||||
From | Michael Gogins | |||||||||||||||||||||||||||||||||||||||||||||||
Subject | Re: [Csnd-dev] Can I release a statically linked csound6~ for Max? | |||||||||||||||||||||||||||||||||||||||||||||||
That's simplest. But there are subtleties. What Csound specifically has is the Lesser GNU Public License, version 2.1. It's easiest and probably best just to copy the license (the COPYING file) from the Csound repository into yours. It's also best if you put something like this notice at the top of each of your source code files:
The important detail is that LGPLv2.1 has a clause enabling the author to license under any later version of the license. This means that Csound's license is compatible with the GPLv3 license used by Steinberg's VST3 SDK or by JUCE, and that is important for developing software that uses Csound, such as Rory Walsh's Cabbage or my Csound VST3 opcodes. The Free Software Foundation summarizes these compatibility issues here: https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility. It's a bit complex since my VST3 opcodes copy code both from Steinberg (which is GPLv3) and from Csound (which is LGPLv2.1), but the upshot is, the combination (my VST3 opcodes) is OK and is GPLv3. Best, Mike ----------------------------------------------------- Michael GoginsIrreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Wed, Mar 23, 2022 at 9:28 PM Iain Duncan <iainduncanlists@gmail.com> wrote:
|
Date | 2022-03-24 09:01 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] Can I release a statically linked csound6~ for Max? |
you'll also need to consider libsndfile and its dependencies, because Csound needs it.
A simpler approach would be to package the framework alongside it. You would only need to edit the csound6~ links to
point to the framework lib. If csound6~ has a bundle structure, you can put the framework inside it.
So you can pick up the released 6.17 framework, put it inside the bundle and use install_name_tool to edit the
csound6~ library link. A script would automate the whole thing.
|