[MDEV-5483] Make sure all files in MariaDB have proper license headers Created: 2013-12-22  Updated: 2022-09-08

Status: Open
Project: MariaDB Server
Component/s: Packaging, Platform Debian
Affects Version/s: 5.1.67, 5.2.14, 5.3.12, 5.5.36, 10.0.10, 10.2.4
Fix Version/s: 5.5

Type: Bug Priority: Minor
Reporter: Otto Kekäläinen Assignee: Alexey Botchkov
Resolution: Unresolved Votes: 0
Labels: debian, packaging

Issue Links:
Blocks
blocks MDEV-5484 Include new debian/copyright file in ... Open

 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.



 Comments   
Comment by Otto Kekäläinen [ 2014-04-26 ]

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

Comment by Otto Kekäläinen [ 2014-10-07 ]

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

Comment by Otto Kekäläinen [ 2016-07-08 ]

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.

Comment by Otto Kekäläinen [ 2016-07-08 ]

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.

Comment by Otto Kekäläinen [ 2016-07-08 ]

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

Comment by Otto Kekäläinen [ 2016-12-18 ]

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

Comment by Otto Kekäläinen [ 2020-02-24 ]

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

Comment by Otto Kekäläinen [ 2020-06-28 ]

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/

Generated at Thu Feb 08 07:04:44 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.