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-FSFE Updating Selected Documents with REUSE Specification #969

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

gabriel-ku
Copy link

Hello,

By way of introduction, I am Gabriel with the Free Software Foundation Europe (FSFE) a consortium member of the NGI0 Initiative. Part of what is offered FrictionlessData's involvement with NGI0 is help from us with your project on your copyright and license management.

After a quick check on your repository, I would like to propose some template updates regarding copyright and licensing information in your repo. 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 DEP5 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 information about the copyright and license of your project files.

To serve as an example, I added the SPDX headers with copyright and license information to the copyrightable files in the "content/docs/ folder. 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.

Please also check if the personal information in these headers are correct and consistent to your knowledge, as I have merely used a placeholder for the copyright segment of the comment header. 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 the file that contained the Unlicense license text.

I hope that you find this useful and please feel free to contact me directly at [email protected] if you have any questions.

Best,
Gabriel
(Free Software Foundation Europe)

@peterdesmet
Copy link
Member

Hi @gabriel-ku, thanks for proposing this. In my opinion applying a copyright and license to all files in the repository:

  • Is harder to maintain, unless by running the REUSE script as part of CLI.
  • Creates headers (for text-based files) or additional files (for binary files like images, see example), which can clutter a repository
  • Specifies a license multiple times (and can thus create conflicting information):
    • As a LICENSE or LICENSE.md file in the root (a general best practice for open source software, also picked up by GitHub)
    • As a LICENSES/Unlicense.txt
    • As a SPDX-License-Identifier in the header of or additional file for every file

But more importantly, I have not seen this approach as a general best practice. I can understand the appeal if different licenses are use for a single repository, but that is not the case for this one. @roll or others, any thoughts?

@roll
Copy link
Member

roll commented Sep 17, 2024

@gabriel-ku
@peterdesmet
Thanks a lot!

Here is a little bit of a context. The amazing REUSE project has been suggested to us by our friends and supporters at NLnet. I'm not a licensing expert so I tend to trust FSFE =) On the other hand, as this exact repository is a very specific Unlicensed non-software project with many stockholders having to vote for accepting significant changes so I would suggest us to start REUSE adoption from the dplib-py Python library to see how it works with our maintenance model.

I educated myself with the REUSE tools and created a pull request that makes source code of the dplib-py REUSE compliant (integrating the license linting into the CI workflow) - frictionlessdata/dplib-py#20. @gabriel-ku Could you please take a look?

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