Relicense LGPL plugins to MPL
Rationale
The LGPL makes it difficult to statically link code, or even to dynamically link code if there's inlining across license boundaries. It is effectively a license that has the C compilation/linking model built-in and already falls apart easily with C++ templates.
Static linking and aggressive inlining are normal parts of Rust's compilation/linking model.
The MPL-2.0 license is GPL/LGPL/AGPL compatible and more or less provides the same guarantees as the LGPL (weak copyleft, i.e. modifications of the code are to be released under the same terms) but on a per-source-file basis instead of per-library and without technicalities like "dynamic linking".
Plugins
Below are all the plugins and the main contributors. I didn't include "mechanic" contributions (update for API changes, moving files around, etc) but if I forgot anyone please shout.
- audiofx
- loudnorm is a translation of LGPL code, which probably means that this effectively has to stay LGPL?
- Kyle Swanson told me he's OK with re-licensing it under MPL-2. Apart from his code there's not really anything in the ffmpeg code that ended up in the Rust port.
- Contributors
- loudnorm is a translation of LGPL code, which probably means that this effectively has to stay LGPL?
- csound
- Library is LGPL but dynamically linked so it still brings advantage to have the plugin itself MPL
- Contributors
- threadshare
- Contributors
- json
- Contributors
- regex
- Contributors
- textwrap
- Contributors
- fallbackswitch
- Contributors
- togglerecord
- Contributors
- closedcaption
- Contributors
- webp
- Contributors