Uploaded image for project: 'Plugins'
  1. Plugins
  2. CONTRIB-9891

Moodle codechecker is enforcing incorrect license boilerplate

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • 4.5.4
    • Local: Code checker
    • None
    • MOODLE_405_STABLE

      I think that license boilerplate of contributed plugins should be different from standard Moodle core. There are two problems:

      1. contributed plugins are not  "part of Moodle"
      2. the "Moodle is free software: you can redistribute it and/or modify" is irrelevant, because plugin authors need to state that the plugin itself is distributed without any warranty

      See trademark info at https://moodle.com/trademarks/

      • Without prior written permission from Moodle HQ, you can’t use the word “Moodle” or any Moodle logos for commercial purposes to indicate that you are in any way associated with or endorsed by Moodle.

      The way I read it "part of Moodle" in contrib plugin is conflicting with this.

      See https://github.com/moodlehq/moodle-cs/blob/main/moodle/Sniffs/Files/BoilerplateCommentSniff.php

       

          protected static array $comment = [
              "// This file is part of",
              "//",
              "// Moodle 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.",
              "//",
              "// Moodle 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 Moodle.  If not, see <https://www.gnu.org/licenses/>.",
          ];    public string $productName = 'Moodle';    public string $firstLinePostfix = ' - https://moodle.org/';
      

       

      according to GNU license it should be something like:

       

      <one line to give the program's name and a brief idea of what it does.>
      Copyright (C) <year>  <name of author>
       
      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/>.
      

      The first line is probably not a good match for Moodle contrib plugins because we use the first PHPDoc block to list all copyright holders.

       

      My proposal would be something like this:

      This file is part of XYZ plugin for Moodle(TM) - https://moodle.org/
       
      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/>.
      

      I am not sure if we should use unicode character for the (TM) there.

      The other option would be that Moodle HQ updates the trademark page to clearly state that contrib plugin authors may say that their contrib plugins are "part of Moodle".

       

            moodle.com Moodle HQ
            skodak Petr Skoda
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.