Csound Csound-dev Csound-tekno Search About

[Cs-dev] Cleanroom reverse engineered vst headers

Date2009-02-18 19:56
FromAndres Cabrera
Subject[Cs-dev] Cleanroom reverse engineered vst headers
Hi,

I saw on the ardour page that fst developer Torben Hohn has reversed
engineered the vst protocol and produced a vst header which can
replace the Steinberg vst headers. This means we could now distribute
vst plugin compatibility in binaries distributed on sourceforge.

http://www.joebutton.co.uk/fst/
(The page still mentions you need the original vst sdk, but the
sources contain a new vst header)

Cheers,
Andrés

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2009-02-18 20:46
From"Dr. Richard Boulanger"
SubjectRe: [Cs-dev] Cleanroom reverse engineered vst headers
Andres,

This is wonderful news!!!

There isn't a week that goes by when my students don't ask me for  
Macintosh-based VST compability/functionality
of Csound.  It would be GREAT if we could support this - on all  
platforms that we support.

Who could do it?

-dB


On Feb 18, 2009, at 2:56 PM, Andres Cabrera wrote:

> Hi,
>
> I saw on the ardour page that fst developer Torben Hohn has reversed
> engineered the vst protocol and produced a vst header which can
> replace the Steinberg vst headers. This means we could now distribute
> vst plugin compatibility in binaries distributed on sourceforge.
>
> http://www.joebutton.co.uk/fst/
> (The page still mentions you need the original vst sdk, but the
> sources contain a new vst header)
>
> Cheers,
> Andrés
>
> ------------------------------------------------------------------------------
> Open Source Business Conference (OSBC), March 24-25, 2009, San  
> Francisco, CA
> -OSBC tackles the biggest issue in open source: Open Sourcing the  
> Enterprise
> -Strategies to boost innovation and cut costs with open source  
> participation
> -Receive a $600 discount off the registration fee with the source  
> code: SFAD
> http://p.sf.net/sfu/XcvMzF8H
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2009-02-18 21:02
FromAndres Cabrera
SubjectRe: [Cs-dev] Cleanroom reverse engineered vst headers
Hi,

It's licensed under the GPL. I'm not really clear whether this would
be a problem with Csound being lgpl...

Cheers,
Andrés

On Wed, Feb 18, 2009 at 3:46 PM, Dr. Richard Boulanger
 wrote:
> Andres,
>
> This is wonderful news!!!
>
> There isn't a week that goes by when my students don't ask me for
> Macintosh-based VST compability/functionality
> of Csound.  It would be GREAT if we could support this - on all
> platforms that we support.
>
> Who could do it?
>
> -dB
>
>
> On Feb 18, 2009, at 2:56 PM, Andres Cabrera wrote:
>
>> Hi,
>>
>> I saw on the ardour page that fst developer Torben Hohn has reversed
>> engineered the vst protocol and produced a vst header which can
>> replace the Steinberg vst headers. This means we could now distribute
>> vst plugin compatibility in binaries distributed on sourceforge.
>>
>> http://www.joebutton.co.uk/fst/
>> (The page still mentions you need the original vst sdk, but the
>> sources contain a new vst header)
>>
>> Cheers,
>> Andrés
>>
>> ------------------------------------------------------------------------------
>> Open Source Business Conference (OSBC), March 24-25, 2009, San
>> Francisco, CA
>> -OSBC tackles the biggest issue in open source: Open Sourcing the
>> Enterprise
>> -Strategies to boost innovation and cut costs with open source
>> participation
>> -Receive a $600 discount off the registration fee with the source
>> code: SFAD
>> http://p.sf.net/sfu/XcvMzF8H
>> _______________________________________________
>> Csound-devel mailing list
>> Csound-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>
>
> ------------------------------------------------------------------------------
> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
> -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
> -Strategies to boost innovation and cut costs with open source participation
> -Receive a $600 discount off the registration fee with the source code: SFAD
> http://p.sf.net/sfu/XcvMzF8H
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
>



-- 


Andrés

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2009-02-19 18:38
FromAnthony Kozar
SubjectRe: [Cs-dev] Cleanroom reverse engineered vst headers
GPL is normally a problem for Csound unless the entire (binary) Csound
distribution is distributed under the terms of the GPL.  There are some
ambiguous statements though to the effect that using only headers with
"short" macros and data structures is OK.

Is there a discussion anywhere online about the method that was used to
reverse engineer the VST headers?  I would be cautious about accepting the
legality of these files since the FST project that developed them previously
used the official VST headers.  If Torben Hohn had seen Steinberg's headers,
then that may not be a "cleanroom" situation.  I don't know how you are
supposed to reverse engineer an API though without seeing some headers or
documentation about how it works.  *shrug*

Anthony Kozar
mailing-lists-1001 AT anthonykozar DOT net
http://anthonykozar.net/

Andres Cabrera wrote on 2/18/09 4:02 PM:

> Hi,
> 
> It's licensed under the GPL. I'm not really clear whether this would
> be a problem with Csound being lgpl...
> 
> Cheers,
> Andrés
> 
> On Wed, Feb 18, 2009 at 3:46 PM, Dr. Richard Boulanger
>  wrote:
>> Andres,
>> 
>> This is wonderful news!!!
>> 
>> There isn't a week that goes by when my students don't ask me for
>> Macintosh-based VST compability/functionality
>> of Csound.  It would be GREAT if we could support this - on all
>> platforms that we support.
>> 
>> Who could do it?
>> 
>> -dB
>> 
>> 
>> On Feb 18, 2009, at 2:56 PM, Andres Cabrera wrote:
>> 
>>> Hi,
>>> 
>>> I saw on the ardour page that fst developer Torben Hohn has reversed
>>> engineered the vst protocol and produced a vst header which can
>>> replace the Steinberg vst headers. This means we could now distribute
>>> vst plugin compatibility in binaries distributed on sourceforge.
>>> 
>>> http://www.joebutton.co.uk/fst/
>>> (The page still mentions you need the original vst sdk, but the
>>> sources contain a new vst header)
>>> 
>>> Cheers,
>>> Andrés
>>> 
>>> ----------------------------------------------------------------------------
>>> --
>>> Open Source Business Conference (OSBC), March 24-25, 2009, San
>>> Francisco, CA
>>> -OSBC tackles the biggest issue in open source: Open Sourcing the
>>> Enterprise
>>> -Strategies to boost innovation and cut costs with open source
>>> participation
>>> -Receive a $600 discount off the registration fee with the source
>>> code: SFAD
>>> http://p.sf.net/sfu/XcvMzF8H
>>> _______________________________________________
>>> Csound-devel mailing list
>>> Csound-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>> 
>> 
>> 
----------------------------------------------------------------------------->>
-
>> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
>> -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
>> -Strategies to boost innovation and cut costs with open source participation
>> -Receive a $600 discount off the registration fee with the source code: SFAD
>> http://p.sf.net/sfu/XcvMzF8H
>> _______________________________________________
>> Csound-devel mailing list
>> Csound-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>> 
> 
> 


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2009-02-19 19:15
FromMichael Gogins
SubjectRe: [Cs-dev] Cleanroom reverse engineered vst headers
I share your scepticism about whether the re-engineering was actually
done in a clean manner.  However, technically speaking, it definitely
is possible.

It could be done using an open source VST host program. The reverse
engineer would:

(1) Set a breakpoint when a VSTi is loaded
(2) trace in machine code until a call goes into the VSTi (this does
not require any knowledge of the VSTi source or protocol whatsoever).
(3) Save or print out the stack for that call
(4) Compare the data on the stack with the trace message

Doing this repeatedly for typical VST operations would build a correct
picture of all C signature functions in the VST protocol together with
the VST opcodes and typical data. That should be enough to re-engineer
the thing. You would miss some VST opcodes that nobody ever uses, but
that wouldn't matter since nobody uses them. The low level VST
protocol is pretty simple and doesn't involve very many functions.

The hardest part would be reverse engineering the layout of the VST
structure, but that also could be done by comparing the area pointed
to by the VST call parameter with the values of the VST call
parameters before and after the call. You wouldn't be able to figure
out parts of the structure that only the host uses, but then, there's
no need to understand those so you could just leave blank padding in
your struct.

The VST license agreement forbids re-engineering in toto, but I don't
think that would stand up in court. Of course, I am not a lawyer so I
could be wrong.

Personally, I might be willing to use the reverse engineered headers.

Regards,
Mike

On Thu, Feb 19, 2009 at 1:38 PM, Anthony Kozar
 wrote:
> GPL is normally a problem for Csound unless the entire (binary) Csound
> distribution is distributed under the terms of the GPL.  There are some
> ambiguous statements though to the effect that using only headers with
> "short" macros and data structures is OK.
>
> Is there a discussion anywhere online about the method that was used to
> reverse engineer the VST headers?  I would be cautious about accepting the
> legality of these files since the FST project that developed them previously
> used the official VST headers.  If Torben Hohn had seen Steinberg's headers,
> then that may not be a "cleanroom" situation.  I don't know how you are
> supposed to reverse engineer an API though without seeing some headers or
> documentation about how it works.  *shrug*
>
> Anthony Kozar
> mailing-lists-1001 AT anthonykozar DOT net
> http://anthonykozar.net/
>
> Andres Cabrera wrote on 2/18/09 4:02 PM:
>
>> Hi,
>>
>> It's licensed under the GPL. I'm not really clear whether this would
>> be a problem with Csound being lgpl...
>>
>> Cheers,
>> Andrés
>>
>> On Wed, Feb 18, 2009 at 3:46 PM, Dr. Richard Boulanger
>>  wrote:
>>> Andres,
>>>
>>> This is wonderful news!!!
>>>
>>> There isn't a week that goes by when my students don't ask me for
>>> Macintosh-based VST compability/functionality
>>> of Csound.  It would be GREAT if we could support this - on all
>>> platforms that we support.
>>>
>>> Who could do it?
>>>
>>> -dB
>>>
>>>
>>> On Feb 18, 2009, at 2:56 PM, Andres Cabrera wrote:
>>>
>>>> Hi,
>>>>
>>>> I saw on the ardour page that fst developer Torben Hohn has reversed
>>>> engineered the vst protocol and produced a vst header which can
>>>> replace the Steinberg vst headers. This means we could now distribute
>>>> vst plugin compatibility in binaries distributed on sourceforge.
>>>>
>>>> http://www.joebutton.co.uk/fst/
>>>> (The page still mentions you need the original vst sdk, but the
>>>> sources contain a new vst header)
>>>>
>>>> Cheers,
>>>> Andrés
>>>>
>>>> ----------------------------------------------------------------------------
>>>> --
>>>> Open Source Business Conference (OSBC), March 24-25, 2009, San
>>>> Francisco, CA
>>>> -OSBC tackles the biggest issue in open source: Open Sourcing the
>>>> Enterprise
>>>> -Strategies to boost innovation and cut costs with open source
>>>> participation
>>>> -Receive a $600 discount off the registration fee with the source
>>>> code: SFAD
>>>> http://p.sf.net/sfu/XcvMzF8H
>>>> _______________________________________________
>>>> Csound-devel mailing list
>>>> Csound-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>
>>>
>>>
> ----------------------------------------------------------------------------->>
> -
>>> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
>>> -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
>>> -Strategies to boost innovation and cut costs with open source participation
>>> -Receive a $600 discount off the registration fee with the source code: SFAD
>>> http://p.sf.net/sfu/XcvMzF8H
>>> _______________________________________________
>>> Csound-devel mailing list
>>> Csound-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>
>>
>>
>
>
> ------------------------------------------------------------------------------
> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
> -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
> -Strategies to boost innovation and cut costs with open source participation
> -Receive a $600 discount off the registration fee with the source code: SFAD
> http://p.sf.net/sfu/XcvMzF8H
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
>



-- 
Michael Gogins
Irreducible Productions
Michael dot Gogins at gmail dot com

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2009-02-19 20:02
FromAndres Cabrera
SubjectRe: [Cs-dev] Cleanroom reverse engineered vst headers
Hi,

Investigating some more about this, I've found the header actually
comes from LMMS and was written in 2006:

 * Copyright (c) 2006 Javier Serrano Polo 
 *
 * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net

In the LMMS-devel list (which can be found in nabble), there are some
discussions about this. It's odd this header hasn't been more
prominenty used before, but the Ardour project recently announced it
would be distributing binaries which include vst support.

Cheers,
Andrés



On Thu, Feb 19, 2009 at 2:15 PM, Michael Gogins
 wrote:
> I share your scepticism about whether the re-engineering was actually
> done in a clean manner.  However, technically speaking, it definitely
> is possible.
>
> It could be done using an open source VST host program. The reverse
> engineer would:
>
> (1) Set a breakpoint when a VSTi is loaded
> (2) trace in machine code until a call goes into the VSTi (this does
> not require any knowledge of the VSTi source or protocol whatsoever).
> (3) Save or print out the stack for that call
> (4) Compare the data on the stack with the trace message
>
> Doing this repeatedly for typical VST operations would build a correct
> picture of all C signature functions in the VST protocol together with
> the VST opcodes and typical data. That should be enough to re-engineer
> the thing. You would miss some VST opcodes that nobody ever uses, but
> that wouldn't matter since nobody uses them. The low level VST
> protocol is pretty simple and doesn't involve very many functions.
>
> The hardest part would be reverse engineering the layout of the VST
> structure, but that also could be done by comparing the area pointed
> to by the VST call parameter with the values of the VST call
> parameters before and after the call. You wouldn't be able to figure
> out parts of the structure that only the host uses, but then, there's
> no need to understand those so you could just leave blank padding in
> your struct.
>
> The VST license agreement forbids re-engineering in toto, but I don't
> think that would stand up in court. Of course, I am not a lawyer so I
> could be wrong.
>
> Personally, I might be willing to use the reverse engineered headers.
>
> Regards,
> Mike
>
> On Thu, Feb 19, 2009 at 1:38 PM, Anthony Kozar
>  wrote:
>> GPL is normally a problem for Csound unless the entire (binary) Csound
>> distribution is distributed under the terms of the GPL.  There are some
>> ambiguous statements though to the effect that using only headers with
>> "short" macros and data structures is OK.
>>
>> Is there a discussion anywhere online about the method that was used to
>> reverse engineer the VST headers?  I would be cautious about accepting the
>> legality of these files since the FST project that developed them previously
>> used the official VST headers.  If Torben Hohn had seen Steinberg's headers,
>> then that may not be a "cleanroom" situation.  I don't know how you are
>> supposed to reverse engineer an API though without seeing some headers or
>> documentation about how it works.  *shrug*
>>
>> Anthony Kozar
>> mailing-lists-1001 AT anthonykozar DOT net
>> http://anthonykozar.net/
>>
>> Andres Cabrera wrote on 2/18/09 4:02 PM:
>>
>>> Hi,
>>>
>>> It's licensed under the GPL. I'm not really clear whether this would
>>> be a problem with Csound being lgpl...
>>>
>>> Cheers,
>>> Andrés
>>>
>>> On Wed, Feb 18, 2009 at 3:46 PM, Dr. Richard Boulanger
>>>  wrote:
>>>> Andres,
>>>>
>>>> This is wonderful news!!!
>>>>
>>>> There isn't a week that goes by when my students don't ask me for
>>>> Macintosh-based VST compability/functionality
>>>> of Csound.  It would be GREAT if we could support this - on all
>>>> platforms that we support.
>>>>
>>>> Who could do it?
>>>>
>>>> -dB
>>>>
>>>>
>>>> On Feb 18, 2009, at 2:56 PM, Andres Cabrera wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I saw on the ardour page that fst developer Torben Hohn has reversed
>>>>> engineered the vst protocol and produced a vst header which can
>>>>> replace the Steinberg vst headers. This means we could now distribute
>>>>> vst plugin compatibility in binaries distributed on sourceforge.
>>>>>
>>>>> http://www.joebutton.co.uk/fst/
>>>>> (The page still mentions you need the original vst sdk, but the
>>>>> sources contain a new vst header)
>>>>>
>>>>> Cheers,
>>>>> Andrés
>>>>>
>>>>> ----------------------------------------------------------------------------
>>>>> --
>>>>> Open Source Business Conference (OSBC), March 24-25, 2009, San
>>>>> Francisco, CA
>>>>> -OSBC tackles the biggest issue in open source: Open Sourcing the
>>>>> Enterprise
>>>>> -Strategies to boost innovation and cut costs with open source
>>>>> participation
>>>>> -Receive a $600 discount off the registration fee with the source
>>>>> code: SFAD
>>>>> http://p.sf.net/sfu/XcvMzF8H
>>>>> _______________________________________________
>>>>> Csound-devel mailing list
>>>>> Csound-devel@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>>
>>>>
>>>>
>> ----------------------------------------------------------------------------->>
>> -
>>>> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
>>>> -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
>>>> -Strategies to boost innovation and cut costs with open source participation
>>>> -Receive a $600 discount off the registration fee with the source code: SFAD
>>>> http://p.sf.net/sfu/XcvMzF8H
>>>> _______________________________________________
>>>> Csound-devel mailing list
>>>> Csound-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>>
>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
>> -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
>> -Strategies to boost innovation and cut costs with open source participation
>> -Receive a $600 discount off the registration fee with the source code: SFAD
>> http://p.sf.net/sfu/XcvMzF8H
>> _______________________________________________
>> Csound-devel mailing list
>> Csound-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>>
>
>
>
> --
> Michael Gogins
> Irreducible Productions
> Michael dot Gogins at gmail dot com
>
> ------------------------------------------------------------------------------
> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
> -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
> -Strategies to boost innovation and cut costs with open source participation
> -Receive a $600 discount off the registration fee with the source code: SFAD
> http://p.sf.net/sfu/XcvMzF8H
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
>



-- 


Andrés

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2009-02-19 21:07
FromAnthony Kozar
SubjectRe: [Cs-dev] Cleanroom reverse engineered vst headers
This is interesting.  I assumed it was possible to figure out function calls
(although with no guarantee of completeness).  The main difficulty that I
would anticipate would be constants and macro definitions that are used by
VST(i) plugin code but that I assume would not be visible in a debugger (?).

I doubt that I have any time for looking into the methods that were used but
if other major open-source projects are using the non-Steinberg headers,
then I will not object to their use in Csound (assuming their license is
compatible).

I think that a person can agree in a contract to give up their normal rights
under the law.  Presumably, the person who reverse engineered the headers
though has never agreed to the VST developer's license and therefore would
not be subject to its restrictions.

Anthony  

Michael Gogins wrote on 2/19/09 2:15 PM:

> I share your scepticism about whether the re-engineering was actually
> done in a clean manner.  However, technically speaking, it definitely
> is possible.
> 
> It could be done using an open source VST host program. The reverse
> engineer would:

> [...] 

> Doing this repeatedly for typical VST operations would build a correct
> picture of all C signature functions in the VST protocol together with
> the VST opcodes and typical data. [...]
 
> The hardest part would be reverse engineering the layout of the VST
> structure, [...]

> The VST license agreement forbids re-engineering in toto, but I don't
> think that would stand up in court. Of course, I am not a lawyer so I
> could be wrong.
> 
> Personally, I might be willing to use the reverse engineered headers.


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2009-02-19 21:16
FromAndres Cabrera
SubjectRe: [Cs-dev] Cleanroom reverse engineered vst headers
Hi,

On Thu, Feb 19, 2009 at 4:07 PM, Anthony Kozar
 wrote:
> This is interesting.  I assumed it was possible to figure out function calls
> (although with no guarantee of completeness).  The main difficulty that I
> would anticipate would be constants and macro definitions that are used by
> VST(i) plugin code but that I assume would not be visible in a debugger (?).
>
> I doubt that I have any time for looking into the methods that were used but
> if other major open-source projects are using the non-Steinberg headers,
> then I will not object to their use in Csound (assuming their license is
> compatible).
>

The license is GPL. I'm still not clear whether this is actually a
problem or not, since in this case it would involve a plugin which is
not required to build or run csound, and is dynamically loaded. So I
would think the code can be GPL and still be distributed with an LGPL
Csound binary, but I'm not sure...

> I think that a person can agree in a contract to give up their normal rights
> under the law.  Presumably, the person who reverse engineered the headers
> though has never agreed to the VST developer's license and therefore would
> not be subject to its restrictions.
>

The author said in the LMMS-devel mailing list that he never agreed to
the SDK's license, and never saw the actual SDK.

Cheers,
Andrés

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2009-02-20 06:29
FromAnthony Kozar
SubjectRe: [Cs-dev] Cleanroom reverse engineered vst headers
Andres Cabrera wrote on 2/19/09 4:16 PM:

> The license is GPL. I'm still not clear whether this is actually a
> problem or not, since in this case it would involve a plugin which is
> not required to build or run csound, and is dynamically loaded. So I
> would think the code can be GPL and still be distributed with an LGPL
> Csound binary, but I'm not sure...

The situation appears simple on the surface but may be more complicated than
it seems.  The clear intention of the GPL is to prevent linking, whether at
compile time or run time, with software that is not under a compatible
license.  The LGPL is compatible with the GPL, so it _appears_ to be OK.

But Csound linking with a GPL plugin is a complicated situation because
Csound is itself a dynamic library.  Csound's LGPL license opens the door to
non-open-source software linking to it.  If we build and distribute a GPL
plugin with Csound, this would _appear_ to allow non-open-source software to
link with the GPL plugin indirectly via Csound.  In order to avoid this
situation, I think that the GPL license demands that we distribute Csound
under the GPL instead of the LGPL whenever we include a GPL plugin with it.

There is still a situation though that is ambiguous for me: when the GPL
plugin is distributed separately from Csound (possibly by a third party).
For example, normally a user can legally install both Csound and MacCsound
(non-open-source) without thinking about it.  But if such a user installs a
GPL plugin not included with Csound, are they still allowed to use MacCsound
with that plugin?  I would think that this should be OK because the GPL and
LGPL both say that they only apply to copying/distributing/modifying, not
merely to using the software.  However the position of the Free Software
Foundation is that loading an executable and a shared library into the same
process so that they are linked at run time constitutes the creation of a
derived work and therefore requires accepting the license to do so.  To the
best of my knowledge there is no statute or court case that confirms or
contradicts this assertion.  But without this argument, the GPL cannot fully
protect software from being exploited by proprietary programs.

Personally, I am skeptical that a plugin which is only loaded at run time
should be able to affect the licensing terms of a program that loads it.
Nevertheless, this was the reason that we stopped distributing the GPL'd
Loris plugin with Csound.

> The author said in the LMMS-devel mailing list that he never agreed to
> the SDK's license, and never saw the actual SDK.

That's good.  Thanks very much for looking into this!

Anthony


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net