netfilter: logging copyrights is useless

Message ID
State Not Applicable
Delegated to: Pablo Neira
Headers show

Commit Message

Corentin Labbe March 15, 2017, 1:17 p.m.
Logging copyrights does not add any useful information in logs.
This patch remove such logging

Signed-off-by: Corentin Labbe <>
 net/ipv4/netfilter/arp_tables.c | 1 -
 net/ipv4/netfilter/ip_tables.c  | 1 -
 net/ipv6/netfilter/ip6_tables.c | 1 -
 net/netfilter/nf_tables_api.c   | 1 -
 net/netfilter/nft_compat.c      | 2 --
 5 files changed, 6 deletions(-)


Harald Welte March 15, 2017, 1:57 p.m. | #1
Hi Corentin,

On Wed, Mar 15, 2017 at 02:17:39PM +0100, Corentin Labbe wrote:
> Logging copyrights does not add any useful information in logs.
> This patch remove such logging

Historically, there were plenty of more copyright notices for certain
drivers or sections of the code being printed while booting.  I still
remember fondly the many ethernet driver notices of a Donald Becker, for

I understand that it is questionable whether or not such statements are
"useful".  You might argue, their use is in
* stating a legal formality to the user
* making it simpler to determine if a given part of code is used in a
  given device (e.g. as part of GPL enforcement) while just logging the
  serial console and no requirement to (find a way to) dump the internal

Besides such practical arguments (it is of what use to whom), there are
legal concerns regarding the removal of copyright statements.  This
holds true on whether or not it is Free Software, or whether or not it
is GPL licensed.  If an author puts a copyright statement somehwere, he
exercises his right to be regarded as the author of the work.  It is
typically not permitted to remove such notices, as that would be a
copyright infringement in itself.

Also, beyond general legal concerns, the GPLv2 states explicitly:

> c) If the modified program normally reads commands interactively
> when run, you must cause it, when started running for such
> interactive use in the most ordinary way, to print or display an
> announcement including an appropriate copyright notice and a notice
> that there is no warranty (or else, saying that you provide a
> warranty) and that users may redistribute the program under these
> conditions, and telling the user how to view a copy of this License.
> (Exception: if the Program itself is interactive but does not normally
> print such an announcement, your work based on the Program is not
> required to print an announcement.)

Now you can argue whether the kernel is a an interactive program, but at
least you can see some intent to not remove any notices/messages that
were originally present in the program.

So I think your patch could only applied if the respective copyright
holders agree to remove their respective notices.

I personally would argue to keep them.  Nobody has complained about them
so far, and they have probably saved many weeks of my work time in GPL
compliance / enforcement work.  I understand this is a "niche use case",
though ;)


diff --git a/net/ipv4/netfilter/arp_tables.c b/net/ipv4/netfilter/arp_tables.c
index f17dab1..a89211f 100644
--- a/net/ipv4/netfilter/arp_tables.c
+++ b/net/ipv4/netfilter/arp_tables.c
@@ -1647,7 +1647,6 @@  static int __init arp_tables_init(void)
 	if (ret < 0)
 		goto err4;
-	pr_info("arp_tables: (C) 2002 David S. Miller\n");
 	return 0;
diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c
index 384b857..27a4fea 100644
--- a/net/ipv4/netfilter/ip_tables.c
+++ b/net/ipv4/netfilter/ip_tables.c
@@ -1933,7 +1933,6 @@  static int __init ip_tables_init(void)
 	if (ret < 0)
 		goto err5;
-	pr_info("(C) 2000-2006 Netfilter Core Team\n");
 	return 0;
diff --git a/net/ipv6/netfilter/ip6_tables.c b/net/ipv6/netfilter/ip6_tables.c
index 1e15c54..979acef 100644
--- a/net/ipv6/netfilter/ip6_tables.c
+++ b/net/ipv6/netfilter/ip6_tables.c
@@ -1955,7 +1955,6 @@  static int __init ip6_tables_init(void)
 	if (ret < 0)
 		goto err5;
-	pr_info("(C) 2000-2006 Netfilter Core Team\n");
 	return 0;
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index 4559f5d..f53d46e 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -5608,7 +5608,6 @@  static int __init nf_tables_module_init(void)
 	if (err < 0)
 		goto err3;
-	pr_info("nf_tables: (c) 2007-2009 Patrick McHardy <>\n");
 	return register_pernet_subsys(&nf_tables_net_ops);
diff --git a/net/netfilter/nft_compat.c b/net/netfilter/nft_compat.c
index fab6bf3..841c5ae 100644
--- a/net/netfilter/nft_compat.c
+++ b/net/netfilter/nft_compat.c
@@ -810,8 +810,6 @@  static int __init nft_compat_module_init(void)
 		goto err_target;
-	pr_info("nf_tables_compat: (c) 2012 Pablo Neira Ayuso <>\n");
 	return ret;