NyanCAD / Mosaic

A modern schematic entry and simulation program
https://nyancad.github.io/Mosaic/
Mozilla Public License 2.0
67 stars 5 forks source link

Making Mosaic REUSE Compliant #81

Closed NSfsfe closed 2 years ago

NSfsfe commented 2 years ago

Hello,

By way of introduction, I am Niharika Singhal from the Free Software Foundation Europe, and the REUSE Booster program. After a check on your repository, I would like to propose some updates regarding your copyright and licensing information. The REUSE specifications intend 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. You can check this screencast: https://download.fsfe.org/videos/reuse/screencasts/reuse-tool.gif

Please keep in mind that this merge request is intended to be a practical example of how REUSE looks like.

I would also like to make some remarks to be considered to make your full project REUSE compliant.

Feel completely free to adopt these specifications by merging this pull request.

REUSE Features:

SPDX copyright and license comment headers for all relevant files (please be aware that in the current state of the repository, I was able to add headers to all the directories. However, some files might miss this feature depending on the type of the file). If you are interested in implementing REUSE specification, I hope this merge request can help you to do so.

LICENSES directory in the root of the project with the licenses used on the repository:

I included in this directory the file that contained the license (GPL 3.0 only) text. If some pieces of your project use a different license, please add their license text to the LICENSES directory. For instance, the image files in the project are licensed under MIT license and the same is included in the LICENSES directory.

Files missing copyright and licensing information:

I noticed that your project does not have the copyright and license information displayed in a comment header. According to the REUSE specifications, the comment headers MUST contain the SPDX Tag. For this, we recommend to update the headers, or at least the SPDX-License-Identifier as in this practical example.

Please also double check if the personal information in the headers is correct and consistent, in the case of several copyright holders please update that information in the headers.

In case you want to license certain files under a different license, special attention should also be paid to that aspect and such files should contain the appropriate SPDX tag.

Please note that I used the REUSE helper tool to add the headers, so the tool automatically deleted the existing header (if any) and change it for the SPDX format.

Image files in the .reuse directory in the root of the project:

Copyright and Licensing Information MAY be associated with a file through a DEP5 file that you will find in the .reuse folder in the root of the project. The intended use case of this method is large directories where including a comment header in each file (or in .license companion files) is impossible or undesirable. Based on our call, we added the MIT license to all of the image files,barring one file, namely, logo.svg. However, you can license other image files under licenses as well and include the license in the LICENSES directory.

We can also do a follow up of this PR and further REUSE specification with a call. Feel free to reach me out.

Hope that helps and thank you very much for the amazing job! -- Niharika Singhal - Trainee Free Software Foundation Europe Schönhauser Allee 6/7, 10119 Berlin, Germany | t +49-30-27595290 Registered at Amtsgericht Hamburg, VR 17030 | https://fsfe.org/support

pepijndevos commented 2 years ago

I will not merge this PR because it completely breaks almost every file it touches including the readme and Clojurscript code

image

I also believe this approach to be counterproductive because due to the "LICENSES" folder, Github no longer identifies the repository as GPL, in fact making it harder for the average user to see the license information.

Would you prefer to update the PR so that it doesn't break everything, or should I close it and consider it as an example how to apply license information?