Closed tarsius closed 3 years ago
Strongly recommend doing it like in your first example:
;; Copyright (C) 2008-2021 Jonas Bernoulli
;; SPDX-License-Identifier: GPL-3.0-or-later
This format is compliant with the reuse spec and there are already automated tools that can parse it (at least the reuse command).
In most cases the Author:
line will duplicate the name in the Copyright
line, but I don't see a way around that.
I spoke too soon. Your second example passes the reuse linter as well; apparently it doesn't matter if the copyright and spdx lines are far apart.
Another crazy idea. Put the SPDX-License-Identifier
before the permission statement and deal with the fact that there are now three consecutive single-line groups by connecting the outer ones to their neighbors using lines with only ;;
. I.e. super-groups.
;;; hl-todo.el --- highlight TODO and similar keywords -*- lexical-binding: t -*-
;; Copyright (C) 2013-2021 Jonas Bernoulli
;; Author: Jonas Bernoulli <jonas@bernoul.li>
;; Homepage: https://github.com/tarsius/hl-todo
;; Keywords: convenience
;;
;; Package-Requires: ((emacs "25"))
;; This file is not part of GNU Emacs.
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
;; This file is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This file is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; For a full copy of the GNU General Public License
;; see <http://www.gnu.org/licenses/>.
;;; Commentary:
Oh! And/or put the "not Emacs" after the permission statement.
;;; hl-todo.el --- highlight TODO and similar keywords -*- lexical-binding: t -*-
;; Copyright (C) 2013-2021 Jonas Bernoulli
;; Author: Jonas Bernoulli <jonas@bernoul.li>
;; Homepage: https://github.com/tarsius/hl-todo
;; Keywords: convenience
;; Package-Requires: ((emacs "25"))
;; SPDX-License-Identifier: GPL-3.0-or-later
;; This file is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This file is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; For a full copy of the GNU General Public License
;; see <http://www.gnu.org/licenses/>.
;; This file is not part of GNU Emacs.
;;; Commentary:
Just thinking out load here. Stop me if you can. Seriously. Stop me.
Hm actually, this is kinda nice:
;; Package-Requires: ((emacs "25"))
-;; This file is not part of GNU Emacs.
+;; SPDX-License-Identifier: GPL-3.0-or-later
;; This file is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
-
+;;
;; This file is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
-
+;;
;; For a full copy of the GNU General Public License
;; see <http://www.gnu.org/licenses/>.
+;; This file is not part of GNU Emacs.
+
;;; Commentary:
We probably should pitch SPDX to emacs-devel and have them make the decision
Thanks for letting me think out loud here...
In the header sure. But where?
Maybe this is crazy but what about:
I.e.: give up on "nothing shall ever touch the copyright line".
Or instead give up on "never put anything in between the header keywords (except empty lines, for grouping purposes)", i.e.: