mirror of
https://github.com/airwindows/airwindows.git
synced 2026-05-15 14:16:00 -06:00
[GH-ISSUE #14] VST3 support #7
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/airwindows#7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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)
@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.
@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.hheader file to provide the vst2 spec, so we then can at least build and use these plugins on compatible hosts.@NotAFile 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, 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.
@fpesari commented on GitHub (Oct 22, 2021):
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.
@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.
@NotAFile commented on GitHub (Oct 22, 2021):
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.
@fpesari commented on GitHub (Oct 22, 2021):
Neither libc or libcurl are GPL-licensed, though, so this case is a bit different 😃
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)