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 reuse #643

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

Ngi0 reuse #643

wants to merge 3 commits into from

Conversation

Jit-p
Copy link

@Jit-p Jit-p commented Jul 28, 2023

Hello,

By way of introduction, I am Jithendra with the Free Software Foundation Europe, a consortium member of the NGI0 Initiative, of which you have signed atomic tables/atomic server up for participation and funding. Part of what is offered with your 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 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 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
I've noticed that several files in your repository already contain information about the copyright and license information for the code in that particular file. That's great! Nevertheless, 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 (namely all the ".rst" files in the /lib/src and /cli/src 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. 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 MIT and CC0 licenses.

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.

Image files

Additionally, I noticed that you have several image files ".png" and ".svg"in the /desktop/icons folder. For image files, we recommend creating a .license file, where you can include the comment headers for the license and copyright information. We've added comment headers to all the .svg and .png files in desktop/icons folder and here listed the project Joep Meindertsma as the copyright holder. Please feel free to modify and update this to your needs.

Please also note that this is just an example to demonstrate how the REUSE specification standardizes your repository by covering all the files with SPDX comment headers into a machine readable format. You can always check the REUSE documentation for more guidelines and also contact us in case of any queries.

I hope that you find this useful. Feel free to adopt in case you feel REUSE may help your project with copyright and licensing management. Please feel free to contact me directly at jithendra@fsfe.org if you have any questions.

Best,
Jithendra
(Free Software Foundation Europe)

@joepio
Copy link
Member

joepio commented Aug 8, 2023

Thanks for the PR, Jithendra! Appreciate it :)

I must admit I'm a little cautious with accepting this PR, since it feels like quite a lot duplication. I tend to value the "Don't repeat yourself" ideal, which here boils down to having one single license file in the root of the repo. This is standard practice, and quite easy to maintain. Having the same license information spread out over 60+ files can be error prone, and a hassle to manage if the license changes at some point in time.

It definitely looks like an improvement over including full license texts in every single file, but it its still more verbose than having one single .LICENSE file in the root.

So I'd rather keep things the way they are, unless there's good reason to change it. Keep in mind: I'm not very knowledgeable about legal stuff, so I could be overlooking things here!

@Jit-p
Copy link
Author

Jit-p commented Aug 8, 2023

Thank you for your reply! Please be assured that you can always contact us if you change your mind and want to adapt the REUSE specification in future or if you have any questions regarding the same!

Best
Jithendra
(Free Software Foundation Europe)

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