I'll probably write a pascal wrapper for it, so you may not have to.ModuLR wrote:damn you! now I'lll have no choice but to crack open my dusty c++ books...![]()
Announcement for programmers...
-
- KVRAF
- 4644 posts since 28 Nov, 2002 from Chicago
Someone shot the food. Remember: don't shoot food!
-
- KVRAF
- 4644 posts since 28 Nov, 2002 from Chicago
AFAIUI that is correct, yes.whyterabbyt wrote:So no non-open source libraries can be used with it. Have the VST libraries been open-sourced then? I know VSTGUI has, but if the VST SDK hasnt been, no-one can actually use this to make VST plugins...
Someone shot the food. Remember: don't shoot food!
-
- KVRAF
- 4644 posts since 28 Nov, 2002 from Chicago
You can with LGPL as well.jules wrote: it's GPL - that means I can charge companies who want to use it for a commercial product. Similar kind of deal to libraries like Qt.
Someone shot the food. Remember: don't shoot food!
-
- KVRAF
- 2875 posts since 28 Jan, 2004 from Da Nang, Vietnam
It's perfectly legal for GPL code to load proprietary libraries (witness the linux kernel & nvidia drivers, for instance). It's not legal for proprietary code to link to GPL code though.whyterabbyt wrote:jules quoth
it's GPL - that means I can charge companies who want to use it for a commercial product. Similar kind of deal to libraries like Qt.
So no non-open source libraries can be used with it. Have the VST libraries been open-sourced then? I know VSTGUI has, but if the VST SDK hasnt been, no-one can actually use this to make VST plugins...
Dynamic linking of Juce-based instruments into VST hosts should be ok though.
Jules can also license Juce as a dual-license library, the commercial branch of which allows any use as long as the fees are paid (it sounds like that's exactly what he's doing now).
-
- KVRAF
- 4644 posts since 28 Nov, 2002 from Chicago
No, because the VST plugin needs to use Steinberg's VST SDK, which is not GPL, and cannot therefore without Steinberg's consent be used in GPL projects.kuniklo wrote: Dynamic linking of Juce-based instruments into VST hosts should be ok though.
If you release code as LGPL, I cannot include it in a GPL application, because I am applying the GPL license to it.
You cannot even link to GPL libraries if the link is considered to be core to your application's functionality without bringing your own code under the GPL.
Someone shot the food. Remember: don't shoot food!
-
- KVRist
- 362 posts since 11 Sep, 2002 from Scotland
Licensing issues notwithstanding, this is very cool
, thanks! I'm going to have to spend some time getting to know it
.
I'm not sure that it'll replace wxWidgets for me yet though...
- Niall.
I'm not sure that it'll replace wxWidgets for me yet though...
- Niall.
-
- KVRist
- 105 posts since 19 Oct, 2003
I think we all need to read the GPL very carefully, myself included. I'd read it again if I had time right now, but I thought it worked like this:valley wrote:No, because the VST plugin needs to use Steinberg's VST SDK, which is not GPL, and cannot therefore without Steinberg's consent be used in GPL projects.
o GPL'd code means that if you modify and distribute it, you have to release your modifications under the GPL. It's like that so that someone can't take a great GPL app and build upon it and then release an improved version under a more restrictive license, so that the whole community benefits. You have free access to the source code, and the only restriction is that you must grant the same free access to the source of "derived programs".
o The term "derived programs" is what causes confusion with libraries. The LGPL is intended primarily for libraries. AFAIK, if you make modifications inside the library yourself, you have to release these as you would with a GPL application. However, with LGPL, you can link a program to a library and use its external interfaces without having to release the linking program under the (L)GPL. GPL'd libraries are different - here you must release the source code you write which is derived from the library (i.e. which uses the library). That means that only GPL'd applications can link to GPL'd libraries.
o However, there's nothing stopping you linking a GPL'd application a non-GPL'd, closed-source library. You have to release the code which makes the call to the closed-source library, but since you didn't write this and it is a separate entitiy (loaded via a DLL in windows) which was developed for a purpose other than your application, you're not responsible for making it open source.
As someone said, the Linux kernel links to non-GPL'd code all the time. The same is true for an application like mplayer in Linux, which links to closed-source codec libraries in order to play back movie files.
So as far as I know, we could develop VSTs using JUCE, and it would have to be GPL'd, but we could link to the Steinway VST SDK without violating the license. We would have to make the source code to the VSTs so that it would be accessible to anyone who also had access to the JUCE library, but apart from that, there should be no problem.
If I'm readin that correctly, you're plain wrong. There are hundreds of GPL apps who link to LGPL libraries. They're both endorsed by the same organisation as alternative licenses for different needs, for crying out loud!If you release code as LGPL, I cannot include it in a GPL application, because I am applying the GPL license to it.
This is correct, and it's the main difference between the LGPL and GPL as far as I know. But as you put it, the VST SDK is not your own code!You cannot even link to GPL libraries if the link is considered to be core to your application's functionality without bringing your own code under the GPL.
Martin
"Life is both a major and a minor key"
-- Travis, Side
-- Travis, Side
-
- KVRAF
- 4644 posts since 28 Nov, 2002 from Chicago
Correct.optilude wrote: o However, there's nothing stopping you linking a GPL'd application a non-GPL'd, closed-source library. You have to release the code which makes the call to the closed-source library, but since you didn't write this and it is a separate entitiy (loaded via a DLL in windows) which was developed for a purpose other than your application, you're not responsible for making it open source.
Incorrect, and indeed Steinberg have stated this a number of times.So as far as I know, we could develop VSTs using JUCE, and it would have to be GPL'd, but we could link to the Steinway VST SDK without violating the license. We would have to make the source code to the VSTs so that it would be accessible to anyone who also had access to the JUCE library, but apart from that, there should be no problem.
With the VST SDK, you are not linking to a library, you are including someone elses (Steinberg's) code inside your own. See below:
I didn't say anything about linking libraries, I was talking about including code. If I release a chunk of source code, you cannot use it in a GPL project because that source code becomes part of your source and thus is included under the GPL, which I never gave you the right to do. Read the GPL FAQ as it pertains to "compatible licenses".If I'm readin that correctly, you're plain wrong. There are hundreds of GPL apps who link to LGPL libraries. They're both endorsed by the same organisation as alternative licenses for different needs, for crying out loud!If you release code as LGPL, I cannot include it in a GPL application, because I am applying the GPL license to it.
Anyway, some quotes from the GNU site:
If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL?
Yes, because the program as it is actually run includes the library.
If a program released under the GPL uses plug-ins, what are the requirements for the licenses of a plug-in.
It depends on how the program invokes its plug-ins. If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them.
If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, so plug-ins must be treated as extensions to the main program. This means they must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed.
If the program dynamically links plug-ins, but the communication between them is limited to invoking the `main' function of the plug-in with some options and waiting for it to return, that is a borderline case.
Oh, and BTW talk of OSes is a little fuzzy because the GPL makes explicit exceptions for linking with core or kernel components.
Someone shot the food. Remember: don't shoot food!
-
- KVRAF
- 2875 posts since 28 Jan, 2004 from Da Nang, Vietnam
There's nothing wrong with linking to a proprietary library from a GPL application. Directly including code is, as you correctly state, a violation of the GPL. I haven't built any VSTs myself, so I don't know - when compiling a vst do you simply link to a vst.dll or something or do you actually link VST code into your own dll?valley wrote: Incorrect, and indeed Steinberg have stated this a number of times.
With the VST SDK, you are not linking to a library, you are including someone elses (Steinberg's) code inside your own.
-
- KVRAF
- 4644 posts since 28 Nov, 2002 from Chicago
No, and I didn't actually say there was; I think wires were getting crossed a littkuniklo wrote:There's nothing wrong with linking to a proprietary library from a GPL application.
The SDK is a collection of headers, and virtual classes that you directly include into your own code.Directly including code is, as you correctly state, a violation of the GPL. I haven't built any VSTs myself, so I don't know - when compiling a vst do you simply link to a vst.dll or something or do you actually link VST code into your own dll?
Someone shot the food. Remember: don't shoot food!
-
- KVRAF
- 2875 posts since 28 Jan, 2004 from Da Nang, Vietnam
That's a problem then.valley wrote: The SDK is a collection of headers, and virtual classes that you directly include into your own code.
-
Mr. Slater's Parrot Mr. Slater's Parrot https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=2990
- KVRist
- 315 posts since 8 Jun, 2002
I would love to see a Python binding -- whoa, that would be cool!How hard to you think it would be to integrate bindings for a scripting language like Python or Ruby into this framework?
-
- KVRAF
- 4735 posts since 18 Jul, 2002 from London, UK
It's quite possible to build a working VSTi without including any Steinberg headers (although you would have to either use ideas derived from reading those headers, or reverse engineer a VST host and plug to figure out the interface).
VST is essentially nothing more than a protocol, a set of rules by which two pieces of code can talk to each other. Can such a thing be copyrighted? If in doubt, ask a lawyer

VST is essentially nothing more than a protocol, a set of rules by which two pieces of code can talk to each other. Can such a thing be copyrighted? If in doubt, ask a lawyer
-
Robert Randolph Robert Randolph https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=7328
- KVRAF
- 2226 posts since 25 May, 2003 from Saint Petersburg, Florida
Im fairly sure as long as you do not use steinberg's SDK there is problem... and it's entirely possible to go without....
-
- KVRist
- 105 posts since 19 Oct, 2003
Valley, I take your point. I was mistaken about what the VST SDK did.
Jules, can we have an official word on this? I'd be a great shame if we couldn't develop VSTs with this, as it would seem to be one of the most natural and sensible uses for it, in the short term at least.
I guess worst case, you could offer a dual license for freeware tools, or even a royalty (as e.g. a percentage of sale price) scheme for a commercial license that's also available for currently-free-of-charge applications?
Martin
Jules, can we have an official word on this? I'd be a great shame if we couldn't develop VSTs with this, as it would seem to be one of the most natural and sensible uses for it, in the short term at least.
I guess worst case, you could offer a dual license for freeware tools, or even a royalty (as e.g. a percentage of sale price) scheme for a commercial license that's also available for currently-free-of-charge applications?
Martin
"Life is both a major and a minor key"
-- Travis, Side
-- Travis, Side
