Opened 23 months ago

Closed 9 months ago

Last modified 9 months ago

#919 closed enhancement (fixed)

Make Copyrights and Licenses Computer Readable: add SPDX Identifiers

Reported by: Gabriele Pohl Owned by: Christian Franke
Priority: minor Milestone: Release 7.0
Component: all Version: 6.5
Keywords: Cc:

Description

Consider to implement License documentation according to FSFE best practice proposal: https://reuse.software/

BTW: The referenced page https://spdx.org/licenses/ lists "our" license GPL-2.0+ as obsolete.

Change History (10)

comment:1 in reply to:  description Changed 13 months ago by Christian Franke

BTW: The referenced page https://spdx.org/licenses/ lists "our" license GPL-2.0+ as obsolete.

Only the identifier GPL-2.0+ is deprecated, new: GPL-2.0-or-later. The section title "Deprecated Licenses" is somewhat misleading.

comment:2 Changed 13 months ago by Christian Franke

Summary: Make Copyrights and Licenses Computer ReadableMake Copyrights and Licenses Computer Readable: add SPDX Identifiers

comment:3 Changed 13 months ago by Christian Franke

Milestone: undecidedRelease 6.7
Owner: set to Christian Franke
Status: newaccepted

As SPDX Identifiers are more and more used in other projects, we should add this for next release.

I would suggest:

  • Remove GPL License header.
  • Remove outdated info about smartsuite if present (keep or enhance related credits in AUTHORS file).
  • Add SPDX License Identifier.
  • Keep title, URL and Copyright lines as is.

For example:

  • smartctl.cpp

     
    11/*
    22 * smartctl.cpp
    33 *
    44 * Home page of code is: http://www.smartmontools.org
    55 *
    66 * Copyright (C) 2002-11 Bruce Allen
    77 * Copyright (C) 2008-18 Christian Franke
    88 * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
    99 *
    10  * This program is free software; you can redistribute it and/or modify
    11  * it under the terms of the GNU General Public License as published by
    12  * the Free Software Foundation; either version 2, or (at your option)
    13  * any later version.
    14  *
    15  * You should have received a copy of the GNU General Public License
    16  * (for example COPYING); If not, see <http://www.gnu.org/licenses/>.
    17  *
    18  * This code was originally developed as a Senior Thesis by Michael Cornwell
    19  * at the Concurrent Systems Laboratory (now part of the Storage Systems
    20  * Research Center), Jack Baskin School of Engineering, University of
    21  * California, Santa Cruz. http://ssrc.soe.ucsc.edu/
    22  *
     10 * SPDX-License-Identifier: GPL-2.0-or-later
    2311 */
    2412
    2513#include "config.h"
    2614#define __STDC_FORMAT_MACROS 1 // enable PRI* for C++

comment:4 Changed 13 months ago by Gabriele Pohl

Thanks for monitoring the spread and your proposal.
+1 from my side.

I suppose we also have to change our COPYING file.
The text is not identical to the license text for the SPDX-Entry.

https://spdx.org/licenses/GPL-2.0-or-later.html#licenseText

In the /original/ license text only differences in the punctuation marks if I see it right.

But this section is a problem:

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

    Gnomovision version 69, Copyright (C) year name of author
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  `Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Ty Coon>, 1 April 1989
  Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs.  If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

I would say this is not GPL compatible as there we may not add demands or restrictions other than the GPLs.

comment:5 Changed 13 months ago by Christian Franke

The smartmontools COPYING file is still valid. It is still binary identical to upstream version at http://www.gnu.org/licenses/gpl-2.0.txt.

If the SPDX version is actually different, then either SPDX shall fix it or we should not use the SPDX license identifier.

But this section is a problem: ...

Why? It is present in GPLv2 since the beginning.

comment:6 Changed 13 months ago by Gabriele Pohl

Ah sorry for the noise! It seems that I always stopped reading before reaching the "END OF TERMS AND CONDITIONS".. ;) Additionally I made a copy & paste error when transfering the SPDX license text
to a local file for a diff with our version.

If the SPDX version is actually different, then either SPDX shall fix it or we should not use the SPDX license identifier.

No, it's not different. My fault.

comment:7 Changed 13 months ago by Christian Franke

SPDX License Identifiers added in r4760.
Still TODO: Handle imported files and other files without GPL header.

comment:8 Changed 13 months ago by Christian Franke

Missing license headers in "our" source files added in r4761.
TODO: imported source code files and other non-source files.

comment:9 Changed 9 months ago by Christian Franke

Resolution: fixed
Status: acceptedclosed

Fixed for project's source files only in r4760, r4761. Remaining files will be addressed in ticket #1149.

comment:10 Changed 9 months ago by Christian Franke

Milestone: Release 6.7Release 7.0

Milestone renamed

Note: See TracTickets for help on using tickets.