Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-5483

Make sure all files in MariaDB have proper license headers

Details

    Description

      While packaging MariaDB for Debian I noticed that there are many source files that lack proper license headers. For the sake of clarity and machine parseability if would be good if all source files would have proper license headers.

      The output of "mariadb$ licensecheck --copyright -r . -c ." showing many files with license UNKNOWN is at http://labs.seravo.fi/~otto/mariadb-repo/mariadb-5.5.34-license-headers.txt

      Just to make is explicit: I didn't find any legal issues while looking at the licenses. Many folders have folder wide copyright files etc instead of per file headers, so from a legal perspective things are ok, this is just a markup issue.

      Attachments

        Issue Links

          Activity

            Here is an example of what a good file license header would look like:

            Copyright (C) 2014  The MariaDB Foundation
             
            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; version 2 of the License.
             
            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 <http://www.gnu.org/licenses/>

            Official guidlines are at https://www.gnu.org/licenses/gpl-howto.html

            otto Otto Kekäläinen added a comment - Here is an example of what a good file license header would look like: Copyright (C) 2014 The MariaDB Foundation   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; version 2 of the License.   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 <http://www.gnu.org/licenses/> Official guidlines are at https://www.gnu.org/licenses/gpl-howto.html

            This bug in Debian is somwhat related:
            mariadb-server-core-5.5: MariaDB lacks documentation of OpenSSL exception to GPL
            https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761911

            otto Otto Kekäläinen added a comment - This bug in Debian is somwhat related: mariadb-server-core-5.5: MariaDB lacks documentation of OpenSSL exception to GPL https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761911

            serg ratzpo This is still undone. It should be done to all files written by MariaDB Corporation of Foundation staff at least. Besides the server, also clients should have these headers.

            otto Otto Kekäläinen added a comment - serg ratzpo This is still undone. It should be done to all files written by MariaDB Corporation of Foundation staff at least. Besides the server, also clients should have these headers.

            georg An update of MariaDB Connector C was not accepted into Debian in March 2016 due to incomplete license headers: http://lists.alioth.debian.org/pipermail/pkg-mysql-maint/2016-March/008877.html

            ratzposerg If we fix the headers as a policy everywhere, then such backslashes should not occur anymore.

            otto Otto Kekäläinen added a comment - georg An update of MariaDB Connector C was not accepted into Debian in March 2016 due to incomplete license headers: http://lists.alioth.debian.org/pipermail/pkg-mysql-maint/2016-March/008877.html ratzpo serg If we fix the headers as a policy everywhere, then such backslashes should not occur anymore.

            georg This file has no license in the header, thus it is not Free and Open Source according to the ftp-masters in Debian, and I cannot upload mariadb-connector-c into Debian until you fix the file to have proper headers: https://github.com/MariaDB/mariadb-connector-c/blob/master/cmake/FindIconv.cmake (For more details see comment above.)

            otto Otto Kekäläinen added a comment - georg This file has no license in the header, thus it is not Free and Open Source according to the ftp-masters in Debian, and I cannot upload mariadb-connector-c into Debian until you fix the file to have proper headers: https://github.com/MariaDB/mariadb-connector-c/blob/master/cmake/FindIconv.cmake (For more details see comment above.)

            holyfoot This has been assigned to you for a long time. Do you intend to do something about it at some time or should it be reassigned? Do you know how to get the package licensecheck intstalled on a Debian system and how to run the command licensecheck --copyright -r . -c . on the MariaDB 10.2 source directory...?

            otto Otto Kekäläinen added a comment - holyfoot This has been assigned to you for a long time. Do you intend to do something about it at some time or should it be reassigned? Do you know how to get the package licensecheck intstalled on a Debian system and how to run the command licensecheck --copyright -r . -c . on the MariaDB 10.2 source directory...?

            There are still plenty of files that have no copyright header.

            mariadb-10.4$ licensecheck --copyright -r . -c . | grep -F 'No copyright'
            ...
            ./cmake/FindJNI.cmake: *No copyright* UNKNOWN
            ./cmake/FindJava.cmake: *No copyright* UNKNOWN
            ./cmake/FindLZ4.cmake: *No copyright* UNKNOWN
            ./cmake/FindZSTD.cmake: *No copyright* UNKNOWN
            ./cmake/build_depends.cmake: *No copyright* UNKNOWN
            ./cmake/check_compiler_flag.cmake: *No copyright* UNKNOWN
            ./cmake/configurable_file_content.in: *No copyright* UNKNOWN
            ./cmake/cpack_deb.cmake: *No copyright* UNKNOWN
            ./cmake/cpack_rpm.cmake: *No copyright* UNKNOWN
            ./cmake/crc32-vpmsum.cmake: *No copyright* UNKNOWN
            ./cmake/ctest.cmake: *No copyright* UNKNOWN
            ./cmake/for_clients.cmake: *No copyright* UNKNOWN
            ./cmake/jemalloc.cmake: *No copyright* UNKNOWN
            ./cmake/mariadb_connector_c.cmake: *No copyright* UNKNOWN
            ./cmake/misc.cmake: *No copyright* UNKNOWN
            ./cmake/numa.cmake: *No copyright* UNKNOWN
            ./cmake/pcre.cmake: *No copyright* UNKNOWN
            ./cmake/sign.cmake.in: *No copyright* UNKNOWN
            ./cmake/submodules.cmake: *No copyright* UNKNOWN
            ./cmake/win_compatibility.manifest: *No copyright* UNKNOWN
            ...
            ./include/handler_state.h: *No copyright* UNKNOWN
            ./include/json_lib.h: *No copyright* UNKNOWN
            ./include/mysql.h.pp: *No copyright* UNKNOWN
            ./include/mysqld_default_groups.h: *No copyright* UNKNOWN
            ./include/probes_mysql_nodtrace.h.in: *No copyright* GENERATED FILE
            ./libmariadb/.gitattributes: *No copyright* UNKNOWN
            ./libmariadb/.travis.yml: *No copyright* UNKNOWN
            ./libmariadb/CMakeLists.txt: *No copyright* UNKNOWN
            ./libmariadb/README: *No copyright* UNKNOWN
            ./libmariadb/appveyor.yml: *No copyright* UNKNOWN
            ./libmariadb/azure-pipelines.yml: *No copyright* UNKNOWN
            ./libmysqld/libmysqld.def: *No copyright* UNKNOWN
            ./libmysqld/libmysqld.rc: *No copyright* GENERATED FILE
            ./libmysqld/resource.h: *No copyright* GENERATED FILE
            ./libservices/my_crypt_service.c: *No copyright* UNKNOWN
            ...
            ./tests/auto_increment.res: *No copyright* UNKNOWN
            ./tests/auto_increment.tst: *No copyright* UNKNOWN
            ./tests/check_async_queries.pl: *No copyright* UNKNOWN
            ./tests/consistent_snapshot.pl: *No copyright* UNKNOWN
            ./tests/function.res: *No copyright* UNKNOWN
            ./tests/function.tst: *No copyright* UNKNOWN
            ./tests/grant.res: *No copyright* UNKNOWN
            ./tests/lock_test.res: *No copyright* UNKNOWN
            ./tests/myisam-big-rows.tst: *No copyright* UNKNOWN
            ./tests/restore-lock.smack: *No copyright* UNKNOWN
            ...
            etc
            

            otto Otto Kekäläinen added a comment - There are still plenty of files that have no copyright header. mariadb-10.4$ licensecheck --copyright -r . -c . | grep -F 'No copyright' ... ./cmake/FindJNI.cmake: *No copyright* UNKNOWN ./cmake/FindJava.cmake: *No copyright* UNKNOWN ./cmake/FindLZ4.cmake: *No copyright* UNKNOWN ./cmake/FindZSTD.cmake: *No copyright* UNKNOWN ./cmake/build_depends.cmake: *No copyright* UNKNOWN ./cmake/check_compiler_flag.cmake: *No copyright* UNKNOWN ./cmake/configurable_file_content.in: *No copyright* UNKNOWN ./cmake/cpack_deb.cmake: *No copyright* UNKNOWN ./cmake/cpack_rpm.cmake: *No copyright* UNKNOWN ./cmake/crc32-vpmsum.cmake: *No copyright* UNKNOWN ./cmake/ctest.cmake: *No copyright* UNKNOWN ./cmake/for_clients.cmake: *No copyright* UNKNOWN ./cmake/jemalloc.cmake: *No copyright* UNKNOWN ./cmake/mariadb_connector_c.cmake: *No copyright* UNKNOWN ./cmake/misc.cmake: *No copyright* UNKNOWN ./cmake/numa.cmake: *No copyright* UNKNOWN ./cmake/pcre.cmake: *No copyright* UNKNOWN ./cmake/sign.cmake.in: *No copyright* UNKNOWN ./cmake/submodules.cmake: *No copyright* UNKNOWN ./cmake/win_compatibility.manifest: *No copyright* UNKNOWN ... ./include/handler_state.h: *No copyright* UNKNOWN ./include/json_lib.h: *No copyright* UNKNOWN ./include/mysql.h.pp: *No copyright* UNKNOWN ./include/mysqld_default_groups.h: *No copyright* UNKNOWN ./include/probes_mysql_nodtrace.h.in: *No copyright* GENERATED FILE ./libmariadb/.gitattributes: *No copyright* UNKNOWN ./libmariadb/.travis.yml: *No copyright* UNKNOWN ./libmariadb/CMakeLists.txt: *No copyright* UNKNOWN ./libmariadb/README: *No copyright* UNKNOWN ./libmariadb/appveyor.yml: *No copyright* UNKNOWN ./libmariadb/azure-pipelines.yml: *No copyright* UNKNOWN ./libmysqld/libmysqld.def: *No copyright* UNKNOWN ./libmysqld/libmysqld.rc: *No copyright* GENERATED FILE ./libmysqld/resource.h: *No copyright* GENERATED FILE ./libservices/my_crypt_service.c: *No copyright* UNKNOWN ... ./tests/auto_increment.res: *No copyright* UNKNOWN ./tests/auto_increment.tst: *No copyright* UNKNOWN ./tests/check_async_queries.pl: *No copyright* UNKNOWN ./tests/consistent_snapshot.pl: *No copyright* UNKNOWN ./tests/function.res: *No copyright* UNKNOWN ./tests/function.tst: *No copyright* UNKNOWN ./tests/grant.res: *No copyright* UNKNOWN ./tests/lock_test.res: *No copyright* UNKNOWN ./tests/myisam-big-rows.tst: *No copyright* UNKNOWN ./tests/restore-lock.smack: *No copyright* UNKNOWN ... etc

            MariaDB could also extend the CI systems to complain about this, and then at least all new or modified files would get their copyright headers updated.

            Related tool: https://reuse.software/dev/

            otto Otto Kekäläinen added a comment - MariaDB could also extend the CI systems to complain about this, and then at least all new or modified files would get their copyright headers updated. Related tool: https://reuse.software/dev/

            People

              holyfoot Alexey Botchkov
              otto Otto Kekäläinen
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.