After efforts since last year, LLVM, the set of compiler building tools is closer towards an Apache 2.0 license. Currently, the project has its own open source licence created by the LLVM team. This is a move to go forward with Apache 2.0 based on the mailing list discussions.
Why the shift to Apache 2.0?
The current licence is a bit vague and was not very welcoming to contributors and had some patent issues. Hence, they decided to shift to the industry standard Apache 2.0. The new licence was drafted by Heather Meeker, the same lawyer who worked on the Commons Clause. The goals of the relicensing as listed on their website are:
- Encourage ongoing contributions to LLVM by preserving a low barrier to entry for contributors.
- Protect users of LLVM code by providing explicit patent protection in the license.
- Protect contributors to the LLVM project by explicitly scoping their patent contributions with this license.
- Eliminate the schism between runtime libraries and the rest of the compiler that makes it difficult to move code between them.
- Ensure that LLVM runtime libraries may be used by other open source and proprietary compilers.
The plan to shift LLVM to Apache 2.0
The relicence is not just Apache 2.0, the license header reads “Apache License v2.0 with LLVM Exceptions”. The exceptions are related to compiling source code. To know more about the exceptions follow the mailing list. The team plans to install the new license and the developer policy that references the new and old licenses. At this point, all subsequent contributions will be under both these licenses. They have a two-fold plan to ensure the contributors are aware.
- They’re going to ask many active contributors (both enterprises and individuals) to explicitly sign an agreement to relicense their contributions. Signing will make the change clear and known while also covering historical contributions.
- For any other contributors, their commit access will be revoked until the LLVM organization can confirm that they are covered by one of the agreements.
For the plan to work, both individuals and companies need to sign an agreement to relicense. They have built a process for both companies and individuals.
Individuals will have to fill out a form with the necessary information like email addresses, potential employers, etc. to effectively relicense your contributions. The form contains a link to a DocuSign agreement to relicense any of your individual contributions under the new license.
Signing the document will make things easier as it will avoid confusion in contributions and if it is covered by some company. The form and agreement is available on Google forms.
There is a DocuSign agreement for companies too. Some companies like Argonne National Laboratory and Google have already signed the agreement.
There will be no explicit copyright notice as they don’t feel it is worthwhile. The current planned timeline is to install the new developer policy and the new license after LLVM 8.0 release in January 2019. For more details, you can read the mail.