reuse-tool icon indicating copy to clipboard operation
reuse-tool copied to clipboard

Deprecate `--include-meson-subprojects` and make it default, introduce `--exclude-meson-subprojects`

Open marktsuchida opened this issue 2 years ago • 2 comments

It appears that (when --include-meson-subprojects is not given) reuse ignores any subdirectory of the subprojects/ directory. This is not correct: subprojects/packagefiles should be treated the same way as subprojects/*.wrap files.

In addition to the above issue, I find it highly surprising that subprojects that are under VCS tracking get ignored silently. (The fact that git submodules are ignored by default did not surprise me; any repo that is a submodule is usually separately obtainable, so it makes sense that it should have its own license management.) I only figured out what was going on after using --debug and stepping through with a debugger.

Meson subprojects can be used in a number of different ways, and having a subproject that is strongly tied to the main project and/or too small to warrant independent license management is probably not uncommon (especially in the case where the subproject is neither a git submodule nor ignored by the VCS).

I'm not sure what would be the right thing to do (if anything), but some possibilities that come to mind are:

  • Change the default to include subprojects and have a flag to exclude them (this would be an incompatible change),
  • Ignore Meson subprojects only if they contain a LICENSES/ directory of their own (and maybe recursively scan the subproject as a separate project), or
  • Just make it clearer in the documentation/spec that subprojects are ignored by default

marktsuchida avatar Aug 21 '22 22:08 marktsuchida

Thank you for your comment. In the maintainers call today we came to the conclusion that your argumentation is correct and that the default should be to include meson subprojects by default, but provide an optional flag --exclude-meson-subprojects to exclude them.

This shall happen in an upcoming version 2.0.0 indicating this breaking change.

/cc @ventosus as they contributed the --include-meson-subprojects flag in #496.

mxmehl avatar Aug 31 '22 14:08 mxmehl

Appreciate it!

marktsuchida avatar Sep 03 '22 18:09 marktsuchida