dangeredwolf / ModernDeck

A beautiful, powerful Twitter client for desktop.
https://moderndeck.app
MIT License
318 stars 38 forks source link

ModernDeck to follow REUSE best practices #320

Open lnceballosz opened 2 years ago

lnceballosz commented 2 years ago

Hi,

By way of introduction, I am Lina Ceballos from the Free Software Foundation Europe (FSFE)^0, and the REUSE Booster program.

I would like to propose for ModernDeck to follow the REUSE best practices that make licensing and copyright information unambiguous and perfectly human- and machine-readable ^1. It is a well-established standard and intends to be as simple to adopt and maintain as possible, supported with easy tooling. Additionally my colleagues from FSFE would be happy to help in this process and assist with potential legal questions in case of uncertainties (e.g. license compatibilities).

The REUSE best practices basically involve three steps:

  1. All used licenses are stored in one directory.
  2. All files in the repo carry licensing and copyright information, ideally as a comment header, and there are alternatives for binary files or directories with a lot of test data. This step can be automated but would require manual review so we don't misinterpret it.
  3. Check the repo with the helper tool to identify missing pieces ^2.

This has two major advantages:

My first quick analysis shows that of the ~480 files in the main repo, around 170 include copyright information. Probably the same amount has the license notice but unfortunately, that's not machine-readable in the sense of an unambiguous SPDX license identifier. The other big chunk seems to be mostly image files, json files, and other binary files. That's a quite good baseline already!

The REUSE team would be happy to propose a first pull request that showcases some possibilities of how REUSE could be applied, and how the file headers shall look like after all. In a next step, we'd have to make sure that we interpreted the licensing and copyright situation correctly.

I would like to note that while reaching REUSE compliance is a larger one-time chunk, maintaining this status is fairly simple: inclusion in CI pipelines, pre-commit hooks, badges, you-name-it, everything possible ^3.

Please also note that REUSE is an established practice with a lot of organisations using it, among them the KDE community, curl, Linux kernel, companies such as Siemens, SAP, and LGE, as well as numerous smaller and larger projects. We would be happy to have ModernDeck among them, since it is a very interesting project for the FOSS community.

Please let me know what you think and whether we shall kick this off with a pull request.

Best, Lina

-- Lina Ceballos - Project Manager 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

lnceballosz commented 2 years ago

Hi, Keeping in mind that I haven't gotten any reaction since I opened this issue, I thought it would be a good idea to follow up here. Are you interested in implementing REUSE specifications? Do you have any questions that perhaps I can help you solve? Looking forward to hearing from you.

Best, Lina