Description
As suggested by @goneall, I would like to propose a new SPDX profile for the 3.0 spec. At REUSE we're looking for a more flexible and human-editable solution to deprecate our DEP5 spec to bulk-license files, currently under the working title "REUSE.yaml". However, we would love to be compatible with SPDX in this matter.
Goals
- Ability to mark multiple files, including wildcards.
- Mark files relative to the location of this SPDX file, and thereby allow multiple of these files.
- Minimum required information: one or multiple
SPDX-FileCopyrightText
, andSPDX-License-Identifier
. - Use same keys as the known SPDX tags (see above)
Rationale
Obviously, a full SPDX file is not readable and maintainable for average developers. There should be a way to specifiy only copyright and licensing of one or multiple files in a very concise manner. To not have to learn a differing syntax, the tags names SPDX-FileCopyrightText
and SPDX-License-Identifier
should stay the same. Ideally, all information would be applied relative to the SPDX file path (but not being able to define files in paths above its own location).
Scenario: a maintainer marked all source codes files according to the REUSE best practices with in-file comment headers. For a directory with 500 icon files however, they would prefer to bulk-declare these. To do this, it would be the easiest to create a YAML/JSON file inside of this repo, use *
as target, and add copyright and licensing information.
Ideas for implementation
We've collected some syntax proposals for REUSE.yaml in this thread. For example:
- src/*:
SPDX-FileCopyrightText:
- 2020 Me
- © 2017 You
SPDX-License-Identifier: MIT
or
- src/*:
license:
SPDX-License-Identifier: MIT
copyright: |
SPDX-FileCopyrightText: 2020 Me
SPDX-FileCopyrightText: © 2017 You
We are open to the exact syntax, but it would be wise to not make it much more complex.
However, I am aware that some of these proposals stretch the general idea of SPDX files and perhaps also the new profiles. I am excited to learn what you folks are thinking about this very simple approach.