Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NGI0 - Proposed amendments from FSFE for REUSE (incomplete) #147

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

gabriel-ku
Copy link

After a quick check on your repository, 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 idea behind REUSE is that every single file in your repository should have a header that includes this information.

To serve as an example, I added the SPDX headers with copyright and license information to the copyrightable files in a few of the directories. This should give you an idea of how comment headers should look like in a REUSE compliant repository, and how they should be added to the other source code files in your repository. Do note that I have assigned the license identifier as "MIT OR Apache-2.0", in accordance with your indication for the user to decide whether the MIT or the Apache 2.0 license should apply.

Please also check if the personal information in these headers are correct and consistent to your knowledge. 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 have included the MIT and Apache 2.0 license texts here already.

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 Images Within the Project Repository

Binary files such as images or videos or certain text files such as JSON cannot be commented with a REUSE header, but they should still have copyright and licensing information.

There are two ways of associating information with such a file:

  1. Add a file next to it with the suffix .license (e.g. cat.jpg.license for a file called cat.jpg) and write the comment header in that file. The contents of the original file are subsequently ignored, which may be handy in some cases.
  2. License the file via REUSE.toml, a REUSE configuration file.

For now, I have used the /img folder (as well as some non-commentable files within the repository) as an example to demonstrate point 1. Do note that I do not have information about who the copyright holder or what licenses are applied to these files, and so the information in the comment headers therein are placeholders. Please do look them over and amend them with the appropriate information, if you have it.

As indicated in the title of the pull request, this is incomplete and only meant to be a demonstration of how copyright and licensing information within your repository should be handled in line with the REUSE specification. I hope that you will check out the REUSE tool and try out making these amendments yourself, so that you can make updates to further developments on your project by yourself in the future. Please feel free to contact me directly at [email protected] if you have any questions.

Best,
Gabriel
(Free Software Foundation Europe)

@schell
Copy link
Owner

schell commented Dec 12, 2024

Thank you @gabriel-ku! I'll get on this when I get home from my work trip this weekend.

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.

2 participants