Hi all,
Over the coming week, I will make submit requests against Factory for
two new packages: `python-debian` and `reuse`. I am writing to this
list per the recommendation of the wiki article :)
`reuse` is a tool of which I am the upstream author, written for the
Free Software Foundation Europe's REUSE Initiative. The REUSE
Initiative is a set of best practices for developers to license their
software in a way that is standardised and computer-parseable. The
recommendations are broken up in three parts:
1. Provide the exact text of each license used.
2. Include a copyright notice and license in each file.
3. Provide an inventory for included software.
Specifically for recommendation 2 and 3, the REUSE Initiative builds on
top of the work by the SPDX Workgroup.
In practice, the recommendations boil down to a a simple matter of
including the following lines in each comment header:
# Copyright (C) 2017 Carmen Bianca Bakker
#
# [Can include regular blurb text here or elsewhere.]
#
# SPDX-License-Identifier: GPL-3.0+
And declaring the licences of all files that cannot have comment headers
in a `debian/copyright` file, borrowed from the Debian project. This is
also incidentally why I am packaging `python-debian` :)
For extra integration, it is also recommended to allow a sort of "soft
linking" to the provided licence texts. If my source code refers to a
`GPL-3.0+` licence, then it would be handy to know which file this
corresponds with. Towards that end, you can either plop the licence in
`LICENSES/GPL-3.0.txt` or add the following lines to e.g. `COPYING`:
Valid-License-Identifier: GPL-3.0
License-Text:
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. https://fsf.org/
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[...]
And that is more or less the gist of the REUSE Initiative! We have been
in collaboration with the Linux kernel to refine the recommendations and
to see what can be done to make the kernel compliant. I assume there
will be more news on that later. You can find more information at
https://reuse.software/.
The to-be-submitted reuse package is a linter for recommendations 1 and
2, and a compiler for recommendation 3. It's a tool to help facilitate
developers in implementing the recommendations. It's a Python project of
under a thousand lines of code that is thoroughly documented and tested,
so maintainability shouldn't be very taxing. Including it in the
distribution will lower the barrier for adoption and _hopefully_ improve
and standardise the licensing practices of Free Software projects. One
may hope :)
The python-debian package is pulled from PyPI and maintained by the
lovely people at Debian, the distribution that is next on my list of
packaging. I use only a very small portion of the package, and
unfortunately the package does not include any automated testing. There
is some stuff in there that depends on `python-apt` (which is not
packaged for openSUSE, and probably never will be), but this is
fortunately not a hard dependency.
Thank you for building such an awesome distribution!
Yours sincerely,
--
Carmen Bianca Bakker
Technical Intern
Free Software Foundation Europe e.V.