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]
Date:	Wed, 11 Mar 2015 11:56:45 +0100
From:	Paul Bolle <pebolle@...cali.nl>
To:	Rusty Russell <rusty@...tcorp.com.au>,
	Dave Jones <davej@...emonkey.org.uk>
Cc:	Dmitry Torokhov <dmitry.torokhov@...il.com>,
	Sébastien Szymanski 
	<sebastien.szymanski@...adeus.com>, linux-input@...r.kernel.org,
	linux-kernel@...r.kernel.org, Rob Herring <robh+dt@...nel.org>,
	Pawel Moll <pawel.moll@....com>,
	Mark Rutland <mark.rutland@....com>,
	Ian Campbell <ijc+devicetree@...lion.org.uk>,
	devicetree@...r.kernel.org, Kumar Gala <galak@...eaurora.org>,
	Rusty Russell <rusty@...tcorp.com.au>
Subject: MODULE_LICENSE(): "GPL"  vs. "GPL v2" (Was: [PATCH 1/2] Input: add
 support for Semtech SX8654 I2C touchscreen controller)

[Added Rusty and Dave.]

On Sat, 2015-03-07 at 20:51 -0800, Dmitry Torokhov wrote:
> On Sat, Mar 07, 2015 at 11:38:55PM +0100, Paul Bolle wrote:
> > From a technological standpoint it would be easy to declare "GPL" (or
> > any other string) to mean "GPL v2 compatible", which is, I think, all
> > that matters. But license_is_gpl_compatible() doesn't do that. And I
> > fear that's for a reason. Is my fear unfounded?
> 
> Well we might ask Rusty on the off chance that he remembers but my guess
> would be that he added "GPL v2" in addition to "GPL" and other license
> stings because at the time there was one driver,
> drivers/net/tulip/xircom_tulip_cb.c, that used MODULE_LICENSE("GPL v2").

Dmitry and I discussed the fact that license_is_gpl_compatible() accepts
both "GPL" and "GPL v2" as strings indicating a GPL compatible license.
"GPL" is documented to mean "GNU Public License v2 or later" while "GPL
v2" is documented to mean "GNU Public License v2".

It turns out people regularly confuse these license string. (To
demonstrate just how often I hope to send comments for all patches sent
yesterday and the day before yesterday that I spotted getting that
wrong. I already sent a bunch of similar messages last week.) That's not
surprising, because either one passes the compatibility test, whatever
the actual license of the module might be.

So are these two strings intended to correctly identify to the actual
GPL version(s) of that module? Or is the fact that there are checks for
both strings mostly a result of the way these two strings were
introduced in a few steps? (I'll summarize these steps at the end of
this message.) 


Paul Bolle

0) MODULE_LICENSE() was introduced in v2.4.10. It documented four
"idents" acceptable for free software modules:
    "GPL"                      
    "GPL and additional rights"
    "Dual BSD/GPL"             
    "Dual MPL/GPL"

1) In v2.4.11 the license ident used in
drivers/net/pcmcia/xircom_tulip_cb.c was changed from "GPL" to "GPL v2".

2) In v2.5.40
    "GPL v2"

was also documented as an acceptable free software ident. At that time
only drivers/net/tulip/xircom_tulip_cb.c used that ident.

3) And in v2.5.55 license_is_gpl_compatible() was added. It accepted
both license idents (since it accepted all then documented license
idents). At that time the only user of "GPL v2" was still
drivers/net/tulip/xircom_tulip_cb.c. (At that time there were over a
thousand users of "GPL".)

For comparison: in v4.0-rc3 there are nearly six thousand users of "GPL"
and over a thousand users of "GPL v2".

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ