From da4ce629b414d87e81acc808063b5159843c7291 Mon Sep 17 00:00:00 2001 From: per1234 Date: Fri, 9 May 2025 12:18:46 -0700 Subject: [PATCH 1/2] Use archived reference for licensing The library is based on a C implementation of the Madgwick AHRS algorithm provided by Sebastian Madgwick. Unfortunately the licensing of that base code was not well documented. The licensing was only specified on the website of Sebastian Madgwick's x-io Technologies website where the code is hosted. Since this important information was difficult to find, a comment was added to the source code headers which contains a reference link and quote of the relevant statement. There were two serious problems with that comment: * The information was later removed from the linked page. * The quote did not include the essential link which clarifies exactly which version of the GPL license is offered. These are resolved by: * Using a link to an archived version of the reference web page which still provides the licensing information. * Adding markup to indicate the link in the quoted statement. Since that link relies on a redirect, an archive link is also used here in order to avoid future bit rot. --- src/MadgwickAHRS.cpp | 7 ++++--- src/MadgwickAHRS.h | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/MadgwickAHRS.cpp b/src/MadgwickAHRS.cpp index ef2bbce..130fd55 100644 --- a/src/MadgwickAHRS.cpp +++ b/src/MadgwickAHRS.cpp @@ -5,9 +5,10 @@ // Implementation of Madgwick's IMU and AHRS algorithms. // See: http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/ // -// From the x-io website "Open-source resources available on this website are -// provided under the GNU General Public Licence unless an alternative licence -// is provided in source." +// From https://web.archive.org/web/20190712041101/http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/: +// "Open-source resources available on this website are provided under the +// [GNU General Public Licence](https://web.archive.org/web/20190712041101/http://www.gnu.org/licenses/gpl.html) +// unless an alternative licence is provided in source." // // Date Author Notes // 29/09/2011 SOH Madgwick Initial release diff --git a/src/MadgwickAHRS.h b/src/MadgwickAHRS.h index 7689523..b175ca4 100644 --- a/src/MadgwickAHRS.h +++ b/src/MadgwickAHRS.h @@ -5,9 +5,10 @@ // Implementation of Madgwick's IMU and AHRS algorithms. // See: http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/ // -// From the x-io website "Open-source resources available on this website are -// provided under the GNU General Public Licence unless an alternative licence -// is provided in source." +// From https://web.archive.org/web/20190712041101/http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/: +// "Open-source resources available on this website are provided under the +// [GNU General Public Licence](https://web.archive.org/web/20190712041101/http://www.gnu.org/licenses/gpl.html) +// unless an alternative licence is provided in source." // // Date Author Notes // 29/09/2011 SOH Madgwick Initial release From bbd3e484b7b9fba352ab33bde822c5633c39abfb Mon Sep 17 00:00:00 2001 From: per1234 Date: Fri, 9 May 2025 12:35:15 -0700 Subject: [PATCH 2/2] Correct licensing documentation in readme The project's readme contains a "License" section which summarizes the project licensing. Previously the information was incorrect (it seems to just be a copy/paste of the content that was present in most of Arduino's libraries at that time, by someone who didn't actually verify that it was appropriate): * The copyright assignment for Sebastian Madgwick, the author of the code upon which the library is based was omitted, falsely indicating that Arduino LLC is the sole copyright holder. * It stated that the project is licensed as LGPL 2.1, when it is actually the GPL 3.0 licensing inherited from the base code. The missing copyright assignment is hereby added and the license information corrected. --- README.adoc | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/README.adoc b/README.adoc index 8d68073..df98e50 100644 --- a/README.adoc +++ b/README.adoc @@ -11,22 +11,13 @@ This library wraps the official implementation of MadgwickAHRS algorithm to get == License == -Copyright (c) Arduino LLC. All right reserved. +Copyright (c) Sebastian Madgwick, Arduino LLC -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. +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 3. -This library 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 -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +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 . Implementation of Madgwick's IMU and AHRS algorithms. See: http://www.x-io.co.uk/node/8#open_source_ahrs_and_imu_algorithms