lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1467327207-14916-1-git-send-email-mcgrof@kernel.org>
Date:	Thu, 30 Jun 2016 15:53:27 -0700
From:	"Luis R. Rodriguez" <mcgrof@...nel.org>
To:	gregkh@...uxfoundation.org, rusty@...tcorp.com.au
Cc:	linux-kernel@...r.kernel.org, ciaran.farrell@...e.com,
	christopher.denicolo@...e.com, fontana@...rpeleven.org,
	copyleft-next@...ts.fedorahosted.org, gnomes@...rguk.ukuu.org.uk,
	alan@...ux.intel.com, tytso@....edu, pebolle@...cali.nl,
	hpa@...or.com, joe@...ches.com,
	"Luis R. Rodriguez" <mcgrof@...nel.org>,
	Ciaran Farrell <Ciaran.Farrell@...e.com>,
	Christopher De Nicolo <Christopher.DeNicolo@...e.com>
Subject: [PATCH v2] module.h: add copyleft-next >= 0.3.1 as GPL compatible

copyleft-next [0] [1] is an openly evolved copyleft license, its an
effort to evolve copyleft without participation of the Church (TM)
or State (R), completley openly to the extend development and
discussion of copyleft-next by participants of the copyleft-next
project are governed by the Harvey Birdman Rule [2].

Even though it has been a goal of the project to be GPL-v2 compatible
to be certain I've 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 compatiblity
even further clear and as of copyleft 0.3.1 compatibility should
be crystal clear [3].

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 contributins from Linux outbound where copyleft-next is
preferred. To help review further I've also independently reviewed
compatiblity with attorneys at SUSE and they agree with the
compatibility.

A summary of benefits of copyleft-next >= 0.3.1 over GPLv2 is listed
below, it shows *why* some folks like myself will prefer it over
GPLv2 for future work.

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

[0] https://github.com/copyleft-next/copyleft-next
[1] https://lists.fedorahosted.org/mailman/listinfo/copyleft-next/
[2] https://github.com/richardfontana/hbr/blob/master/HBR.md
[3] https://lists.fedorahosted.org/archives/list/copyleft-next@lists.fedorahosted.org/thread/JTGV56DDADWGKU7ZKTZA4DLXTGTLNJ57/#SQMDIKBRAVDOCT4UVNOOCRGBN2UJIKHZ

v2:

o extend checkpatch.pl with copyleft-next as well for
  MODULE_LICENSE() check - as suggested by Paul Bolle.

Cc: copyleft-next@...ts.fedorahosted.org
Cc: Richard Fontana <fontana@...rpeleven.org>
Signed-off-by: Ciaran Farrell <Ciaran.Farrell@...e.com>
Signed-off-by: Christopher De Nicolo <Christopher.DeNicolo@...e.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@...nel.org>
---
 include/linux/license.h | 1 +
 include/linux/module.h  | 1 +
 scripts/checkpatch.pl   | 1 +
 3 files changed, 3 insertions(+)

diff --git a/include/linux/license.h b/include/linux/license.h
index decdbf43cb5c..ed7c13a6b556 100644
--- a/include/linux/license.h
+++ b/include/linux/license.h
@@ -5,6 +5,7 @@ static inline int license_is_gpl_compatible(const char *license)
 {
 	return (strcmp(license, "GPL") == 0
 		|| strcmp(license, "GPL v2") == 0
+		|| strcmp(license, "copyleft-next") == 0
 		|| strcmp(license, "GPL and additional rights") == 0
 		|| strcmp(license, "Dual BSD/GPL") == 0
 		|| strcmp(license, "Dual MIT/GPL") == 0
diff --git a/include/linux/module.h b/include/linux/module.h
index f777164c238b..24c520ff62e1 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -182,6 +182,7 @@ void trim_init_extable(struct module *m);
  * The following license idents are currently accepted as indicating free
  * software modules
  *
+ *	"copyleft-next"			[copyleft-next 0.3.1 or later]
  *	"GPL"				[GNU Public License v2 or later]
  *	"GPL v2"			[GNU Public License v2]
  *	"GPL and additional rights"	[GNU Public License v2 rights and more]
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 4904ced676d4..ccb66e201126 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -6014,6 +6014,7 @@ sub process {
 						Dual\ BSD/GPL|
 						Dual\ MIT/GPL|
 						Dual\ MPL/GPL|
+						copyleft-next|
 						Proprietary
 					}x;
 			if ($extracted_string !~ /^"(?:$valid_licenses)"$/x) {
-- 
2.8.4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ