[REUSE] Addressing some papercuts in the specification

Matija Šuklje matija at suklje.name
Tue Dec 28 20:24:05 UTC 2021


Hi,

I’ve just read the thread and for the sake of clarity and getting back on the 
original topic, I will try to summarise what the original issue seems to be 
about.

If I understand Drew’s original problem it is that he finds REUSE to lean too 
much towards human readable because they can be quite verbose and have to be 
in each file. (Drew, please correct me if I am misreading your initial e-
mail.)


# Per file

While the REUSE Spec does emphasise a preference to keep the license and 
copyright notices in the files themselves, it only requires that each file has 
notices related to it.

As such, a valid option is to use a central file with globbing for certain or 
even all files. An improved version of this is being worked on in:
https://github.com/fsfe/reuse-docs/issues/81


# Many lines due to many copyright holders

Another thing that I can see in your example is that you list many copyright 
holders, each in their own line.

If that is a bother for you, you can always do the following (I’m keeping your 
syntax) and it would still be a valid according to REUSE Spec:

// Copyright: 2019 Contributors to ProjectX <$optional_url>

…where$optional_url is an (optional) URL to the project’s homepage or the 
online file/page that lists all the contributors, however you see fit to 
format that list.

for more see:
https://matija.suklje.name/how-and-why-to-properly-write-copyright-statements-in-your-code#what-if-there-are-many-authors-or-copyright-is-held-by-a-legal-entity


# Year

You could even omit the year, if dealing with that is an additional hurdle, 
and it would still be REUSE compliant.

for why _I_ think the year is useful see:
https://matija.suklje.name/how-and-why-to-properly-write-copyright-statements-in-your-code#why-keep-the-year


# Summary

As such, a valid REUSE header in your case could be:

```
// SPDX-License-Identifier: GPL-3.0-only
// Copyright: Contributors to ProjectX <https://projetx.org/contributors>
```

`cat $reuse_header $file > $file`

Then even if someone later on (e.g. a packager) wants to figure out what the 
license situation is for your project all they need to do is:

`ls LICENSES/`

…to see the list of all the licenses.

and if they feel that is not enough for them, they can always:

`grep --recursive SPDX-License-Identifier`

… to see which files fall under which licenses.

No need for any fancy additional tooling :)


holiday cheers,
Matija
-- 
gsm:	tel:+386.41.849.552
www:	https://matija.suklje.name
xmpp:	matija.suklje at gabbler.org
sip:	matija_suklje at ippi.fr




More information about the REUSE mailing list