Uploaded image for project: 'Request For Comments'
  1. Request For Comments
  2. RFC-908

GPL (and a lot of other licenses) doesn't require one to include long GPL header in every source file

    XMLWordPrintable

    Details

    • Type: RFC
    • Status: Withdrawn
    • Resolution: Done
    • Component/s: DM
    • Labels:
      None

      Description

      Please allow the usage of shortened, two-line headers for licensing in source files. Such as:

      // SPDX-License-Identifier: GPL-3.0-or-later
      /* Copyright (C) 2023 Jim Beam <jbeam@lsst.org> on behalf of the LSST DM team */
      

      GPL shall alow that.

      Our current developer guide states the following about header files:

      (https://developer.lsst.io/stack/license-and-copyright.html)

      License preambles in source files¶
       
      The GPL-3.0 license requires each source file to have a preamble comment containing a license statement. This is the generic license preamble:
       
      This file is part of {{ cookiecutter.package_name }}.
       
      Developed for the LSST Data Management System.
      This product includes software developed by the LSST Project
      (https://www.lsst.org).
      See the COPYRIGHT file at the top-level directory of this distribution
      for details of code ownership.
       
      This program is free software: you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published by
      the Free Software Foundation, either version 3 of the License, or
      (at your option) any later version.
       
      This program is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      GNU General Public License for more details.
       
      You should have received a copy of the GNU General Public License
      along with this program.  If not, see <https://www.gnu.org/licenses/>.
       
      Replace {{ cookiecutter.package_name }} with the repository’s name (afw, for example).
      

      GPL doesn't require one to include the full header. Proofs:

      https://www.gnu.org/licenses/gpl-howto.en.html

      This involves adding two elements to each source file of your program: a copyright notice (such as “Copyright 1999 Terry Jones”), and a statement of copying permission, saying that the program is distributed under the terms of the GNU General Public License (or the Lesser GPL, or the Affero GPL).
      

      Linux kernel switched to SPDX.dev (https://spdx.dev/), see https://spdx.dev/ids/"

      https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/atm/eni.c?h=v6.2

      // SPDX-License-Identifier: GPL-2.0-only
      /* drivers/atm/eni.c - Efficient Networks ENI155P device driver */
       
      /* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
      

      It's very unlikely Linux kernel have licensing problems.

        Attachments

          Issue Links

            Activity

            Hide
            jhoblitt Joshua Hoblitt added a comment -

            The boilerplate in every file is completely unnecessary. The copyright and license exist independent of the content. Various projects have different policies. There's nothing preventing Rubin/LSST from decided that we don't want the useless bloat.

            Show
            jhoblitt Joshua Hoblitt added a comment - The boilerplate in every file is completely unnecessary. The copyright and license exist independent of the content. Various projects have different policies. There's nothing preventing Rubin/LSST from decided that we don't want the useless bloat.
            Hide
            tjenness Tim Jenness added a comment -

            The last time this was discussed we decided to respect the wishes of the FSF who want the boilerplate in there. We can, of course, all decide to ignore that because it's not a legally binding part of the license. We could say that the boilerplate is not needed for configs whilst keeping it in other python code files.

            Show
            tjenness Tim Jenness added a comment - The last time this was discussed we decided to respect the wishes of the FSF who want the boilerplate in there. We can, of course, all decide to ignore that because it's not a legally binding part of the license. We could say that the boilerplate is not needed for configs whilst keeping it in other python code files.
            Hide
            jbosch Jim Bosch added a comment -

            The last thing I want to do is have to think about what I'm putting at the top of new files when I write them, and for me that far outweighs any concerns about scrolling a bit.

            Unless we're doing something the FSF or some other body considers bad, I'd rather not change things.

            Is there anything wrong with the way we're doing it now?

            Show
            jbosch Jim Bosch added a comment - The last thing I want to do is have to think about what I'm putting at the top of new files when I write them, and for me that far outweighs any concerns about scrolling a bit. Unless we're doing something the FSF or some other body considers bad, I'd rather not change things. Is there anything wrong with the way we're doing it now?
            Hide
            ktl Kian-Tat Lim added a comment -

            We don't see sufficient evidence here that the FSF, or even the community generally, accept that the per-file license notices should be omitted or replaced with something else. On the contrary, there seem to be specific links to FSF documents that say that the full text should be used. Until those documents change or there is more countervailing evidence, the DM-CCB doesn't feel that this RFC is justified.

            Show
            ktl Kian-Tat Lim added a comment - We don't see sufficient evidence here that the FSF, or even the community generally, accept that the per-file license notices should be omitted or replaced with something else. On the contrary, there seem to be specific links to FSF documents that say that the full text should be used. Until those documents change or there is more countervailing evidence, the DM-CCB doesn't feel that this RFC is justified.
            Hide
            pkubanek Petr Kubanek added a comment -

            I see the rationale why not using the simplified form. Decided to withdraw the RFC.

            Show
            pkubanek Petr Kubanek added a comment - I see the rationale why not using the simplified form. Decided to withdraw the RFC.

              People

              Assignee:
              pkubanek Petr Kubanek
              Reporter:
              pkubanek Petr Kubanek
              Watchers:
              Jim Bosch, John Parejko, John Swinbank, Joshua Hoblitt, Kian-Tat Lim, Petr Kubanek, Tim Jenness
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Planned End:

                  Jenkins

                  No builds found.