[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 mailing list