[8/9] batman-adv: Change batman_adv.h license to MIT

Message ID 20171119140517.24329-9-sven@narfation.org (mailing list archive)
State Accepted, archived
Delegated to: Sven Eckelmann
Headers
Series batman-adv: License cleanup |

Commit Message

Sven Eckelmann Nov. 19, 2017, 2:05 p.m. UTC
  The ISC license is considered as not recommended in "Linux kernel licensing
rules". It should only be used for existing code or for importing code from
a different project with that license.

But the kernel still has the similar sounding MIT/Expat license under the
preferred licenses. Switching to this license for this relatively new file
should therefore allow batman-adv to better follow the new licensing rules.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
---
I would ask for Acked-by from following persons

Cc: Simon Wunderlich <sw@simonwunderlich.de>
Cc: Matthias Schiffer <mschiffer@universe-factory.net>
Cc: Antonio Quartulli <a@unstable.cc>
Cc: Andrew Lunn <andrew@lunn.ch>

Please check

* https://www.gnu.org/licenses/license-list.html
* https://en.wikipedia.org/w/index.php?title=ISC_license&oldid=791486092
* https://en.wikipedia.org/w/index.php?title=MIT_License&oldid=809249689

For more information about these licenses.
---
 include/uapi/linux/batman_adv.h | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)
  

Comments

Antonio Quartulli Nov. 20, 2017, 2:01 a.m. UTC | #1
On 19/11/17 22:05, Sven Eckelmann wrote:
> The ISC license is considered as not recommended in "Linux kernel licensing
> rules". It should only be used for existing code or for importing code from
> a different project with that license.
> 
> But the kernel still has the similar sounding MIT/Expat license under the
> preferred licenses. Switching to this license for this relatively new file
> should therefore allow batman-adv to better follow the new licensing rules.
> 
> Signed-off-by: Sven Eckelmann <sven@narfation.org>
> ---
> I would ask for Acked-by from following persons
> 
> Cc: Simon Wunderlich <sw@simonwunderlich.de>
> Cc: Matthias Schiffer <mschiffer@universe-factory.net>
> Cc: Antonio Quartulli <a@unstable.cc>
> Cc: Andrew Lunn <andrew@lunn.ch>

Acked-by: Antonio Quartulli <a@unstable.cc>
  
Matthias Schiffer Nov. 20, 2017, 8:30 a.m. UTC | #2
On 11/19/2017 03:05 PM, Sven Eckelmann wrote:
> The ISC license is considered as not recommended in "Linux kernel licensing
> rules". It should only be used for existing code or for importing code from
> a different project with that license.
> 
> But the kernel still has the similar sounding MIT/Expat license under the
> preferred licenses. Switching to this license for this relatively new file
> should therefore allow batman-adv to better follow the new licensing rules.
> 
> Signed-off-by: Sven Eckelmann <sven@narfation.org>
> ---
> I would ask for Acked-by from following persons
> 
> Cc: Simon Wunderlich <sw@simonwunderlich.de>
> Cc: Matthias Schiffer <mschiffer@universe-factory.net>
> Cc: Antonio Quartulli <a@unstable.cc>
> Cc: Andrew Lunn <andrew@lunn.ch>
> 

Acked-by: Matthias Schiffer <mschiffer@universe-factory.net>



> Please check
> 
> * https://www.gnu.org/licenses/license-list.html
> * https://en.wikipedia.org/w/index.php?title=ISC_license&oldid=791486092
> * https://en.wikipedia.org/w/index.php?title=MIT_License&oldid=809249689
> 
> For more information about these licenses.
> ---
>  include/uapi/linux/batman_adv.h | 28 +++++++++++++++++-----------
>  1 file changed, 17 insertions(+), 11 deletions(-)
> 
> diff --git a/include/uapi/linux/batman_adv.h b/include/uapi/linux/batman_adv.h
> index fb453382..ae00c99c 100644
> --- a/include/uapi/linux/batman_adv.h
> +++ b/include/uapi/linux/batman_adv.h
> @@ -1,19 +1,25 @@
> -/* SPDX-License-Identifier: ISC */
> +/* SPDX-License-Identifier: MIT */
>  /* Copyright (C) 2016-2017  B.A.T.M.A.N. contributors:
>   *
>   * Matthias Schiffer
>   *
> - * Permission to use, copy, modify, and/or 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.
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
>   *
> - * 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.
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
>   */
>  
>  #ifndef _UAPI_LINUX_BATMAN_ADV_H_
>
  
Simon Wunderlich Nov. 20, 2017, 12:33 p.m. UTC | #3
On Sunday, November 19, 2017 3:05:16 PM CET Sven Eckelmann wrote:
> The ISC license is considered as not recommended in "Linux kernel licensing
> rules". It should only be used for existing code or for importing code from
> a different project with that license.
> 
> But the kernel still has the similar sounding MIT/Expat license under the
> preferred licenses. Switching to this license for this relatively new file
> should therefore allow batman-adv to better follow the new licensing rules.
> 
> Signed-off-by: Sven Eckelmann <sven@narfation.org>

Acked-by: Simon Wunderlich <sw@simonwunderlich.de>
  
Sven Eckelmann Nov. 23, 2017, 2:36 p.m. UTC | #4
Hi Andrew,

On Sonntag, 19. November 2017 15:05:16 CET Sven Eckelmann wrote:
> The ISC license is considered as not recommended in "Linux kernel licensing
> rules". It should only be used for existing code or for importing code from
> a different project with that license.
> 
> But the kernel still has the similar sounding MIT/Expat license under the
> preferred licenses. Switching to this license for this relatively new file
> should therefore allow batman-adv to better follow the new licensing rules.
> 
> Signed-off-by: Sven Eckelmann <sven@narfation.org>
> ---
> I would ask for Acked-by from following persons

What I wanted to say here: "I would like to get an Acked-by reply from 
following persons" (thanks to Simon, Matthias and Antonio for the fast 
response).

[...]
> Cc: Andrew Lunn <andrew@lunn.ch>

You've also worked on the netlink support (a lot) and you have at least one 
change of batman_adv.h [1] which can clearly be traced back to you. I would 
therefore be really nice when you either could also send an Acked-by or tell 
us about your concerns.

Thanks,
	Sven

[1] https://git.open-mesh.org/batman-adv.git/blobdiff/15315a94ad98af583d207daaaf3f0bcda6c4573d..3b7a636060205a97fac5469ab6ab701ee30eb52b:/include/uapi/linux/batman_adv.h
  
Andrew Lunn Nov. 23, 2017, 3:43 p.m. UTC | #5
On Thu, Nov 23, 2017 at 03:36:04PM +0100, Sven Eckelmann wrote:
> Hi Andrew,
> 
> On Sonntag, 19. November 2017 15:05:16 CET Sven Eckelmann wrote:
> > The ISC license is considered as not recommended in "Linux kernel licensing
> > rules". It should only be used for existing code or for importing code from
> > a different project with that license.
> > 
> > But the kernel still has the similar sounding MIT/Expat license under the
> > preferred licenses. Switching to this license for this relatively new file
> > should therefore allow batman-adv to better follow the new licensing rules.
> > 
> > Signed-off-by: Sven Eckelmann <sven@narfation.org>
> > ---
> > I would ask for Acked-by from following persons
> 
> What I wanted to say here: "I would like to get an Acked-by reply from 
> following persons" (thanks to Simon, Matthias and Antonio for the fast 
> response).

Hi Sven

Sorry, was not paying close enough attentions to notice you wanted my
feedback.

I just looked at Linus's current master branch:

~/linux/include/uapi$ grep -hr SPDX * | sort | uniq -c 
     14 /* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */
    541 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
    113 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
      1 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) AND MIT) */
     21 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */
     17 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
      4 /* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */
      3 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR MIT) */
      3 /* SPDX-License-Identifier: LGPL-2.0+ WITH Linux-syscall-note */
      3 /* SPDX-License-Identifier: LGPL-2.1 WITH Linux-syscall-note */
     15 /* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */

We are in the region of "Lies, damn lies, and statistics", but
everything with an SPDX tag has some form of GPL/LGPL. Now, adding
SPDX tags is a new activity, and adding the GPLs tags have been done
first, since they are easier to do. So it could be there are a lot of
UAPI header files which are not {L}GPL. Also, given this small sample,
it seems BSD is more popular over MIT.

I understand the reasons for ISC to MIT, so

Acked-by: Andrew Lunn <andrew@lunn.ch>

However, i wounder if GPL-2.0 WITH Linux-syscall-note OR one of the
BSD variants would be more consistent with the rest of the kernel?

    Andrew
  
Sven Eckelmann Nov. 23, 2017, 6:13 p.m. UTC | #6
On Donnerstag, 23. November 2017 16:43:29 CET Andrew Lunn wrote:
[...]
> I just looked at Linus's current master branch:
> 
> ~/linux/include/uapi$ grep -hr SPDX * | sort | uniq -c 
>      14 /* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */
>     541 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
>     113 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
>       1 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) AND MIT) */
>      21 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */
>      17 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
>       4 /* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */
>       3 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR MIT) */
>       3 /* SPDX-License-Identifier: LGPL-2.0+ WITH Linux-syscall-note */
>       3 /* SPDX-License-Identifier: LGPL-2.1 WITH Linux-syscall-note */
>      15 /* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
> 
> We are in the region of "Lies, damn lies, and statistics", but
> everything with an SPDX tag has some form of GPL/LGPL. Now, adding
> SPDX tags is a new activity, and adding the GPLs tags have been done
> first, since they are easier to do. So it could be there are a lot of
> UAPI header files which are not {L}GPL. Also, given this small sample,
> it seems BSD is more popular over MIT.

Problem here is how the most SPDX stuff was added (until now). Mostly things 
got an SPDX tag which either didn't contain any license information or which 
used a rather obscure way of informing the user about the license. If I search 
for some (not perfect) markers of the ISC then I can find 471 files (including
the nl80211.h which was the original reason to chose the ISC). And I find 3154
for MIT and 2371 for BSD (no idea which version is more popular here). I 
cannot be really sure about the results until the proper SPDX tags 
were added.

    $ git grep -l 'Permission to use, copy, modify, and/or '|wc -l 
    471
    $ git grep -l 'Permission is hereby granted, free of charge'|wc -l
    3154
    $ git grep -l 'Redistributions of source code must'|wc -l
    2371

> I understand the reasons for ISC to MIT, so
> 
> Acked-by: Andrew Lunn <andrew@lunn.ch>

Thanks

> However, i wounder if GPL-2.0 WITH Linux-syscall-note OR one of the
> BSD variants would be more consistent with the rest of the kernel?

From a popularity contest perspective, the BSD licenses seem to lose (I 
could be wrong here). But some of the BSD license variants are also under the 
LICENSES/preferred/ folder in Thomas Gleixner's latest patchset (which was 
prepared with Linus & Co. [1]). So technically, the BSD-2 would also work.

To the "GPL-2.0 WITH Linux-syscall-note" part - we have currently the problem 
that this file usually doesn't exist in a packaged form on Linux systems 
(yet).

Usually, people are just building the external kernel module when they want 
the latest features and then build their software *not* against the headers of 
the external module. And this means that people tend to integrate the file in 
their software (even we do that) to be able to access it when compiling it. 
And I would like to avoid that people are scared of using netlink (with 
batman_adv.h) because they would have to package a GPL-2.0 (+some extra stuff) 
licensed file.

It seemed to be the easiest/cleanest move to have the file under a permissive 
license. Especially because this file only contains the IDs used when
communicating with batman-adv over netlink and some (brief) documentation.

That said, I personally don't know of any closed-source software which uses 
the batman-adv netlink interface.

Kind regards,
	Sven

[1] at least I've read more than once that a this or that decision cannot be
    changed because Linus said so :)
  

Patch

diff --git a/include/uapi/linux/batman_adv.h b/include/uapi/linux/batman_adv.h
index fb453382..ae00c99c 100644
--- a/include/uapi/linux/batman_adv.h
+++ b/include/uapi/linux/batman_adv.h
@@ -1,19 +1,25 @@ 
-/* SPDX-License-Identifier: ISC */
+/* SPDX-License-Identifier: MIT */
 /* Copyright (C) 2016-2017  B.A.T.M.A.N. contributors:
  *
  * Matthias Schiffer
  *
- * Permission to use, copy, modify, and/or 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.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
  *
- * 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.
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
  */
 
 #ifndef _UAPI_LINUX_BATMAN_ADV_H_