In a recent series of patches posted to the Linux Kernel mailing list, it was proposed that some imported Atheros wireless device drivers [1] be re-licensed, some from a dual-BSD/GPL license, others from a modified BSD license, all to a pure GPLv2 license. Christoph Hellwig asked, "is this really a good idea? Most of the reverse-engineering was done by the OpenBSD folks, and it would certainly be helpful to work together with them on new hardware revisions, etc.." Luis Rodriguez suggested that there was no choice, "technically the best we can do is to leave the license as dual licensed, but keep in that technically that means nothing and is just for show, the GPL is what would apply as its derivative work and is the most restrictive license."
The patch series was also discussed on OpenBSD's -misc mailing list where it was asked, "is Reyk [Floeter] and others working on this drivers code dual licensed (from the diff it doesn't seem like it is, since I see a BSD 3 Clause)? Also say I submit a patch for this driver, does that mean this will have to be dual licensed also or can I choose if it is BSD 3 Clause or GPLv2?" Theo de Raadt replied pointing out that there are two parts to the driver, one part written by Reyk Floeter, and another part written by Sam Leffler, "Reyk's code is *NOT* dual-licensed under the GPL. He has explicitly stated that his code is not dual-licenced. The file have no GPL on them. He's the author, he said so. None else can add a GPL to it." He went on to note that the files written by Sam Leffler are dual licensed with the clause, "alternatively, this software may be distributed under the terms of the GNU General Public License ("GPL") version 2 as published by the Free Software Foundation," stressing that 'alternatively' means 'or', "that means that if anyone makes changes to that file and distributes it, after their changes are in the file then EITHER license will apply."
From: Jiri Slaby [email blocked]
To: [email blocked]
Subject: [PATCH 4/5] Net: ath5k, license is GPLv2
Date: Tue, 28 Aug 2007 12:00:50 -0400
ath5k, license is GPLv2
The files are available only under GPLv2 since now.
Signed-off-by: Jiri Slaby [email blocked]
---
commit 330c2ab9a53ddce27003218bd546034e8eeeff17
tree b24cecd991fbe3046d5c5269c61e0090427e4fd3
parent ceeaf6b9aac9daaa41ec38fbba3d2c1972af4470
author Jiri Slaby [email blocked] Tue, 28 Aug 2007 16:27:51 +0200
committer Jiri Slaby [email blocked] Tue, 28 Aug 2007 16:27:51 +0200
drivers/net/wireless/ath5k.h | 12 +-----------
drivers/net/wireless/ath5k_base.c | 22 +++-------------------
drivers/net/wireless/ath5k_base.h | 33 +--------------------------------
drivers/net/wireless/ath5k_hw.c | 13 +------------
drivers/net/wireless/ath5k_hw.h | 12 +-----------
drivers/net/wireless/ath5k_reg.h | 31 +------------------------------
drivers/net/wireless/ath5k_regdom.c | 4 +---
drivers/net/wireless/ath5k_regdom.h | 4 +---
8 files changed, 10 insertions(+), 121 deletions(-)
diff --git a/drivers/net/wireless/ath5k.h b/drivers/net/wireless/ath5k.h
index 0c6f3f5..c76b97b 100644
--- a/drivers/net/wireless/ath5k.h
+++ b/drivers/net/wireless/ath5k.h
@@ -2,17 +2,7 @@
* Copyright (c) 2004-2007 Reyk Floeter [email blocked]
* Copyright (c) 2006-2007 Nick Kossifidis [email blocked]
*
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * This file is released under GPLv2
*/
#ifndef _ATH5K_H
diff --git a/drivers/net/wireless/ath5k_base.c b/drivers/net/wireless/ath5k_base.c
index 5ee36b5..8703988 100644
--- a/drivers/net/wireless/ath5k_base.c
+++ b/drivers/net/wireless/ath5k_base.c
@@ -4,25 +4,9 @@
* Copyright (c) 2007 Jiri Slaby [email blocked]
* All rights reserved.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer,
- * without modification.
- * 2. Redistributions in binary form must reproduce at minimum a disclaimer
- * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
- * redistribution must be conditioned upon including a substantially
- * similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- * of any contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
+ * This file is released under GPLv2
*/
+
#define ATH_PCI_VERSION "0.9.5.0-BSD"
#include <linux/version.h>
@@ -2530,5 +2514,5 @@ module_exit(exit_ath_pci);
MODULE_AUTHOR("Jiri Slaby");
MODULE_DESCRIPTION("Support for Atheros 802.11 wireless LAN cards.");
MODULE_SUPPORTED_DEVICE("Atheros WLAN cards");
-MODULE_LICENSE("Dual BSD/GPL");
+MODULE_LICENSE("GPL v2");
MODULE_VERSION(ATH_PCI_VERSION " (EXPERIMENTAL)");
diff --git a/drivers/net/wireless/ath5k_base.h b/drivers/net/wireless/ath5k_base.h
index 15560ad..aa07dfb 100644
--- a/drivers/net/wireless/ath5k_base.h
+++ b/drivers/net/wireless/ath5k_base.h
@@ -2,38 +2,7 @@
* Copyright (c) 2002-2007 Sam Leffler, Errno Consulting
* All rights reserved.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer,
- * without modification.
- * 2. Redistributions in binary form must reproduce at minimum a disclaimer
- * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
- * redistribution must be conditioned upon including a substantially
- * similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- * of any contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
- * NO WARRANTY
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
- * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
- * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGES.
- *
- * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.20 2005/01/24 20:31:24 sam Exp $
+ * This file is released under GPLv2
*/
/*
diff --git a/drivers/net/wireless/ath5k_hw.c b/drivers/net/wireless/ath5k_hw.c
index a15aa21..3c44179 100644
--- a/drivers/net/wireless/ath5k_hw.c
+++ b/drivers/net/wireless/ath5k_hw.c
@@ -3,18 +3,7 @@
* Copyright (c) 2006-2007 Nick Kossifidis [email blocked]
* Copyright (c) 2007 Jiri Slaby [email blocked]
*
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
+ * This file is released under GPLv2
*/
/*
diff --git a/drivers/net/wireless/ath5k_hw.h b/drivers/net/wireless/ath5k_hw.h
index 55ae849..3d24d48 100644
--- a/drivers/net/wireless/ath5k_hw.h
+++ b/drivers/net/wireless/ath5k_hw.h
@@ -2,17 +2,7 @@
* Copyright (c) 2004-2007 Reyk Floeter [email blocked]
* Copyright (c) 2006-2007 Nick Kossifidis [email blocked]
*
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * This file is released under GPLv2
*/
#include <linux/delay.h>
diff --git a/drivers/net/wireless/ath5k_reg.h b/drivers/net/wireless/ath5k_reg.h
index c6142d2..870efa1 100644
--- a/drivers/net/wireless/ath5k_reg.h
+++ b/drivers/net/wireless/ath5k_reg.h
@@ -2,36 +2,7 @@
* Copyright (c) 2007 Nick Kossifidis [email blocked]
* All rights reserved.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer,
- * without modification.
- * 2. Redistributions in binary form must reproduce at minimum a disclaimer
- * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
- * redistribution must be conditioned upon including a substantially
- * similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- * of any contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
- * NO WARRANTY
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
- * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
- * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGES.
+ * This file is released under GPLv2
*/
/*
diff --git a/drivers/net/wireless/ath5k_regdom.c b/drivers/net/wireless/ath5k_regdom.c
index c345da8..067c837 100644
--- a/drivers/net/wireless/ath5k_regdom.c
+++ b/drivers/net/wireless/ath5k_regdom.c
@@ -1,9 +1,7 @@
/*
* Copyright (c) 2004, 2005 Reyk Floeter [email blocked]
*
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
+ * This file is released under GPLv2
*/
/*
diff --git a/drivers/net/wireless/ath5k_regdom.h b/drivers/net/wireless/ath5k_regdom.h
index ebaeabe..d36bec6 100644
--- a/drivers/net/wireless/ath5k_regdom.h
+++ b/drivers/net/wireless/ath5k_regdom.h
@@ -1,9 +1,7 @@
/*
* Copyright (c) 2004, 2005 Reyk Floeter [email blocked]
*
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
+ * This file is released under GPLv2
*/
#ifndef _IEEE80211_REGDOMAIN_H_
From: Christoph Hellwig [email blocked]
To: Jiri Slaby [email blocked]
Subject: Re: [PATCH 4/5] Net: ath5k, license is GPLv2
Date: Tue, 28 Aug 2007 18:11:55 +0100
On Tue, Aug 28, 2007 at 12:00:50PM -0400, Jiri Slaby wrote:
> ath5k, license is GPLv2
>
> The files are available only under GPLv2 since now.
Is this really a good idea? Most of the reverse-engineering was
done by the OpenBSD folks, and it would certainly be helpful to
work together with them on new hardware revisions, etc..
From: Luis R. Rodriguez [email blocked]
Subject: Re: [PATCH 4/5] Net: ath5k, license is GPLv2
Date: Tue, 28 Aug 2007 16:11:03 -0400
On 8/28/07, Christoph Hellwig [email blocked] wrote:
> On Tue, Aug 28, 2007 at 12:00:50PM -0400, Jiri Slaby wrote:
> > ath5k, license is GPLv2
> >
> > The files are available only under GPLv2 since now.
>
> Is this really a good idea? Most of the reverse-engineering was
> done by the OpenBSD folks, and it would certainly be helpful to
> work together with them on new hardware revisions, etc..
Technically the best we can do is to leave the license as dual
licensed, but keep in that technically that means nothing and is just
for show, the GPL is what would apply as its derivative work and is
the most restrictive license. This applies to any other driver in the
kernel right now with a dual license tag.
Luis
From: Johannes Berg [email blocked]
To: Jiri Slaby [email blocked]
Subject: Re: [PATCH 4/5] Net: ath5k, license is GPLv2
Date: Wed, 29 Aug 2007 11:59:42 +0200
On Tue, 2007-08-28 at 12:00 -0400, Jiri Slaby wrote:
> The files are available only under GPLv2 since now.
Since the BSD people are already getting upset about (for various
reasons among which seem to be a clear non-understanding) I'd suggest
changing it to:
+ * Parts of this file were originally licenced under the BSD licence:
+ *
> * Permission to use, copy, modify, and distribute this software for any
> * purpose with or without fee is hereby granted, provided that the above
> * copyright notice and this permission notice appear in all copies.
> *
> * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
> * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
> * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
> * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
> * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
> * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
> * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Further changes to this file since the moment this notice was extended
+ * are now distributed under the terms of the GPL version two as published
+ * by the Free Software Foundation <yaddaya>
johannes
From: Jiri Slaby [email blocked]
To: "Johannes Berg" [email blocked]
Subject: Re: [PATCH 4/5] Net: ath5k, license is GPLv2
Date: Wed, 29 Aug 2007 08:35:05 -0200
On 8/29/07, Johannes Berg [email blocked] wrote:
> On Tue, 2007-08-28 at 12:00 -0400, Jiri Slaby wrote:
>
> > The files are available only under GPLv2 since now.
>
> Since the BSD people are already getting upset about (for various
> reasons among which seem to be a clear non-understanding) I'd suggest
> changing it to:
yes, please. Can somebody do it, I'm away from my box.
From: Darrin Chandler [email blocked]
Subject: Linux Driver Violates BSD License
Date: Tue, 28 Aug 2007 18:35:36 -0700
Normally I wouldn't repeat undeadly stuff here on misc@, but I'm sure
many of you will want to know.
http://undeadly.org/cgi?action=article&sid=20070829001634 [2]
And if you do this kind of thing, it's worth letting the rest of the
world in on this:
http://digg.com/linux_unix/Lnux_Driver_Violated_BSD_License [3]
--
Darrin Chandler | Phoenix BSD User Group | MetaBUG
[email blocked] | http://phxbug.org/ [4] | http://metabug.org/ [5]
http://www.stilyagin.com/ [6] | Daemons in the Desert | Global BUG Federation
From: djgoku [email blocked]
Subject: Re: Linux Driver Violates BSD License
Date: Wed, 29 Aug 2007 00:06:48 -0500
On 8/28/07, Darrin Chandler [email blocked] wrote:
> Normally I wouldn't repeat undeadly stuff here on misc@, but I'm sure
> many of you will want to know.
>
> http://undeadly.org/cgi?action=article&sid=20070829001634 [7]
>
>
> And if you do this kind of thing, it's worth letting the rest of the
> world in on this:
> http://digg.com/linux_unix/Lnux_Driver_Violated_BSD_License [8]
I am currently having a discussion about dual licensing, and am a bit
confused. Is Reyk and others working on this drivers code dual
licensed (from the diff it doesn't seem like it is, since I see a BSD
3 Clause)? Also say I submit a patch for this driver, does that mean
this will have to be dual licensed also or can I choose if it is BSD 3
Clause or GPLv2?
From: Theo de Raadt [9] [email blocked]
Subject: Re: Linux Driver Violates BSD License
Date: Tue, 28 Aug 2007 23:32:07 -0600
> On 8/28/07, Darrin Chandler [email blocked] wrote:
> > Normally I wouldn't repeat undeadly stuff here on misc@, but I'm sure
> > many of you will want to know.
> >
> > http://undeadly.org/cgi?action=article&sid=20070829001634 [10]
> >
> >
> > And if you do this kind of thing, it's worth letting the rest of the
> > world in on this:
> > http://digg.com/linux_unix/Lnux_Driver_Violated_BSD_License [11]
>
> I am currently having a discussion about dual licensing, and am a bit
> confused. Is Reyk and others working on this drivers code dual
> licensed (from the diff it doesn't seem like it is, since I see a BSD
> 3 Clause)? Also say I submit a patch for this driver, does that mean
> this will have to be dual licensed also or can I choose if it is BSD 3
> Clause or GPLv2?
Well, there are two parts to the Atheros driver.
Reyk's code is *NOT* dual-licensed under the GPL. So there is no
issue with Reyk's code. He has explicitly stated that his code is not
dual-licenced. The file have no GPL on them. He's the author, he
said so. None else can add a GPL to it. (No matter how much Luis
begs and pleads and whines).
The other part of the driver was written by Sam Leffler. Sam's code,
though, is dual-licenced with a 4-term BSD'ish license (it has only 3
terms, but the wrong term was deleted, and the attribution term was
actually strengthened -- read the license). The GPL annotation in the
licenses says specifically --
* Alternatively, this software may be distributed under the terms of the
* GNU General Public License ("GPL") version 2 as published by the Free
* Software Foundation.
Note that word "Alternatively".
That means "or".
That means that if anyone makes changes to that file and distributes it,
after their changes are in the file then EITHER license will apply.
Since it says "Alternatively" / "Or", we can simply take any of those
new changes UNDER THE LICENSE WE PREFER, and commit them to our file
which is NOT dual licensed. If they want to use the GPL to restrict
our use -- that is us, the original authors, see -- they should work
on seperate files.
Note there are some files out there that don't use words like "or" or
"alternatively" when they mix licenses. One must read what the
license says very carefully. Trying to brush everything into the same
simple catagories will get you nowhere.
As a commentary, it seems as if many people have tired of the "make my
own license" game, and now are playing the "mix licenses in my own
way" game. And the "interpret it in the way that is most beneficial
to me" game.
Simpler said, I don't know why they have to be such jerks. Luis in
particular has been ragging on Reyk for years to dual license his
code, and won't take no for an answer. It's already totally free code,
but apparently there is some stupid Linus rule that says that all the
code must not be free .... noooo.... it can't just be free, it has to
be SPECIFICALLY GPL. Now I know that's not the truth, because the Linux
tree is FULL of objectional code that either has CSRG licences on it, or
no license at all.
Now he's saying that Linux people should basically ignore Reyk's
license. Well screw you Luis, that is precisely not what you will do
-- you uneducated twit. Copyright is law. You will obey it.
Anyways, hope that explained the question you asked, FOR THIS PARTICULAR
CASE. As I say, read the exact files, and the exact licenses.
Related Links:
- Archive of above LKML thread [12]
- Archive of above OpenBSD -misc thread [13]
- KernelTrap interview with Theo de Raadt [14]