Csound Csound-dev Csound-tekno Search About

[Csnd-dev] Can I release a statically linked csound6~ for Max?

Date2022-03-23 19:24
FromIain 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

Date2022-03-23 19:30
FromSteven Yi
SubjectRe: [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  wrote:
>
> 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!

Date2022-03-23 20:24
FromMichael Gogins
SubjectRe: [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 Gogins
Irreducible 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.

On Wed, Mar 23, 2022 at 12:24 PM Iain Duncan <iainduncanlists@gmail.com> wrote:
>
> 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

Date2022-03-23 20:28
FromIain Duncan
SubjectRe: [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:
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 Gogins
Irreducible 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.

On Wed, Mar 23, 2022 at 12:24 PM Iain Duncan <iainduncanlists@gmail.com> wrote:
>
> 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

Date2022-03-24 08:35
FromMichael Gogins
SubjectRe: [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:
/*
csound.h:
Copyright (C) 2003 2005 2008 2013 by John ffitch, Istvan Varga,
Mike Gogins, Victor Lazzarini,
Andres Cabrera, Steven Yi
This file is part of Csound.
The Csound Library is free software; you can redistribute it
and/or modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
Csound is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with Csound; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
02110-1301 USA
*/

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 Gogins
Irreducible 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:
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:
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 Gogins
Irreducible 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.

On Wed, Mar 23, 2022 at 12:24 PM Iain Duncan <iainduncanlists@gmail.com> wrote:
>
> 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

Date2022-03-24 09:01
FromVictor Lazzarini
SubjectRe: [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.


On 23 Mar 2022, at 19:24, Iain Duncan <iainduncanlists@GMAIL.COM> wrote:

*Warning*

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
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