mbox

[0/9,v2] Relicensing Libabigail to Apache 2.0 + LLVM Exception

Message ID 87zh80lt38.fsf@redhat.com
Headers

Message

Dodji Seketeli July 15, 2020, 3:02 p.m. UTC
  Hello,

This is the second version of the patch series to relicense the source
code of the Libabigail project to Apache 2.0 with LLVM Exception.

The rationale and the process of this change was recently presented in
a message sent to the mailing list of the project at
https://sourceware.org/pipermail/libabigail/2020q2/002388.html.

This patch series needs to be reviewed and acknowledged by all the
copyright holders who contributed to the project.  These contributors
are all listed in the CC field of this message.

After the review, to acknowledge the change, each contributor needs to
reply to each one of the patches with a line containing this:

     Signed-off-by: First Last <contributor@email.com>

with First being her first name and Last being her last name.

Of course, if a contributor reviewed and agrees with the content of
all the patches, she can just reply to this cover letter with the
Signed-off-by line above, saying that she is acknowledging the entire
patch set.

I will apply each ACKed patch to the newly created branch of our Git
repository named "relicensing".

Please note that all these steps were described in the announcement
message at
https://sourceware.org/pipermail/libabigail/2020q2/002388.html.

Now, please find below a brief description of the patches of the
series.

The first patch replaces the existing license headers of the files of
the project with SPDX identifier strings that formally represent those
current licenses.

The second patch adds SPDX identifiers to the files that are missing
license headers.  The license of those files is thus "GNU Lesser
General Public License v3.0 or later", which is the default license of
the project.

The third patch adds a helper script named
relicensing-scripts/has-spdx-header.sh which detects if a file as an
SPDX identifier or not.

The fourth patch adds a helper script named
relicensing-scripts/replace-spdx-license.sh which replaces and SPDX
identifier by another one.

The fifth patch adds a set of helper files assembled with the scripts
above.  For instance, one of those files lists the set of files of the
project, along with their respective licenses.  Another file just
lists the set of files that needs to be re-licensed.  The patch also
creates a script named relicensing-scripts/do-relicensing.sh which
performs the actual re-licensing off the files listed in one of the
helper files.

The sixth patch is the actual relicensing. It's done using the script
relicensing-scripts/do-relicensing.sh introduced in the patch above.

The seventh patch adds a LICENSE.txt file to the repository,
specifying the new license.

The eighth patch removes the COPYING files which were specifying the
old license.

The last patch adds a license-change-2020.txt file which states that
the license of the project was changed and which also names the
contributors who did agreed with the change.

Dodji Seketeli (8):
  Add missing SPDX headers to source files not specifying any license
  Add has-spdx-header.sh script
  Add replace-spdx-license.sh script
  Add helper files to perform the re-licensing
  Re-license the project to Apache v2 With LLVM Exception
  Add the LICENSE.txt file
  Delete COPYING* files
  Add a license-change-2020.txt file

Matthias Maennich (1):
  Replace individual license references with SPDX Identifiers

 .clang-format                               |   1 +
 COPYING                                     |   7 -
 COPYING-GPLV3                               | 674 ----------------------------
 COPYING-LGPLV2                              | 502 ---------------------
 COPYING-LGPLV3                              | 165 -------
 LICENSE.txt                                 | 219 +++++++++
 Makefile.am                                 |   1 +
 abigail.m4                                  |  26 +-
 autoconf-archive/ax_check_python_modules.m4 |  20 +-
 autoconf-archive/ax_compare_version.m4      |   1 +
 autoconf-archive/ax_prog_python_version.m4  |   1 +
 autoconf-archive/ax_valgrind_check.m4       |   1 +
 bash-completion/Makefile.am                 |   1 +
 bash-completion/abicompat                   |   1 +
 bash-completion/abidiff                     |   1 +
 bash-completion/abidw                       |   1 +
 bash-completion/abilint                     |   1 +
 bash-completion/abinilint                   |   1 +
 bash-completion/abipkgdiff                  |   1 +
 bash-completion/abisym                      |   1 +
 bash-completion/fedabipkgdiff               |   1 +
 configure.ac                                |   1 +
 default.abignore                            |   4 +-
 doc/Makefile.am                             |   1 +
 doc/api/libabigail.doxy                     |   2 +
 doc/manuals/Makefile.am                     |   2 +
 doc/website/libabigail-website.doxy         |   1 +
 gen-changelog.py                            |  15 +-
 include/Makefile.am                         |   1 +
 include/abg-comp-filter.h                   |  17 +-
 include/abg-comparison.h                    |  17 +-
 include/abg-config.h                        |  17 +-
 include/abg-corpus.h                        |  17 +-
 include/abg-cxx-compat.h                    |  17 +-
 include/abg-diff-utils.h                    |  17 +-
 include/abg-dwarf-reader.h                  |  17 +-
 include/abg-fwd.h                           |  17 +-
 include/abg-hash.h                          |  17 +-
 include/abg-ini.h                           |  17 +-
 include/abg-interned-str.h                  |  17 +-
 include/abg-ir.h                            |  17 +-
 include/abg-libxml-utils.h                  |  17 +-
 include/abg-libzip-utils.h                  |  17 +-
 include/abg-reader.h                        |  17 +-
 include/abg-regex.h                         |  19 +-
 include/abg-reporter.h                      |  17 +-
 include/abg-sptr-utils.h                    |  17 +-
 include/abg-suppression.h                   |  17 +-
 include/abg-tools-utils.h                   |  17 +-
 include/abg-traverse.h                      |  17 +-
 include/abg-version.h.in                    |   1 +
 include/abg-viz-common.h                    |  17 +-
 include/abg-viz-dot.h                       |  17 +-
 include/abg-viz-svg.h                       |  17 +-
 include/abg-workers.h                       |  17 +-
 include/abg-writer.h                        |  17 +-
 install-sh                                  |  18 +-
 license-change-2020.txt                     |  37 ++
 ltmain.sh                                   |  22 +-
 relicensing-scripts/do-relicensing.sh       |   6 +
 relicensing-scripts/file-licenses.orig.txt  | 138 ++++++
 relicensing-scripts/files-with-lgplv3.txt   | 137 ++++++
 relicensing-scripts/has-spdx-header.sh      | 102 +++++
 relicensing-scripts/replace-spdx-license.sh |  75 ++++
 scripts/dot_to_png.sh                       |   1 +
 scripts/dot_to_svg.sh                       |   1 +
 scripts/make-verbose.sh                     |   1 +
 scripts/svg_to_plain_svg.sh                 |   1 +
 scripts/svg_to_png_and_pdf.sh               |   1 +
 src/Makefile.am                             |   1 +
 src/abg-comp-filter.cc                      |  17 +-
 src/abg-comparison-priv.h                   |  18 +-
 src/abg-comparison.cc                       |  17 +-
 src/abg-config.cc                           |  17 +-
 src/abg-corpus-priv.h                       |  17 +-
 src/abg-corpus.cc                           |  17 +-
 src/abg-default-reporter.cc                 |  17 +-
 src/abg-diff-utils.cc                       |  17 +-
 src/abg-dwarf-reader.cc                     |  17 +-
 src/abg-elf-helpers.cc                      |  17 +-
 src/abg-elf-helpers.h                       |  17 +-
 src/abg-hash.cc                             |  17 +-
 src/abg-ini.cc                              |  17 +-
 src/abg-internal.h                          |  17 +-
 src/abg-ir-priv.h                           |  17 +-
 src/abg-ir.cc                               |  17 +-
 src/abg-leaf-reporter.cc                    |  17 +-
 src/abg-libxml-utils.cc                     |  17 +-
 src/abg-libzip-utils.cc                     |  17 +-
 src/abg-reader.cc                           |  17 +-
 src/abg-regex.cc                            |  17 +-
 src/abg-reporter-priv.cc                    |  17 +-
 src/abg-reporter-priv.h                     |  17 +-
 src/abg-suppression-priv.h                  |  17 +-
 src/abg-suppression.cc                      |  17 +-
 src/abg-tools-utils.cc                      |  17 +-
 src/abg-traverse.cc                         |  17 +-
 src/abg-viz-common.cc                       |  17 +-
 src/abg-viz-dot.cc                          |  18 +-
 src/abg-viz-svg.cc                          |  17 +-
 src/abg-workers.cc                          |  17 +-
 src/abg-writer.cc                           |  17 +-
 tests/Makefile.am                           |   1 +
 tests/data/Makefile.am                      |   2 +-
 tests/lib/catch.cc                          |  17 +-
 tests/lib/catch.hpp                         |   4 +-
 tests/mockfedabipkgdiff.in                  |  17 +-
 tests/print-diff-tree.cc                    |  20 +-
 tests/runtestcanonicalizetypes.sh.in        |   1 +
 tests/runtestdefaultsupprs.py.in            |   1 +
 tests/runtestdefaultsupprspy3.sh.in         |   1 +
 tests/runtestfedabipkgdiff.py.in            |  17 +-
 tests/runtestfedabipkgdiffpy3.sh.in         |   1 +
 tests/test-abicompat.cc                     |  17 +-
 tests/test-abidiff-exit.cc                  |  17 +-
 tests/test-abidiff.cc                       |  17 +-
 tests/test-alt-dwarf-file.cc                |  17 +-
 tests/test-annotate.cc                      |  17 +-
 tests/test-core-diff.cc                     |  19 +-
 tests/test-cxx-compat.cc                    |  18 +-
 tests/test-diff-dwarf-abixml.cc             |  17 +-
 tests/test-diff-dwarf.cc                    |  17 +-
 tests/test-diff-filter.cc                   |  17 +-
 tests/test-diff-pkg.cc                      |  17 +-
 tests/test-diff-suppr.cc                    |  17 +-
 tests/test-diff2.cc                         |  20 +-
 tests/test-dot.cc                           |  26 +-
 tests/test-elf-helpers.cc                   |  17 +-
 tests/test-ini.cc                           |  17 +-
 tests/test-ir-walker.cc                     |  17 +-
 tests/test-kmi-whitelist.cc                 |  17 +-
 tests/test-lookup-syms.cc                   |  17 +-
 tests/test-read-dwarf.cc                    |  17 +-
 tests/test-read-write.cc                    |  17 +-
 tests/test-svg.cc                           |  26 +-
 tests/test-symtab.cc                        |  17 +-
 tests/test-tools-utils.cc                   |  17 +-
 tests/test-types-stability.cc               |  17 +-
 tests/test-utils.cc                         |  18 +-
 tests/test-utils.h                          |  17 +-
 tests/test-write-read-archive.cc            |  17 +-
 tests/update-test-output.py                 |   1 +
 tools/Makefile.am                           |   1 +
 tools/abiar.cc                              |  17 +-
 tools/abicompat.cc                          |  17 +-
 tools/abidiff.cc                            |  17 +-
 tools/abidw.cc                              |  17 +-
 tools/abilint.cc                            |  17 +-
 tools/abipkgdiff.cc                         |  17 +-
 tools/abisym.cc                             |  17 +-
 tools/binilint.cc                           |  17 +-
 tools/fedabipkgdiff                         |  17 +-
 tools/kmidiff.cc                            |  17 +-
 update-copyright.sh                         |   1 +
 154 files changed, 874 insertions(+), 3068 deletions(-)
 delete mode 100644 COPYING
 delete mode 100644 COPYING-GPLV3
 delete mode 100644 COPYING-LGPLV2
 delete mode 100644 COPYING-LGPLV3
 create mode 100644 LICENSE.txt
 create mode 100644 license-change-2020.txt
 create mode 100644 relicensing-scripts/do-relicensing.sh
 create mode 100644 relicensing-scripts/file-licenses.orig.txt
 create mode 100644 relicensing-scripts/files-with-lgplv3.txt
 create mode 100755 relicensing-scripts/has-spdx-header.sh
 create mode 100755 relicensing-scripts/replace-spdx-license.sh