Ensure copyright and licensing headers are REUSE compliant
It would be useful for packagers and vendors to have a complete and unambiguous record of the licensing of GLib. This can be achieved (and mechanically checked) using REUSE.
See the REUSE tutorial for the details of the tags to add to each file. Most files in GLib already have a non-machine-readable copyright and licensing header; this task requires that those headers are made machine-readable.
The time-consuming part of this task will be hunting down the correct license and list of contributors for files which don’t already have a non-machine-readable copyright and licensing header. That will require digging through the git logs to look for major contributors to each file.
Note that a lot of the smaller ancillary directories can be bulk licensed.
Simon has some helpful thoughts about the benefits of keeping the full-text licensing and copyright headers in files and not just using the short-form SPDX tags: https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/304#note_1387796
Current summary output of reuse lint
on the root of GLib (with !4014 (merged) applied):
- Bad licenses:
- Deprecated licenses:
- Licenses without file extension:
- Missing licenses: AFL-2.0, CC-BY-SA-3.0
- Unused licenses:
- Used licenses: AFL-2.0, Apache-2.0, CC-BY-SA-3.0, CC0-1.0, GPL-2.0-or-later, LGPL-2.1-only, LGPL-2.1-or-later, LLVM-exception, LicenseRef-old-glib-tests, MIT, MPL-1.1
- Read errors: 0
- Files with copyright information: 1934 / 2270
- Files with license information: 1884 / 2270
Unfortunately, your project is not compliant with version 3.0 of the REUSE Specification :-(
Missing copyright and licensing information
-
.clang-format -
.dir-locals.el -
.editorconfig -
.gitignore: !4014 (merged) -
.gitlab-ci/* -
.gitlab-ci.yml -
.lcovrc -
CODE_OF_CONDUCT.md -
CONTRIBUTING.md -
HACKING -
INSTALL.md -
NEWS -
README.md -
README.win32.md -
SECURITY.md -
docs/* -
docs/reference/* -
docs/reference/COPYING — see #2386 -
docs/reference/gio/* -
docs/reference/gio/gdbus-object-manager-example/* -
docs/reference/gio/xml/* -
docs/reference/glib/* -
docs/reference/glib/xml/* -
docs/reference/gobject/* -
docs/reference/gobject/images/* -
docs/reference/gobject/xml/* -
fuzzing/* — !2666 (merged) -
gio/completion/*: !4013 (merged) -
gio/* -
gio/gapplicationimpl.h: !2797 (merged) -
gio/gdbus-2.0/codegen/*: !4014 (merged) -
gio/gdbusdaemon.[ch]: !2797 (merged) -
gio/gioenumtypes.[ch].template: !2797 (merged) -
gio/gvdb/gvdb.doap -
gio/gwin32api-*.h: !2797 (merged) -
gio/inotify/meson.build: !4014 (merged) -
gio/kqueue/meson.build -
gio/tests/*: !3049 (merged) -
gio/tests/actions.c: !2797 (merged) -
gio/tests/de/LC_MESSAGES/meson.build -
gio/tests/de.po -
gio/tests/desktop-files/usr/applications/mimeinfo.cache -
gio/tests/modules/meson.build -
gio/tests/modules/symbol-visibility.h -
gio/tests/services/* -
gio/tests/static-link/app.c -
gio/tests/static-link/meson.build -
gio/tests/x-content/unix-software/autorun.sh -
gio/win32/meson.build -
gio/xdgmime/.gitignore: should be done upstream in xdgmime, or copylib removed; see #2603 -
gio/xdgmime/meson.build: should be done upstream in xdgmime, or copylib removed; see #2603 -
glib/deprecated/gallocator.c -
glib/deprecated/gallocator.h -
glib/dirent/*: should be done upstream in dirent, or copylib removed; see #2603 -
glib/glib-mirroring-tab/meson.build -
glib/gnulib/*: should be done upstream in gnulib, or copylib removed; see #2603 -
glib/libcharset/*: should be done upstream in libcharset, or copylib removed; see #2603 -
glib/tests/*: !3049 (merged), !3417 (merged) -
glib/tests/queue.c: !3324 (merged) -
glib/tests/path-test-subdir/meson.build -
glib/tests/path-test-subdir/spawn-test-helper.c -
glib/tests/time-zones/* -
glib.doap -
gmodule/AUTHORS -
gmodule/meson.build -
gmodule/tests/meson.build -
gobject/* -
gobject/tests/*: !3049 (merged) -
gthread/gthread.def -
gthread/meson.build -
m4macros/* -
meson.build -
meson_options.txt -
msvc_recommended_pragmas.h -
po/LINGUAS -
po/POTFILES.in -
po/POTFILES.skip -
po/meson.build -
subprojects/*.wrap: !2797 (merged) -
tests/* -
tests/gobject/* -
tests/refcount/* -
tools/check-abis.sh -
tools/glib.supp -
tools/meson.build
Missing copyright information
-
.gitlab-ci/clang-format-diff.py
Missing license information
-
.gitlab-ci/android-ndk.sh -
.gitlab-ci/coverity-model.c -
docs/reference/gio/concat-files-helper.py -
gio/completion/gio: !4013 (merged) -
gio/* — !2665 (merged) -
gio/gdbus-2.0/codegen/*: !4014 (merged) -
gio/gvdb/* -
gio/inotify/*: !4014 (merged) -
gio/kqueue/* -
gio/tests/* — !2665 (merged) -
gio/win32/* -
gio/xdgmime/* -
glib/deprecated/* — !2706 (merged) -
glib/* — !2665 (merged) -
glib/glib-mirroring-tab/gen-mirroring-tab.c -
glib/glib-mirroring-tab/packtab.c -
glib/glib-mirroring-tab/packtab.h -
glib/gnulib/* -
glib/libcharset/* -
glib/tests/* — !2665 (merged) -
gmodule/* — !2706 (merged) -
gmodule/gmodule.rc.in -
gmodule/tests/cxx.cpp — !2706 (merged) -
gobject/* — !2706 (merged) -
gobject/gobject.rc.in -
gobject/tests/autoptr.c -
gobject/tests/closure-refcount.c -
gobject/tests/dynamictests.c -
gobject/tests/threadtests.c -
gobject/tests/* — !2706 (merged) -
gthread/gthread-impl.c — !2706 (merged) -
gthread/gthread.rc.in -
m4macros/attributes.m4 -
m4macros/glib-gettext.m4 -
po/Makefile.in.in -
po/po2tbl.sed.in -
tests/gobject/* -
tools/glib-gettextize.in — !2706 (merged)