[GH-ISSUE #14] VST3 support #7

Open
opened 2026-05-05 22:01:19 -06:00 by gitea-mirror · 7 comments
Owner

Originally created by @fpesari on GitHub (Jun 3, 2020).
Original GitHub issue: https://github.com/airwindows/airwindows/issues/14

Hello,

first, hats off for the great work!

As you know, VST2 is discontinued by Steinberg and nobody is legally allowed to distribute it (else, their repo risks getting DMCA'd).

For the future of these plugins, it'd be great if they ran on VST3 (which would require a relicensing of Airwindows from MIT to GPLv3 for license compatibility, I think), so they can be easily built and shipped by distros like Debian, openSUSE, Ubuntu and others.

(I am not even proposing LV2 support because you already know VST2 and you have a large Windows userbase, I assume, but with LV2 there'd be no need to relicense to GPLv3 and I think LV2's minimalist design suits well your plugins)

Originally created by @fpesari on GitHub (Jun 3, 2020). Original GitHub issue: https://github.com/airwindows/airwindows/issues/14 Hello, first, hats off for the great work! As you know, VST2 is discontinued by Steinberg and nobody is legally allowed to distribute it (else, their repo risks getting [DMCA'd](https://github.com/github/dmca/search?q=vst&unscoped_q=vst)). For the future of these plugins, it'd be great if they ran on VST3 (which would require a relicensing of Airwindows from MIT to GPLv3 for license compatibility, I think), so they can be easily built and shipped by distros like Debian, openSUSE, Ubuntu and others. (I am not even proposing [LV2](https://lv2plug.in/) support because you already know VST2 and you have a large Windows userbase, I assume, but with LV2 there'd be no need to relicense to GPLv3 and I think LV2's minimalist design suits well your plugins)
Author
Owner

@uncajesse commented on GitHub (Feb 15, 2021):

the SDKs aren't on this repo so it doesn't make sense that there could be any issue for Steinberg or a license conflict with VST3.

<!-- gh-comment-id:778960761 --> @uncajesse commented on GitHub (Feb 15, 2021): the SDKs aren't on this repo so it doesn't make sense that there could be any issue for Steinberg or a license conflict with VST3.
Author
Owner

@dromer commented on GitHub (Feb 20, 2021):

^ take it up with Richard Stallman and Steinberg. GPLv3 isn't called "viral" for nothing.

LV2 is indeed a very permissive, and minimalist, license that allows both free and proprietary software derived from it.

Having looked a bit at the source-code (I was trying to build it with the https://github.com/DISTRHO/DPF/blob/master/distrho/src/vestige/vestige.h reverse engineered header) I ran into quite some core vst2sdk functionality being used. This would be quite some work to reveng (and no idea how deep that rabbit hole goes) back into vestige.

However I do agree that it's currently very difficult to attain a working vst2sdk (steinberg really did their best to get it removed from the internet). Which means that airwindows is currently very hard to build yourself.

I'd say to future-proof the airwindows plugins maybe it's easiest to try and remove as much of the vst2 functions as possible (quite some refactoring to all of airwindows) and then use the vestige.h header file to provide the vst2 spec, so we then can at least build and use these plugins on compatible hosts.

<!-- gh-comment-id:782761167 --> @dromer commented on GitHub (Feb 20, 2021): ^ take it up with Richard Stallman and Steinberg. GPLv3 isn't called "viral" for nothing. LV2 is indeed a very permissive, and minimalist, license that allows both free and proprietary software derived from it. Having looked a bit at the source-code (I was trying to build it with the https://github.com/DISTRHO/DPF/blob/master/distrho/src/vestige/vestige.h reverse engineered header) I ran into quite some core vst2sdk functionality being used. This would be quite some work to reveng (and no idea how deep that rabbit hole goes) back into vestige. However I do agree that it's currently very difficult to attain a working vst2sdk (steinberg really did their best to get it removed from the internet). Which means that airwindows is currently very hard to build yourself. I'd say to future-proof the airwindows plugins maybe it's easiest to try and remove as much of the vst2 functions as possible (quite some refactoring to all of airwindows) and then use the `vestige.h` header file to provide the vst2 spec, so we then can at least build and use these plugins on compatible hosts.
Author
Owner

@NotAFile commented on GitHub (Oct 22, 2021):

which would require a relicensing of Airwindows from MIT to GPLv3 for license compatibility, I think

That is not true. Not every component of a program that uses GPL code has to be GPL licensed, that would be ridiculous. A program that contains both MIT and GPL licensed code does have to comply with both licenses though. But this is not a problem as the MIT license has less restrictions than the GPL anyway.

<!-- gh-comment-id:949164274 --> @NotAFile commented on GitHub (Oct 22, 2021): > which would require a relicensing of Airwindows from MIT to GPLv3 for license compatibility, I think That is not true. Not every component of a program that uses GPL code has to be GPL licensed, that would be ridiculous. A program that contains both MIT and GPL licensed code does have to comply with both licenses though. But this is not a problem as the MIT license has less restrictions than the GPL anyway.
Author
Owner

@fpesari commented on GitHub (Oct 22, 2021):

That is not true. Not every component of a program that uses GPL code has to be GPL licensed

The GPLv3 has no linking exception. This means that if you link your program against a GPLv3 program, your program must be released under the GPLv3. It is true that AFAIK no court affirmed it but this is the intent of the GPL and the reason for which the LGPL exists.

<!-- gh-comment-id:949326555 --> @fpesari commented on GitHub (Oct 22, 2021): > That is not true. Not every component of a program that uses GPL code has to be GPL licensed The GPLv3 has no linking exception. This means that if you link your program against a GPLv3 program, your program must be released under the GPLv3. It is true that AFAIK no court affirmed it but this is the intent of the GPL and the reason for which the LGPL exists.
Author
Owner

@dromer commented on GitHub (Oct 22, 2021):

My suggestion would actually be to move the project to DPF then have a single wrapper that targets dssi/ladspa/lv2/vst2/vst3 cross-platform (win/mac/lin), without steinberg.

<!-- gh-comment-id:949389597 --> @dromer commented on GitHub (Oct 22, 2021): My suggestion would actually be to move the project to DPF then have a single wrapper that targets dssi/ladspa/lv2/vst2/vst3 cross-platform (win/mac/lin), without steinberg.
Author
Owner

@NotAFile commented on GitHub (Oct 22, 2021):

This means that if you link your program against a GPLv3 program, your program must be released under the GPLv3

Yes, it means that the terms of the GPLv3 applies to the whole completed program, as would the terms of the MIT license. But that does not mean every individual component of the program has to be GPLv3 licensed. Whole vs it's parts. A program needing to comply with the GPLv3 and the source code being licensed under the GPLv3 are not the same thing.

Otherwise GPLv3 programs could not use libraries like libc or curl or many many more, which would be ridiculous and is obviously not the case.

<!-- gh-comment-id:949551815 --> @NotAFile commented on GitHub (Oct 22, 2021): > This means that if you link your program against a GPLv3 program, your program must be released under the GPLv3 Yes, it means that the terms of the GPLv3 applies to the whole completed program, as would the terms of the MIT license. But that does not mean every individual component of the program has to be GPLv3 licensed. Whole vs it's parts. A program needing to comply with the GPLv3 and the source code being licensed under the GPLv3 are not the same thing. Otherwise GPLv3 programs could not use libraries like libc or curl or many many more, which would be ridiculous and is obviously not the case.
Author
Owner

@fpesari commented on GitHub (Oct 22, 2021):

Otherwise GPLv3 programs could not use libraries like libc or curl or many many more, which would be ridiculous and is obviously not the case.

Neither libc or libcurl are GPL-licensed, though, so this case is a bit different 😃

But that does not mean every individual component of the program has to be GPLv3 licensed.

What you say is possible but I think you have to abstract the plugin code so that it can be functional regardless of VST3. I am not a lawyer but if it weren't so, wouldn't Steinberg have picked a different business model than selling GPL exceptions for VST3 plugins?

I second @dromer's suggestion, I think it's the best and makes everything easier to maintain in the long run. But not for license-related issues, I personally think the GPL is a good license (because it prevents people from profiting from other people's work without giving back anything)

<!-- gh-comment-id:949570437 --> @fpesari commented on GitHub (Oct 22, 2021): > Otherwise GPLv3 programs could not use libraries like libc or curl or many many more, which would be ridiculous and is obviously not the case. Neither libc or libcurl are GPL-licensed, though, so this case is a bit different :smiley: > But that does not mean every individual component of the program has to be GPLv3 licensed. What you say is possible but I think you have to abstract the plugin code so that it can be functional regardless of VST3. I am not a lawyer but if it weren't so, wouldn't Steinberg have picked a different business model than selling GPL exceptions for VST3 plugins? I second @dromer's suggestion, I think it's the best and makes everything easier to maintain in the long run. But not for license-related issues, I personally think the GPL is a good license (because it prevents people from profiting from other people's work without giving back anything)
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/airwindows#7
No description provided.