[REUSE] Introduce folder.license file

Max Mehl max.mehl at fsfe.org
Thu Mar 5 11:35:08 UTC 2020


With the current specification it's possible to create an extra file
containing the copyright and licensing information for binary files or
those not supporting comment headers. So for instance, for the file
`cat.jpg`, you can create the text file `cat.jpg.license` which contains
the SPDX-License-Identifier and SPDX-FileCopyrightText (or the
traditional Copyright ©) lines.

That works well for single files, but how to deal with a directory
containing hundreds of such files, e.g. icons or JSON files? Currently,
you would either have to create a .license file for each of them, or
bulk-license this in the REUSE dep5 file [^1].

This is a bit clunky. Therefore we suggest to introduce the same
mechanism for folders that we already have for binary files:
folder.license

Example: the directory `img/` contains a lot of non-editable files. To
add copyright and licensing information for every single of these files,
one could create the text file `img.license` on the same level as the
directory itself. This file would then contain the required information.

Pros:
  - Easier way to bulk-license directories
  - Information is closer to the actual files and not far away in
    .reuse/dep5.
  - It's feels intuitive to support the same mechanism for directories
    as for files.

Cons:
  - Could be abused by lazy people who then would only create one
    .license file for a complex hierarchy, e.g. by doing that for the
    `src/` folder. This would conflict with REUSE's goal to have the
    information as close to the files as possible (ideally as comment
    header).
  - Potential "option overload", since this would be the fourth option
    to declary copyright and licensing information next to comment
    header, file.license, and dep5 file.

Options:
  - Soft-deprecate the dep5 file over time if we introduced the
    folder.license scheme if we consider dep5 to be used mainly for
    bulk-licensing directories. However, dep5 also supports wildcards
    like `*.png`.
  - Like the dep5 soft-deprecation above, but combined with the
    introduction of a better format. DEP5 has its limitations, has a
    different syntax in some places, and REUSE also overrides some parts
    of the DEP5 spec. So something like JSON or YAML could be more
    appropriate.


Please share your opinion on this suggestion in reply to this mail.
Thank you!

Best,
Max

[^1]: https://reuse.software/faq/#bulk-license

-- 
Max Mehl - Programme Manager - Free Software Foundation Europe
Contact and information: https://fsfe.org/about/mehl | @mxmehl
Become a supporter of software freedom:  https://fsfe.org/join


More information about the REUSE mailing list