Skip to content

REUSE Specification#133

Open
gabriel-ku wants to merge 2 commits into
namecoin:masterfrom
gabriel-ku:NGI0-FSFE-REUSE
Open

REUSE Specification#133
gabriel-ku wants to merge 2 commits into
namecoin:masterfrom
gabriel-ku:NGI0-FSFE-REUSE

Conversation

@gabriel-ku
Copy link
Copy Markdown

By way of introduction, my name is Gabriel and I work for the Free Software Foundation Europe, a consortium member of the NGI0 initiative. Part of what is offered with your involvement with NGI0 is help from us with your project on your copyright and license management in your project repo(s).

I would like to propose some updates regarding copyright and licensing information in your files. Our REUSE specification (https://reuse.software) intends to make licensing easier with best practices to display legal information through comment headers on source files that can be easily human and machine readable. The REUSE tool we have developed to support this specification also makes the process of applying licenses to files and compliance checking much easier.

Instructions on how to install the REUSE tool can be found here: https://reuse.readthedocs.io/en/stable/readme.html#install

You can also check out this screencast for more instructions on how to use the REUSE tool: https://download.fsfe.org/videos/reuse/screencasts/reuse-tool.gif

The changes in this pull request have also been made for you to understand the basic ideas behind REUSE, and how adopting the REUSE practices would look like within your repository.

REUSE Features:

• SPDX copyright and license comment headers for relevant files. 
• LICENSES directory with licenses used in the repository 
• Associating copyright/licensing information through a REUSE.toml file in large directories. 

Files Missing Copyright and Licensing Information

The main idea behind REUSE is that every single file in your repository should have a header that includes information about your copyright and licensing, in a machine-readable format.

To serve as an example, I added the SPDX headers with copyright and license information to copyrightable files throughout your repo. This should give you an idea of how comment headers should look like in a REUSE compliant repository, and how to include them if you add more files to the repo.

Please also check if the personal information in these headers are correct and consistent to your knowledge (I have merely used Namecoin.org there as a placeholder for the copyright holder, as I am not in a position to know the copyright applicable to each file in the repo). You may also use an email address in place of the project weblink if you so choose. In the event that there are more copyright holders, please include them in these comment headers.

LICENSES Directory in the Root of the Project Repository

The LICENSES Folder should contain the license text of every license applicable in your repository. I included in this directory a file that contains the GPL-3.0 license text.

Additionally, I included in this folder the text for the CC0 license. This is because you have files in your project that are not copyrightable, for example configuration files such as .gitignore. As the fundamental idea of REUSE is that all of your files will clearly have their copyright and licensing marked, I have applied the CC0 license to .gitignore which is functionally identical to putting the file into the public domain.

Licensing of Image or Non-Editable Files

The licensing and copyright information of image files or other similarly non-editable files (or files in which including a comment header may be difficult) can be done by creating a separate text file for the comment header, titled "Original-File-Name.license". So for example, the comment header for an image file titled "Dog.jpg" would be contained in a separate file titled "Dog.jpg.license". I have done this for .cirrus.star and .cirrus.yml files in the root directory.

Alternatively, if you have a large folder with many non-editable files where it would be impractical to create separate .license files for each file, you can bulk license folders with the same copyright and license information using a REUSE.toml file.

I hope that you find this useful and please feel free to contact me directly at gabriel.ku@fsfe.org if you have any questions.

Best,
Gabriel
(Free Software Foundation Europe)

@JeremyRand
Copy link
Copy Markdown
Member

Hi! Thanks for the assistance! I'll review the rest of this soon, but one immediate comment:

Additionally, I included in this folder the text for the CC0 license. This is because you have files in your project that are not copyrightable, for example configuration files such as .gitignore. As the fundamental idea of REUSE is that all of your files will clearly have their copyright and licensing marked, I have applied the CC0 license to .gitignore which is functionally identical to putting the file into the public domain.

I'm not convinced that we want to mark anything as CC0. Part of the benefit (in our view, at least) of the GPL is that it "scales" with copyright law, so if there exists some jurisdiction (either now or in the future) where such trivial files are subject to copyright, I think we want the GPL to be applied to them, even though my expectation is that in most jurisdictions at the present, such files are not subject to copyright. Anyone in a jurisdiction where those files aren't copyrightable doesn't need a license declaration (CC0 or otherwise) to use it without infringing copyright.

@gabriel-ku
Copy link
Copy Markdown
Author

gabriel-ku commented Nov 24, 2025

I'm not convinced that we want to mark anything as CC0.

That's also a valid perspective, and please feel free to amend it as you see fit! The details of what are included in the pull request are just the FSFE's suggestions of best practice for compliance with the REUSE specification. Ultimately the most important thing to adhere to, if you choose to adopt REUSE, is ensuring that your licensing and copyright information appear in a machine-readable format in every source file in your repository.

Removed the mention of Outreachy project from the README to make the project description more general.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants