Skip to content
Snippets Groups Projects
  1. Nov 08, 2022
    • Luis Chamberlain's avatar
      LICENSES: Add the copyleft-next-0.3.1 license · ad9f64cd
      Luis Chamberlain authored
      Add the full text of the copyleft-next-0.3.1 license to the kernel
      tree as well as the required tags for reference and tooling.
      The license text was copied directly from the copyleft-next project's
      git tree [0].
      
      Discussion of using copyleft-next-0.3.1 on Linux started since June,
      2016 [1]. In the end Linus' preference was to have drivers use
      MODULE_LICENSE("GPL") to make it clear that the GPL applies when it
      comes to Linux [2]. Additionally, even though copyleft-next-0.3.1 has
      been found to be to be GPLv2 compatible by three attorneys at SUSE and
      Redhat [3], to err on the side of caution we simply recommend to
      always use the "OR" language for this license [4].
      
      Even though it has been a goal of the project to be GPL-v2 compatible
      to be certain in 2016 I asked for a clarification about what makes
      copyleft-next GPLv2 compatible and also asked for a summary of
      benefits. This prompted some small minor changes to make compatibility
      even further clear and as of copyleft 0.3.1 compatibility should
      be crystal clear [5].
      
      The summary of why copyleft-next 0.3.1 is compatible with GPLv2
      is explained as follows:
      
        Like GPLv2, copyleft-next requires distribution of derivative works
        ("Derived Works" in copyleft-next 0.3.x) to be under the same license.
        Ordinarily this would make the two licenses incompatible. However,
        copyleft-next 0.3.1 says: "If the Derived Work includes material
        licensed under the GPL, You may instead license the Derived Work under
        the GPL." "GPL" is defined to include GPLv2.
      
      In practice this means copyleft-next code in Linux may be licensed
      under the GPL2, however there are additional obvious gains for
      bringing contributions from Linux outbound where copyleft-next is
      preferred. A summary of benefits why projects outside of Linux might
      prefer to use copyleft-next >= 0.3.1 over GPLv2:
      
      o It is much shorter and simpler
      o It has an explicit patent license grant, unlike GPLv2
      o Its notice preservation conditions are clearer
      o More free software/open source licenses are compatible
        with it (via section 4)
      o The source code requirement triggered by binary distribution
        is much simpler in a procedural sense
      o Recipients potentially have a contract claim against distributors
        who are noncompliant with the source code requirement
      o There is a built-in inbound=outbound policy for upstream
        contributions (cf. Apache License 2.0 section 5)
      o There are disincentives to engage in the controversial practice
        of copyleft/ proprietary dual-licensing
      o In 15 years copyleft expires, which can be advantageous
        for legacy code
      o There are explicit disincentives to bringing patent infringement
        claims accusing the licensed work of infringement (see 10b)
      o There is a cure period for licensees who are not compliant
        with the license (there is no cure opportunity in GPLv2)
      o copyleft-next has a 'built-in or-later' provision
      
      The first driver submission to Linux under this dual strategy was
      lib/test_sysctl.c through commit 9308f2f9 ("test_sysctl: add
      dedicated proc sysctl test driver") merged in July 2017. Shortly after
      that I also added test_kmod through commit d9c6a72d ("kmod: add
      test driver to stress test the module loader") in the same month. These
      two drivers went in just a few months before the SPDX license practice
      kicked in. In 2018 Kuno Woudt went through the process to get SPDX
      identifiers for copyleft-next [6] [7]. Although there are SPDX tags
      for copyleft-next-0.3.0, we only document use in Linux starting from
      copyleft-next-0.3.1 which makes GPLv2 compatibility crystal clear.
      
      This patch will let us update the two Linux selftest drivers in
      subsequent patches with their respective SPDX license identifiers and
      let us remove repetitive license boiler plate.
      
      [0] https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.1
      [1] https://lore.kernel.org/lkml/1465929311-13509-1-git-send-email-mcgrof@kernel.org/
      [2] https://lore.kernel.org/lkml/CA+55aFyhxcvD+q7tp+-yrSFDKfR0mOHgyEAe=f_94aKLsOu0Og@mail.gmail.com/
      [3] https://lore.kernel.org/lkml/20170516232702.GL17314@wotan.suse.de/
      [4] https://lkml.kernel.org/r/1495234558.7848.122.camel@linux.intel.com
      [5] https://lists.fedorahosted.org/archives/list/copyleft-next@lists.fedorahosted.org/thread/JTGV56DDADWGKU7ZKTZA4DLXTGTLNJ57/#SQMDIKBRAVDOCT4UVNOOCRGBN2UJIKHZ
      [6] https://spdx.org/licenses/copyleft-next-0.3.0.html
      [7] https://spdx.org/licenses/copyleft-next-0.3.1.html
      
      
      
      Cc: Goldwyn Rodrigues <rgoldwyn@suse.com>
      Cc: Kuno Woudt <kuno@frob.nl>
      Cc: Richard Fontana <fontana@sharpeleven.org>
      Cc: copyleft-next@lists.fedorahosted.org
      Cc: Ciaran Farrell <Ciaran.Farrell@suse.com>
      Cc: Christopher De Nicolo <Christopher.DeNicolo@suse.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Thorsten Leemhuis <linux@leemhuis.info>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
      Reviewed-by: default avatarTim Bird <tim.bird@sony.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ad9f64cd
  2. Dec 16, 2021
  3. Jul 15, 2021
  4. Dec 08, 2020
  5. Sep 16, 2020
  6. May 03, 2019
  7. Jan 16, 2019
    • Thomas Gleixner's avatar
      LICENSES: Add GCC runtime library exception text · 6e6c61d3
      Thomas Gleixner authored
      
      A recent commit added SPDX identifiers to the SuperH low level library code
      which originates from GCC. This code is licensed under the GPL 2.0 or later
      with the GCC runtime library exception.
      
      Unfortunately the authors did not bother to add the exception text to the
      LICENSES directory so spdxcheck fails with:
      
       arch/sh/lib/ashiftrt.S: 1:42 Invalid Exception ID: GCC-exception-2.0
       arch/sh/lib/ashlsi3.S: 1:42 Invalid Exception ID: GCC-exception-2.0
       arch/sh/lib/ashrsi3.S: 1:42 Invalid Exception ID: GCC-exception-2.0
       arch/sh/lib/lshrsi3.S: 1:42 Invalid Exception ID: GCC-exception-2.0
       arch/sh/lib/movmem.S: 1:42 Invalid Exception ID: GCC-exception-2.0
       arch/sh/lib/udiv_qrnnd.S: 1:42 Invalid Exception ID: GCC-exception-2.0
       arch/sh/lib/udivsi3.S: 1:42 Invalid Exception ID: GCC-exception-2.0
       arch/sh/lib/udivsi3_i4i-Os.S: 1:42 Invalid Exception ID: GCC-exception-2.0
       arch/sh/lib/udivsi3_i4i.S: 1:42 Invalid Exception ID: GCC-exception-2.0
      
      Add the exception text along with the required tags which allow automated
      checking.
      
      Fixes: 4494ce4f ("sh: lib: convert to SPDX identifiers")
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Cc: Simon Horman <horms+renesas@verge.net.au>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Kate Stewart <kstewart@linuxfoundation.org>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      6e6c61d3
  8. Oct 18, 2018
  9. Oct 12, 2018
  10. Apr 27, 2018
  11. Jan 06, 2018
Loading