My first ever question...
Within the (excellent) GNURadio Project the source code (example here) generally features a header declaring the copyright holder, the project that the file is part of and an SPDX line pointing to the GPL3. The project source has a copy of the GPL3 in its root.
My question is, is the SPDX line in the source code file sufficient to unequivocally assert that the file is licensed with GPL3?
I'm not sure that it is. My thinking is that, taken in isolation, the file makes no written English assertion as to what the licensing conditions for the file are or where to go look for them. SPDX is merely a machine digestible convenience for developers wanting to automatically keep their license usage properly sorted. The words "license" and "gpl3" are used, but words like "under the terms of" or "applies" are absent.
A developer familiar with SPDX knows what it means. Not all developers know SPDX. Also I think it's doubtful that the Man on the Clapham Omnibus can be expected to understand the meaning of an SPDX line, and there's nothing in the GPL3 text that unequivocally refers to each individual source file in a project by name, or to the name of the program.
If there is no adequate reference in the source to GPL3, a recipient has a program that happens to come with a copy of the GPL3 text.
Also section 5b of GPL3 requires that a modified work should contain "prominent notices" that GPL3 applies. Does that, stricly speaking, mean that someone modifying GNURadio-style source code has to put all the traditional license text back into each file? My assumption is no, presumably one can adopt the original authors' styles.
However, that leads on to another question. Suppose I were to contribute to the project, and I put in the GPL3 recommended header text in the files I've created; can I object if someone else subsequently removes it?
I read in a presentation about SPDX that it's considered best practice to include both the SPDX line(s), and the traditional text about the license terms. Also, the GPL3 text itself states that it is safest to include the recommended text.
I'm not part of the GNURadio project. I'm simply using it, glanced round its git repo, was startled to see very little in the way of license terms in source headers and wondered about the wisdom of that absence.