[llvm-dev] RFC #3: Improving license & patent issues in the LLVM community
Mark Kettenis via llvm-dev
llvm-dev at lists.llvm.org
Sun Apr 23 08:50:34 PDT 2017
> Date: Mon, 17 Apr 2017 07:37:17 -0700
> From: Chris Lattner via llvm-dev <llvm-dev at lists.llvm.org>
Chris and others,
As stated before the APL 2.0 poses a serious problem for OpenBSD as it
contradicts the poject goals of providing a freely distributable base
operating system that includes all the tools to build from source.
What changed since the last time the license change came up is that
OpenBSD now uses clang as the system compiler and lld as the system
compiler to support OpenBSD/arm64, and that we're actively working on
using it on other hardware platforms supported by OpenBSD as well.
OpenBSD developers (myself included) are becoming more involved with
LLVM development as a result.
Triggered by recent discussions related to the proposed OpenSSL
license change our position on the Apache license has been clarified
on the porject goals web page http://www.openbsd.org/policy.html:
The original Apache license was similar to the Berkeley license,
but source code published under version 2 of the Apache license is
subject to additional restrictions and cannot be included into
OpenBSD. In particular, if you use code under the Apache 2 license,
some of your rights will terminate if you claim in court that the
code violates a patent.
A license can only be considered fully permissive if it allows use
by anyone for all the future without giving up any of their
rights. If there are conditions that might terminate any rights in
the future, or if you have to give up a right that you would
otherwise have, even if exercising that right could reasonably be
regarded as morally objectionable, the code is not free.
In addition, the clause about the patent license is problematic
because a patent license cannot be granted under Copyright law, but
only under contract law, which drags the whole license into the
domain of contract law. But while Copyright law is somewhat
standardized by international agreements, contract law differs
wildly among jurisdictions. So what the license means in different
jurisdictions may vary and is hard to predict.
Sadly the changes made over the last few months do not address these
concerns. Especially the "patent termination clause" has not been
removed even though I don't see how that clause is essential to
achieve the goals of the proposed license change.
I also wonder if the international context has been taken into
account. As the recent European LLVM Developers Meeting shows, LLVM
is a very international project so I think this deserves a more
international approach, especially because US copyright is so
hopelessly interlocked in contract law.
More information about the llvm-dev