dangeredwolf / ModernDeck

A beautiful, powerful Twitter client for desktop.

Home Page:https://moderndeck.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ModernDeck to follow REUSE best practices

lnceballosz opened this issue · comments

Hi,

By way of introduction, I am Lina Ceballos from the Free Software
Foundation Europe (FSFE)1, 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 2. 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 3.

This has two major advantages:

  • Users and maintainers have a clear overview of the copyright and
    licensing situation. Are there proprietary components? Code developed
    by third parties? Or even under different licenses that may be
    incompatible?

  • Re-users such as distributions (and their packagers, e.g. Debian) but
    also, industry actors have a much easier time understanding the
    the project's licensing and copyright as well, and give proper respect to
    the copyright holders and licensing terms.

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
4.

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

Footnotes

  1. https://fsfe.org/

  2. https://reuse.software

  3. https://github.com/fsfe/reuse-tool

  4. https://reuse.software/dev/

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