peertube-plugin-livechat icon indicating copy to clipboard operation
peertube-plugin-livechat copied to clipboard

Adding the SPDX comment headers of copyright and licensing information

Open Jit-p opened this issue 1 year ago • 4 comments

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 peertube-plugin-livechat 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 ".ts" files in the /server/lib folders and /server 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 AGPL 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.

Additionally, I noticed that you have several image files ".svg" in the Assets 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 files here listing the John Livingston and Code Lutin SASPO as the copyright holders, with a GPLv3 license as specified in your COPYRIGHT folder. Please feel free to modify this to your needs.

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

Best, Jithendra (Free Software Foundation Europe)

Jit-p avatar Jul 04 '23 07:07 Jit-p

Thanks. I'll check this very soon.

Instead of naming me (and Code Lutin) in each file, could the SPDX-FileCopyrightText field just be an URL to something like https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md, where I can then list the licenses holder? And maybe add the contributors list? It would be easier to maintain.

JohnXLivingston avatar Jul 04 '23 07:07 JohnXLivingston

Instead of naming me (and Code Lutin) in each file, could the SPDX-FileCopyrightText field just be an URL to something like https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md, where I can then list the licenses holder? And maybe add the contributors list? It would be easier to maintain.

I got some answers here: https://reuse.software/faq/#many-copyright-statements

JohnXLivingston avatar Jul 05 '23 07:07 JohnXLivingston

Hi, thanks a lot for your interest in REUSE.

Yes, sure, in case you prefer to maintain a list of contributors, I would suggest to fill the tag as # SPDX-FileCopyrightText PeerTube plugin livechat contributors https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md and keep the list updated.

In case you prefer, I could also implement all the changes in the rest of the repository.

Thanks a lot

Jithendra

Jit-p avatar Jul 17 '23 09:07 Jit-p

Yes, sure, in case you prefer to maintain a list of contributors, I would suggest to fill the tag as # SPDX-FileCopyrightText PeerTube plugin livechat contributors https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md and keep the list updated.

great!

In case you prefer, I could also implement all the changes in the rest of the repository.

I'll do it myself. I'm discussing with another maintainer on how we should include REUSE.

We are not big fan of including license headers in all files. We will probably use the DEP5 format for all front-end and backend code. And some .license files for images.

I'll keep you in touch here.

JohnXLivingston avatar Jul 17 '23 10:07 JohnXLivingston

As this PR is outdated, i started the process again. SPDX compliance is made by this new PR: https://github.com/JohnXLivingston/peertube-plugin-livechat/pull/390.

Thanks.

JohnXLivingston avatar May 23 '24 10:05 JohnXLivingston