NetBSD Problem Report #60308

From www@netbsd.org  Wed Jun  3 09:02:47 2026
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
	 client-signature RSA-PSS (2048 bits) client-digest SHA256)
	(Client CN "mail.netbsd.org", Issuer "R13" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 341D61A9239
	for <gnats-bugs@gnats.NetBSD.org>; Wed,  3 Jun 2026 09:02:47 +0000 (UTC)
Message-Id: <20260603090245.2FDD21A923A@mollari.NetBSD.org>
Date: Wed,  3 Jun 2026 09:02:45 +0000 (UTC)
From: pasanen.tuukka@gmail.com
Reply-To: pasanen.tuukka@gmail.com
To: gnats-bugs@NetBSD.org
Subject: Make is missing SPDX license indetifiers
X-Send-Pr-Version: www-1.0
X-From4GNATS: "pasanen.tuukka@gmail.com via gnats" <gnats-admin@NetBSD.org>

>Number:         60308
>Notify-List:    board@NetBSD.org
>Category:       standards
>Synopsis:       Make is missing SPDX license indetifiers
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    standards-manager
>State:          feedback
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed Jun 03 09:05:00 +0000 2026
>Closed-Date:    
>Last-Modified:  Wed Jul 01 14:20:01 +0000 2026
>Originator:     Tuukka Pasanen
>Release:        Current
>Organization:
FreeBSD Foundation
>Environment:
>Description:
There is no SDPX license identifier information (SPDX-License-Identifier) tags in NetBSD usr.bin/make. Those tags are useful when creating SBOM or verifying licenses.
>How-To-Repeat:

>Fix:
diff --git a/usr.bin/make/arch.c b/usr.bin/make/arch.c
index 8eacd6d0628e..3a4985939b96 100644
--- a/usr.bin/make/arch.c
+++ b/usr.bin/make/arch.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: arch.c,v 1.224 2026/04/06 17:13:54 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
  *
diff --git a/usr.bin/make/buf.c b/usr.bin/make/buf.c
index 8f4de0c3e2bc..cca54e48d7ec 100644
--- a/usr.bin/make/buf.c
+++ b/usr.bin/make/buf.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: buf.c,v 1.58 2024/04/28 15:10:19 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
  * All rights reserved.
  *
diff --git a/usr.bin/make/buf.h b/usr.bin/make/buf.h
index fad36e932616..dbf207646fcf 100644
--- a/usr.bin/make/buf.h
+++ b/usr.bin/make/buf.h
@@ -1,6 +1,8 @@
 /*	$NetBSD: buf.h,v 1.50 2024/04/28 15:10:19 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
  *
  * This code is derived from software contributed to Berkeley by
diff --git a/usr.bin/make/compat.c b/usr.bin/make/compat.c
index 69139b963d72..443ead455586 100644
--- a/usr.bin/make/compat.c
+++ b/usr.bin/make/compat.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: compat.c,v 1.268 2025/07/06 07:11:31 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
  * All rights reserved.
  *
diff --git a/usr.bin/make/cond.c b/usr.bin/make/cond.c
index aace522dd477..eb6a84de963c 100644
--- a/usr.bin/make/cond.c
+++ b/usr.bin/make/cond.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: cond.c,v 1.379 2026/04/06 17:13:54 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
  * All rights reserved.
  *
diff --git a/usr.bin/make/config.h b/usr.bin/make/config.h
index 4bba07a405e4..2f928667f9e3 100644
--- a/usr.bin/make/config.h
+++ b/usr.bin/make/config.h
@@ -1,6 +1,8 @@
 /*	$NetBSD: config.h,v 1.29 2024/02/07 06:43:02 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
  *
  * This code is derived from software contributed to Berkeley by
diff --git a/usr.bin/make/dir.c b/usr.bin/make/dir.c
index df30038f3edd..0e81f00abd9f 100644
--- a/usr.bin/make/dir.c
+++ b/usr.bin/make/dir.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: dir.c,v 1.298 2026/04/06 17:13:54 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
  * All rights reserved.
  *
diff --git a/usr.bin/make/dir.h b/usr.bin/make/dir.h
index 79c75598f68b..031499b97f51 100644
--- a/usr.bin/make/dir.h
+++ b/usr.bin/make/dir.h
@@ -1,6 +1,8 @@
 /*	$NetBSD: dir.h,v 1.49 2024/07/07 07:50:57 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
  *
  * This code is derived from software contributed to Berkeley by
diff --git a/usr.bin/make/for.c b/usr.bin/make/for.c
index 0e3894428377..57e1872b5d5f 100644
--- a/usr.bin/make/for.c
+++ b/usr.bin/make/for.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: for.c,v 1.187 2026/04/06 17:13:54 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
  * Copyright (c) 1992, The Regents of the University of California.
  * All rights reserved.
  *
diff --git a/usr.bin/make/hash.c b/usr.bin/make/hash.c
index 663378626b89..a476c2e62909 100644
--- a/usr.bin/make/hash.c
+++ b/usr.bin/make/hash.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: hash.c,v 1.80 2025/04/22 19:28:50 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
  * All rights reserved.
  *
diff --git a/usr.bin/make/hash.h b/usr.bin/make/hash.h
index d9cf708dbd91..4fc7085e5d6f 100644
--- a/usr.bin/make/hash.h
+++ b/usr.bin/make/hash.h
@@ -1,6 +1,7 @@
 /*	$NetBSD: hash.h,v 1.52 2025/04/22 19:28:50 rillig Exp $	*/
-
 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
  *
  * This code is derived from software contributed to Berkeley by
diff --git a/usr.bin/make/job.c b/usr.bin/make/job.c
index 18fba6c71d90..6cc9510a236c 100644
--- a/usr.bin/make/job.c
+++ b/usr.bin/make/job.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: job.c,v 1.529 2026/04/06 17:13:54 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
  * All rights reserved.
  *
diff --git a/usr.bin/make/job.h b/usr.bin/make/job.h
index d69aa3ae5a64..abe4694e69c0 100644
--- a/usr.bin/make/job.h
+++ b/usr.bin/make/job.h
@@ -1,6 +1,8 @@
 /*	$NetBSD: job.h,v 1.86 2026/02/10 18:53:34 sjg Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
  * All rights reserved.
  *
diff --git a/usr.bin/make/lst.c b/usr.bin/make/lst.c
index ae57ba101845..2e1df1e0e975 100644
--- a/usr.bin/make/lst.c
+++ b/usr.bin/make/lst.c
@@ -1,6 +1,8 @@
 /* $NetBSD: lst.c,v 1.108 2024/04/27 17:33:46 rillig Exp $ */

 /*
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
  *
diff --git a/usr.bin/make/lst.h b/usr.bin/make/lst.h
index a8cd5acd4e2c..b14fb85e0a98 100644
--- a/usr.bin/make/lst.h
+++ b/usr.bin/make/lst.h
@@ -1,6 +1,8 @@
 /*	$NetBSD: lst.h,v 1.105 2024/04/27 17:33:46 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
  * All rights reserved.
  *
diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c
index e8c335832564..ddbab5520688 100644
--- a/usr.bin/make/main.c
+++ b/usr.bin/make/main.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: main.c,v 1.669 2026/04/06 17:13:54 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
  *
diff --git a/usr.bin/make/make.c b/usr.bin/make/make.c
index 2494e3621ff9..7dd058abcb2a 100644
--- a/usr.bin/make/make.c
+++ b/usr.bin/make/make.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: make.c,v 1.275 2026/04/06 17:13:54 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
  *
diff --git a/usr.bin/make/make.h b/usr.bin/make/make.h
index 25f2db374cf3..15aa68550775 100644
--- a/usr.bin/make/make.h
+++ b/usr.bin/make/make.h
@@ -1,6 +1,8 @@
 /*	$NetBSD: make.h,v 1.366 2026/04/06 17:13:54 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
  *
diff --git a/usr.bin/make/make_malloc.c b/usr.bin/make/make_malloc.c
index 86e339de5dd2..99e8c3839cf1 100644
--- a/usr.bin/make/make_malloc.c
+++ b/usr.bin/make/make_malloc.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: make_malloc.c,v 1.28 2025/06/29 09:37:58 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
diff --git a/usr.bin/make/make_malloc.h b/usr.bin/make/make_malloc.h
index b1cfe8487837..789ae2105392 100644
--- a/usr.bin/make/make_malloc.h
+++ b/usr.bin/make/make_malloc.h
@@ -1,6 +1,8 @@
 /*	$NetBSD: make_malloc.h,v 1.18 2021/12/15 11:01:39 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
diff --git a/usr.bin/make/meta.c b/usr.bin/make/meta.c
index 048af06457a1..d5a8787f795c 100644
--- a/usr.bin/make/meta.c
+++ b/usr.bin/make/meta.c
@@ -6,6 +6,8 @@
  * --sjg
  */
 /*
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
  * Copyright (c) 2009-2016, Juniper Networks, Inc.
  * Portions Copyright (c) 2009, John Birrell.
  *
diff --git a/usr.bin/make/meta.h b/usr.bin/make/meta.h
index 4796cdeb3c01..78a9bb2ca6a4 100644
--- a/usr.bin/make/meta.h
+++ b/usr.bin/make/meta.h
@@ -4,6 +4,8 @@
  * Things needed for 'meta' mode.
  */
 /*
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
  * Copyright (c) 2009-2010, Juniper Networks, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/usr.bin/make/metachar.c b/usr.bin/make/metachar.c
index e99630602e3d..9934e1d99bf1 100644
--- a/usr.bin/make/metachar.c
+++ b/usr.bin/make/metachar.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: metachar.c,v 1.10 2021/06/21 18:54:41 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
  * Copyright (c) 2015 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
diff --git a/usr.bin/make/metachar.h b/usr.bin/make/metachar.h
index 11711e876017..4ca08f02a71f 100644
--- a/usr.bin/make/metachar.h
+++ b/usr.bin/make/metachar.h
@@ -1,6 +1,8 @@
 /*	$NetBSD: metachar.h,v 1.20 2022/01/08 11:04:13 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
  * Copyright (c) 2015 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
diff --git a/usr.bin/make/parse.c b/usr.bin/make/parse.c
index 9807fc46b1b4..b06599336a1c 100644
--- a/usr.bin/make/parse.c
+++ b/usr.bin/make/parse.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: parse.c,v 1.756 2026/04/06 17:13:55 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
  *
diff --git a/usr.bin/make/pathnames.h b/usr.bin/make/pathnames.h
index 3c7000ca1030..e302afec8d1a 100644
--- a/usr.bin/make/pathnames.h
+++ b/usr.bin/make/pathnames.h
@@ -1,6 +1,8 @@
 /*	$NetBSD: pathnames.h,v 1.18 2020/11/29 09:27:40 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
  * Copyright (c) 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
  *
diff --git a/usr.bin/make/str.c b/usr.bin/make/str.c
index e66cdbc8682e..6e46d622b013 100644
--- a/usr.bin/make/str.c
+++ b/usr.bin/make/str.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: str.c,v 1.106 2025/06/28 21:09:43 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
  *
diff --git a/usr.bin/make/str.h b/usr.bin/make/str.h
index 1122fc727f77..6687b8261253 100644
--- a/usr.bin/make/str.h
+++ b/usr.bin/make/str.h
@@ -1,6 +1,8 @@
 /*	$NetBSD: str.h,v 1.21 2026/01/03 19:57:38 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
  * Copyright (c) 2021 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
diff --git a/usr.bin/make/suff.c b/usr.bin/make/suff.c
index a34fa4296041..6b5121f739e2 100644
--- a/usr.bin/make/suff.c
+++ b/usr.bin/make/suff.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: suff.c,v 1.385 2026/01/03 19:57:38 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
  *
diff --git a/usr.bin/make/targ.c b/usr.bin/make/targ.c
index 576d7dda8eed..c4a4906d2e22 100644
--- a/usr.bin/make/targ.c
+++ b/usr.bin/make/targ.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: targ.c,v 1.185 2025/05/07 19:49:00 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
  *
diff --git a/usr.bin/make/trace.c b/usr.bin/make/trace.c
index a85053f62ce8..ba5af8d4d351 100644
--- a/usr.bin/make/trace.c
+++ b/usr.bin/make/trace.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: trace.c,v 1.35 2025/05/09 18:42:56 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
diff --git a/usr.bin/make/trace.h b/usr.bin/make/trace.h
index 063fb26ab08c..ea8fc48b2961 100644
--- a/usr.bin/make/trace.h
+++ b/usr.bin/make/trace.h
@@ -1,6 +1,8 @@
 /*	$NetBSD: trace.h,v 1.6 2021/01/19 20:51:46 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
diff --git a/usr.bin/make/var.c b/usr.bin/make/var.c
index 4bb52f0aa0b7..19c18b79ebfc 100644
--- a/usr.bin/make/var.c
+++ b/usr.bin/make/var.c
@@ -1,6 +1,8 @@
 /*	$NetBSD: var.c,v 1.1180 2026/04/06 17:13:55 rillig Exp $	*/

 /*
+ * SPDX-License-Identifier: BSD-4-Clause-UC AND BSD-3-Clause
+ *
  * Copyright (c) 1988, 1989, 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
  *

>Release-Note:

>Audit-Trail:
From: Leonardo Taccari <leot@NetBSD.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: standards/60308: Make is missing SPDX license indetifiers
Date: Wed, 03 Jun 2026 11:18:33 +0200

 Please also see PR toolchain/60287.

 (Leaving it as cross-reference.)

State-Changed-From-To: open->feedback
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Tue, 09 Jun 2026 15:48:41 +0000
State-Changed-Why:
Thanks for the patch.  I'm a little confused about the goal, though.
You filed this under `standards/'.  Can you cite the current standard
that is applicable here?

I went looking at what I thought was the current applicable standard,
the SPDX spec at https://spdx.dev, but the latest version 3.0.1 has
completely removed all references to the `SPDX-License-Identifier' tags
in source code.  No syntax defined, no recommendations to use them in
source code.  It was all removed in this commit two years ago:

> commit 2acae715e971f8b84da8ea85f93849bdcf89c5ab
> Author: Alexios Zavras <github@zvr.gr>
> Date:   Sun Aug 11 17:59:07 2024 +0200
> 
>     Fixes the annexes
> 
>     Signed-off-by: Alexios Zavras <github@zvr.gr>
> ...
>  ...using-SPDX-short-identifiers-in-source-files.md |  73 --

https://github.com/spdx/spdx-spec/commit/2acae715e971f8b84da8ea85f93849bdcf89c5ab

I can't tell from the very terse commit message whether that was just
an editorial mistake or a deliberate decision to remove all that (no
idea where to find minutes of any deliberation), but since nobody's put
it back in two years I have to assume it was deliberate.

There's an ISO standard, ISO/IEC 5962:2021, based on SPDX spec 2.2(?),
which still has Annex E `Using SPDX license list short identifiers in
source files' defining the `SPDX-License-Identifier' syntax.  But it's
apparently being updated to SPDX spec 3.0, according to
<https://www.iso.org/standard/81870.html>, so presumably it too will
remove that.

Also the web site at https://spdx.dev is full of 404 links, including
links that were baked into the ISO standard document itself, like
<https://spdx.org/spdx-license-list/matching-guidelines>,
<https://spdx.org/spdx-license-list/license-list-overview>, and
<https://spdx.dev/ids-where>.

So I'm not at all confident in the long-term value or seriousness of
this SPDX business.  And I have had plenty of personal experience
already wasting time based on wrong SPDX-License-Identifier tags that
were automatically applied across Linux.  We're open to the proposition
of adding these tags if they are actually reliable and useful, but the
track record of SPDX as a standard is not very convincing right now,
and we may need more convincing than just the offer of patches.


From: Tuukka Pasanen <pasanen.tuukka@gmail.com>
To: gnats-bugs@netbsd.org, standards-manager@netbsd.org,
 netbsd-bugs@netbsd.org, gnats-admin@netbsd.org, riastradh@NetBSD.org
Cc: board@NetBSD.org
Subject: Re: standards/60308 (Make is missing SPDX license indetifiers)
Date: Wed, 1 Jul 2026 15:55:32 +0300

 > I went looking at what I thought was the current applicable standard,
 > the SPDX spec athttps://spdx.dev, but the latest version 3.0.1 has
 > completely removed all references to the `SPDX-License-Identifier' tags
 > in source code.
 It seems there have been many questions about removing the
 SPDX-License-Identifier from the specifications in Annex H.

 As mentioned here https://github.com/spdx/spdx-spec/issues/1393,
 it was not part of the official specification. Identifiers were
 previously in the appendix, and efforts are underway to potentially
 reinstate them in some form. However, the specific details of how
 they may be reintegrated into the spec remain unclear.

 Another relevant discussion https://github.com/spdx/spdx-spec/issues/1261
 provides additional context on the removal of these tags.

 The current usage documentation can be found here
 https://github.com/spdx/using/blob/main/docs/license-id-in-source.md.

 Moreover, the REUSE Software project (https://reuse.software/spec-3.3/)
 actively endorses the use of these tags, offering a detailed rationale
 for their adoption. REUSE is an initiative by the Free Software
 Foundation Europe (FSFE).

 Additionally, CycloneDX SBOM also incorporates SPDX license IDs,
 suggesting that they will remain a widely adopted industry standard
 both now and in the future.
 > So I'm not at all confident in the long-term value or seriousness of
 > this SPDX business.  And I have had plenty of personal experience
 > already wasting time based on wrong SPDX-License-Identifier tags that
 > were automatically applied across Linux.  We're open to the proposition
 > of adding these tags if they are actually reliable and useful, but the
 > track record of SPDX as a standard is not very convincing right now,
 > and we may need more convincing than just the offer of patches.
 >
 It is true that in my path I have encountered several incorrect tags,
 but most have been  them are correct. When they are correct and
 maintained as part of the licensing workflow, they are very useful.

 One can check against them to ensure that the wording in the license
 is correct and consistent with, for example, the BSD-2-Clause license.

 Having read too many licenses during this year. I can confidently say 
 that it
 makes a significant difference whether only the license text is provided
 or whether an SPDX identifier is also included. Even with a license
 text provided, you still need to use a tool to parse it to ensure it
 does not contain any unexpected wording or deviations from the standard.
 With an SPDX-License-Identifier, you can quickly verify that the license
 text matches the expected wording (e.g., BSD-2-Clause). If it does not
 match, as in this example: 
 https://github.com/spdx/license-list-XML/issues/3007
 I need to start figuring from the scratch

 Additionally, there are many licenses with nearly identical wording but
 minor variations. These can also be identified with the right tools
 and a bit of reading. However, having an extra line for the
 SPDX-License-Identifier in the source file does not seem like a burden,
 especially since license can take up most of the file's content in some
 cases.

 Given that NetBSD has been around for a long time and includes a lot
 of third-party software (which is already well-aligned with licensing),
 it would be easier to maintain these licenses if all projects provided
 SPDX-License-Identifier data?

 My humble opinion—though it is only mine and not necessarily shared
 by others—is that SPDX-License-Identifiers are not going away. There
 is no downside to having them; downstream projects can easily check
 NetBSD's licensing and maintain SBOM if the like.

 If the NetBSD community decides to ignore them, that is also a valid and
 correct decision. I have a different perspective and experience with these
 tags, but I respect that others may see things differently.

 You are free to close this issue if you choose not to implement them.

From: Taylor R Campbell <riastradh@NetBSD.org>
To: Tuukka Pasanen <pasanen.tuukka@gmail.com>
Cc: gnats-bugs@netbsd.org, standards-manager@netbsd.org,
	netbsd-bugs@netbsd.org, gnats-admin@netbsd.org, board@NetBSD.org
Subject: Re: standards/60308 (Make is missing SPDX license indetifiers)
Date: Wed, 1 Jul 2026 14:17:44 +0000

 This is a multi-part message in MIME format.
 --=_3GH/d8a4GiEuk6sY511/abKYWvHzDwXu

 > Date: Wed, 1 Jul 2026 15:55:32 +0300
 > From: Tuukka Pasanen <pasanen.tuukka@gmail.com>
 > 
 > It seems there have been many questions about removing the
 > SPDX-License-Identifier from the specifications in Annex H.
 > 
 > As mentioned here https://github.com/spdx/spdx-spec/issues/1393,
 > it was not part of the official specification. Identifiers were
 > previously in the appendix, and efforts are underway to potentially
 > reinstate them in some form. However, the specific details of how
 > they may be reintegrated into the spec remain unclear.
 > 
 > Another relevant discussion https://github.com/spdx/spdx-spec/issues/1261
 > provides additional context on the removal of these tags.

 Thanks, but I'm afraid this is adding confusion rather than context.
 For example, someone who appears to be an editor of the SPDX
 specification, github.com/bact, said:

 	It is an interesting question if we can use the license short
 	identifier as an spdxId of a license object and expect the
 	SPDX 3 consumer to interpret it the way SPDX 2 does.

 Such doubts _from among the SPDX editors_ are really not helping to
 inspire confidence in the reliability of the standard!

 > The current usage documentation can be found here
 > https://github.com/spdx/using/blob/main/docs/license-id-in-source.md.
 > 
 > Moreover, the REUSE Software project (https://reuse.software/spec-3.3/)
 > actively endorses the use of these tags, offering a detailed rationale
 > for their adoption. REUSE is an initiative by the Free Software
 > Foundation Europe (FSFE).

 I checked the REUSE Spec 3.3 and it is defined in terms of the
 now-deleted part of the SPDX 2.3 spec, Annex H.  So I would guess that
 REUSE Spec 3.4 or whatever will have to do something different.

 Does FSFE intend to become the normative authority for this syntax?

 Given that there's been an open question about this since October,
 with zero responses from anyone at FSFE, I'm not even sure this is on
 the radar of anyone responsible:

 https://github.com/fsfe/reuse-website/issues/120

 I'm just not at all confident in the viability of the SPDX
 organization (Linux Foundation? working group?) as a standards body --
 they've taken the specific thing you're asking for out of the
 standard, published an ISO standard full of 404 broken links to their
 own web site, and told people asking how to update from 2.x to 3.x
 that the same artefacts might not be interpreted the same way.

 > Having read too many licenses during this year. I can confidently say 
 > that it
 > makes a significant difference whether only the license text is provided
 > or whether an SPDX identifier is also included. Even with a license
 > text provided, you still need to use a tool to parse it to ensure it
 > does not contain any unexpected wording or deviations from the standard.
 > 
 > With an SPDX-License-Identifier, you can quickly verify that the license
 > text matches the expected wording (e.g., BSD-2-Clause). If it does not
 > match, as in this example: 
 > https://github.com/spdx/license-list-XML/issues/3007
 > I need to start figuring from the scratch

 Sure, I understand the appeal of quickly summarizing this stuff, which
 is why we have, e.g., LICENSE= tags in pkgsrc which, if specified,
 have to match the exact text -- modulo naming of copyright holders --
 of what is recorded in pkgsrc/licenses/.  (This system predated SPDX.)

 I also understand that bespoke systems like pkgsrc's are less
 appealing than industry-wide standards bodies.  If there were a
 _reliable_ standards body here, that might be an improvement.

 But the key point is that the standards body has to inspire confidence
 that it will be reliable, and the SPDX organization is not doing that.

 > Additionally, there are many licenses with nearly identical wording but
 > minor variations. These can also be identified with the right tools
 > and a bit of reading. However, having an extra line for the
 > SPDX-License-Identifier in the source file does not seem like a burden,
 > especially since license can take up most of the file's content in some
 > cases.

 My concern is that if we add these, we'll have two sources of truth
 that might get out of sync, and while one of them is the plain
 language, the other is reference to an outside standard by an
 unreliable standards body.  So it will be necessary to use wdiff
 anyway to work around the unreliability.


 I went to draft a policy last month but I stopped because the
 authority I wanted to cite for the whole point of the policy --
 SPDX-License-Identifier tags in source code -- seems to be unreliable.
 I'm open to the proposition that SPDX will clean up their act and
 become a useful citation in the future, but that has to be
 demonstrated; until then, a sloppy standard doesn't strike me as much
 better than checking wdiff.

 --=_3GH/d8a4GiEuk6sY511/abKYWvHzDwXu
 Content-Type: text/plain; charset="ISO-8859-1"; name="spdx-tags"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment; filename="spdx-tags"

 # [DRAFT] Policy on SPDX-License-Identifier tags

 XXX Apparently SPDX-License-Identifier tags have been removed from SPDX
 XXX 3.0.1 and I have no idea why.  For now this document cites SPDX 2.2
 XXX since that is the one that was codified as ISO/IEC 5962:2021.
 XXX
 XXX The spdx.dev web site is also currently full of 404 links, which is
 XXX why I added a requirement to provide Internet Archive links too.

 https://rt.netbsd.org/Ticket/Display.html?id=3D414980

 1. SPDX-License-Identifier tags MAY be added following the syntax of
    [SPDX-2.2], Appendix V "Using SPDX short identifiers in Source
    Files", and SHOULD go in the same comment block as the license text.

 2. Anyone adding SPDX-License-Identifier tags MUST NOT remove existing
    copyright notice (e.g., "Copyright (c) 2026 The NetBSD Foundation,
    Inc.") or the copying terms (e.g., "Redistriution and use in source
    code and binary forms, with or without modification, are permitted
    provided...").  (Removing the text would violate the copying terms.)

 3. SPDX-License-Identifier tags may be added ONLY where they are
    unambiguously correct.  Anyone who adds them MUST link to the
    canonical SPDX text at [SPDX-LIST] together with an Internet Archive
    link (https://web.archive.org/) and put evidence in the commit
    message that they have personally verified the full text matches the
    canonical SPDX text with wdiff(1) from pkgsrc textproc/wdiff or an
    equivalent word diff tool.  If there is any question, don't do it.

 4. If any discrepancy arises, the existing text overrides, and
    SPDX-License-Identifier tags MAY be removed by anyone with a commit
    message explaining the discrepancy.  The removal MUST NOT be then
    reverted without further public discussion or appeal to board@.

 5. Except for code imported from external sources (such as external/ or
    code outside external/ shared with other BSDs), new code MUST still
    have license text, not just an SPDX-License-Identifier tag.  New
    code SHOULD use localsrc/admin/copyright/templates/*.

 References:

 [SPDX-2.2] _Software Data Package Exchange (SPDX)_, The Linux
 Foundation, Specification Version 2.2.
 https://spdx.dev/wp-content/uploads/sites/31/2023/09/SPDX-specification-2-2=
 .pdf
 https://web.archive.org/web/20260418031142/https://spdx.dev/wp-content/uplo=
 ads/sites/31/2023/09/SPDX-specification-2-2.pdf

 [SPDX-LIST] _SPDX License List_, The Linux Foundation
 https://spdx.org/licenses/

 --=_3GH/d8a4GiEuk6sY511/abKYWvHzDwXu--

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.49 2026/05/14 01:52:41 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.