Using the Runtime Library Exception extension to the Apache 2.0 license

The Swift license includes the Runtime Library Exception, allowing end users of Swift to "feel unrestricted to create great software", which is valuable for removing the burden of attribution.

This version of the license is also used in various packages, such as swift-argument-parser, similarly allowing their unrestricted consumption.

I think this exception would be valuable for third parties to use in their own packages' licensing, however it's unclear to me whether copyright would apply to that text and therefore unclear whether it would be permissible to copy and redistribute the text in that way.

My assumption is that copyright will apply and in the absence of anything granting permission, the default "don't copy" will apply. Perhaps it would fall under fair usage in jurisdictions where that exists but that's also murky without getting lawyers involved.

I would like to see some text added to that license page which clearly states either that the "Swift license" may be used to license one's own software or that the "Runtime Library Exception" may be re-used to extend one's own use of the Apache 2.0 license.

Not a lawyer, but:

The "Runtime Library Exception" appears to come from the LLVM License:

---- LLVM Exceptions to the Apache 2.0 License ----

As an exception, if, as a result of your compiling your source code, portions
of this Software are embedded into an Object form of such source code, you
may redistribute such embedded portions in such Object form without complying
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.

[...]

It was added as part of their 2017 relicensing effort.

I doubt LLVM is going to enforce their copyright over that paragraph -- I think it is intended to be used by others (e.g. downstream compiler projects such as Swift). From Chris' email:

The concern there is that users of LLVM compilers (e.g. Clang) would not necessarily know that runtime libraries are implicitly linked into their application, and thus fail to attribute the LLVM project in binaries. The LLVM project generally isn’t widely concerned with binary attribution, but widespread noncompliance with license terms can lead to problems enforcing other terms in the license.

But if you really need an explicit grant to use it for your own projects, I think they're likely the ones to ask since they appear to have drafted the language.

2 Likes

Thanks for this information. Following the mailing list discussion through to the SPDX project, not something I was aware of previously, had some useful insights.

For the SPDX license list, they set out inclusion principles which describes factors for the inclusion of licenses and exceptions in the lists.

The other factors (1) states:

The license substantially complies with one of the following open source definitions (even if not submitted for approval or these organization have not considered the license):

  • Open Source Definition (OSD) from the Open Source Initiative (OSI)
  • Free Software Definition from the Free Software Foundation (FSF)
  • Open Source Hardware Definition from the Open Source Hardware Association (OSHWA)
  • Open Definition from the Open Knowledge Foundation
  • Free Cultural Works definition from Freedom Defined.org

Other factors (5) states:

The license steward supports or is at least aware of and does not oppose its submission to the SPDX License List.

Both the LLVM exception you mentioned and the Swift exception are included, implying that the SPDX legal team have evaluated them as a) being compliant with one of the above definitions and b) that LLVM/Apple/Swift knowingly did not oppose their inclusion.

(Also not a lawyer!) This would imply that one can use the exception via the SPDX standard, i.e. // SPDX-License-Identifier: Apache-2.0 WITH Swift-exception, and seemingly implies that the exception is freely redistributable.

I still think it would be helpful to state this on the Swift.org licensing page so that developers of Swift packages can easily find that it is available for their use.

I have never heard of someone suing over their copyright on an OSS license text itself, as you only benefit the more people use your license. You may be technically correct that they may legally be able to do so in some jurisdictions, but given they would not be able to show any damages and could only block you from using their text, it would be insane for any license author to do so.