3 ms·
Why do projects dual-license under MIT and APLv2? All the additional clauses of the APLv2 like patent protection are useless if you also license under MIT.
by nwellnhof 7y ago
Why do projects dual-license under MIT and APLv2? All the additional clauses of the APLv2 like patent protection are useless if you also license under MIT.
- sigzero 7y ago> EITHER the Apache 2.0 License OR the MIT License Not simulatneously.
- JoshTriplett 7y agoConsumers of the project can use either MIT or Apache-2.0, which means the project is compatible with GPLv2 code. Contributors contribute their code granting permission to use under both licenses, which means they're granting the patent grant in Apache-2.0. So, dual-licensing MIT/Apache-2.0 gives you a permissive license with a patent grant and GPLv2-compatibility. That said, if you want a permissive license with a patent grant and GPLv2-compatibility, a simpler choice is the "BSD+Patent" https://opensource.org/licenses/BSDplusPatent https://opensource.org/licenses/BSDplusPatent license, which is just 2-clause BSD plus the Apache-2.0 patent grant.
- Conan_Kudo 7y agoIt's a pretty bad licensing arrangement, actually. I'm honestly surprised the Racket community didn't consider just adding a license exception to the LGPL. Alternatively, ASL 2.0 with exceptions could have worked to make it compatible with the full assortment of GNU licenses. That's the strategy that CUPS and LLVM chose. This weird MIT/ASL 2.0 thing (which clearly was stolen from Rust) is a completely asinine idea, because it forces a situation where it's impossible to verify a patent license grant to users and contributors.