Skip to content

Commit eca283d

Browse files
authored
License: address the rc2 IPMC review
PJ Fanning's review of 2.2.0-incubating-rc2 found third-party files that LICENSE did not cover, and his review of this change found a few more corrections. Register and fix them: - src/include/optimizer/hints.h duplicates structures from pg_hint_plan.c and carries NTT's notice; list it under pg_hint_plan. - googlemock's class generator in the gpcloud googletest copy is Apache-2.0, not googletest's BSD-3; say so. - getopt_long.h and pg_getopt.h carry only a "Portions Copyright ... The Regents of the University of California" line, with no BSD license text; list them as headers derived from BSD getopt, under licenses/LICENSE-bsd3-regents.txt. - The test_regex module's tests derive from Tcl's reg.test and point at src/backend/regex/COPYRIGHT; add them to the regex entry. - Add a section for the build system files: the Autotools, pkg-config and Autoconf Archive files under config/, naming each file's licence, and the top-level configure script with its FSF notice. The GPL-licensed ones carry an exception for use in Autoconf-generated configure scripts, the basis of the ASF's build-tools allowance (LEGAL-290). - In pom.xml, give config/ax_pthread.m4 (GPL-3.0-or-later with the Autoconf Macro exception) its own RAT exclude comment instead of the GPLv2 one. Greenplum files carry the copyright notice of whoever owned the code when they were written: Greenplum, Inc. (about 1050 files), EMC Corporation (about 1100), Pivotal Software, VMware, Inc. and Broadcom, plus three gpMgmt scripts with a legacy "Copyright (c) Metapa 2005" notice. The Greenplum section of LICENSE named only VMware; name all of them, and open the section with its Apache License statement. In README.apache.md, list these companies as holders of the copyright notices rather than as contributors under the Apache License 2.0, and add Metapa, one of the two companies that merged to form Greenplum. In pom.xml, note where the Metapa and Broadcom notices come from next to the RAT patterns that classify them. Assisted-by: Claude Code
1 parent 2257219 commit eca283d

3 files changed

Lines changed: 114 additions & 12 deletions

File tree

‎LICENSE‎

Lines changed: 104 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,13 @@ The PostgreSQL software includes:
253253
src/port/pgmkdirp.c
254254
see licenses/LICENSE-bsd3-regents.txt
255255

256+
Headers derived from BSD getopt, which carry only a "Portions
257+
Copyright (c) 1987, 1993, 1994 The Regents of the University of
258+
California" line:
259+
src/include/getopt_long.h
260+
src/include/pg_getopt.h
261+
see licenses/LICENSE-bsd3-regents.txt
262+
256263
MD5 and SHA-1 implementations from the KAME project:
257264
src/common/md5.c
258265
src/common/md5_int.h
@@ -341,6 +348,7 @@ The PostgreSQL software includes:
341348

342349
src/backend/regex
343350
src/include/regex
351+
src/test/modules/test_regex (tests based on Tcl's tests/reg.test)
344352
see licenses/LICENSE-regex.txt
345353

346354
----------------------------
@@ -478,15 +486,21 @@ Greenplum Database
478486

479487
Copyright (c) 2004-2020 VMware, Inc. or its affiliates. All Rights Reserved.
480488

481-
All Rights Reserved.
489+
Greenplum Database is licensed under the Apache License Version 2.0 (see
490+
the top of this file) and is based on the PostgreSQL Database Management
491+
System.
482492

483-
Some ORCA query optimizer files that Greenplum Database added in 2024
484-
carry a "Copyright (C) 2024 Broadcom" or "Copyright (C) 2024 VMware by
485-
Broadcom" notice instead; they are part of Greenplum Database and are
486-
covered by the same license.
493+
Files that came from Greenplum Database carry the copyright notice of
494+
whoever owned the code when they were written: Greenplum, Inc., EMC
495+
Corporation, Pivotal Software, VMware, Inc., or, for some ORCA query
496+
optimizer files added in 2024, "Copyright (C) 2024 Broadcom" or
497+
"Copyright (C) 2024 VMware by Broadcom". Three management scripts carry
498+
a legacy "Copyright (c) Metapa 2005" notice; Metapa was one of the two
499+
companies that merged to form Greenplum:
487500

488-
Greenplum Database is licensed under the Apache License Version 2.0
489-
(see LICENSE) and is based on the PostgreSQL Database Management System.
501+
gpMgmt/bin/gpinitsystem
502+
gpMgmt/bin/lib/gp_bash_functions.sh
503+
gpMgmt/bin/lib/gpcreateseg.sh
490504

491505
The Greenplum Database software includes:
492506

@@ -513,6 +527,13 @@ The Greenplum Database software includes:
513527
(see the Apache License above; also shipped in-tree as
514528
src/test/unit/cmockery/LICENSE.txt)
515529

530+
googlemock's class generator, copyright 2007-2009 Google Inc. and
531+
Neal Norwitz, bundled with the googletest copy below but under the
532+
Apache License rather than googletest's BSD license:
533+
gpcontrib/gpcloud/test/googletest/googlemock/scripts/generator
534+
(see the Apache License above; also shipped in-tree as
535+
gpcontrib/gpcloud/test/googletest/googlemock/scripts/generator/LICENSE)
536+
516537
----------------------------
517538
BSD 2 Clause License
518539

@@ -541,6 +562,8 @@ The Greenplum Database software includes:
541562
see licenses/LICENSE-googletest.txt
542563

543564
gpcontrib/pg_hint_plan/*
565+
src/include/optimizer/hints.h (duplicates structures from
566+
pg_hint_plan.c so the hint parser can be used outside the extension)
544567
see licenses/LICENSE-pg-hint-plan.txt
545568

546569
----------------------------
@@ -690,3 +713,77 @@ Apache Cloudberry includes codes from
690713
see licenses/LICENSE-amalgamate.txt
691714
(also shipped in-tree as
692715
contrib/pax_storage/src/cpp/contrib/tabulate/utils/amalgamate/LICENSE.md)
716+
717+
================================================================================
718+
Build system files
719+
720+
The files under config/ come from the GNU Autotools (Autoconf, Automake
721+
and Libtool), pkg-config and the Autoconf Archive. The GPL-licensed
722+
ones carry an exception for use in configure scripts generated by
723+
Autoconf, which is the basis on which the ASF allows such build-tool
724+
files in its distributions
725+
(https://www.apache.org/legal/resolved.html#build-tools; see also
726+
LEGAL-290). Each file carries its full license notice. The top-level
727+
configure script is generated by Autoconf, includes expansions of these
728+
macros, and carries its own notice; it is listed below.
729+
730+
----------------------------
731+
GNU General Public License, with an exception for use in configure
732+
scripts generated by Autoconf
733+
734+
config/config.guess
735+
Copyright 1992-2021 Free Software Foundation, Inc.
736+
config/config.sub
737+
Copyright 1992-2021 Free Software Foundation, Inc.
738+
(GPL-3.0-or-later)
739+
740+
config/check_decls.m4
741+
(no copyright line of its own: based on commit
742+
82ef7805faffa151e724aa76c245ec590d174580 of Autoconf and
743+
distributed under Autoconf's license, GPL-3.0-or-later with
744+
the Autoconf Configure Script Exception 3.0)
745+
746+
config/libtool.m4
747+
Copyright (C) 1996-1999,2000 Free Software Foundation, Inc.
748+
(GPL-2.0-or-later)
749+
750+
config/pkg.m4
751+
Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
752+
Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
753+
(GPL-2.0-or-later)
754+
755+
config/ax_pthread.m4, from the Autoconf Archive
756+
Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
757+
Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
758+
(GPL-3.0-or-later with the Autoconf Macro exception)
759+
760+
----------------------------
761+
FSF All-Permissive License
762+
763+
configure, generated by GNU Autoconf 2.69
764+
Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
765+
766+
Macros from the Autoconf Archive:
767+
768+
config/ax_compare_version.m4
769+
Copyright (c) 2008 Tim Toolan <toolan@ele.uri.edu>
770+
771+
config/ax_cxx_compile_stdcxx.m4
772+
Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
773+
Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
774+
Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
775+
Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
776+
Copyright (c) 2015 Paul Norman <penorman@mac.com>
777+
Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
778+
Copyright (c) 2016, 2018 Krzesimir Nowak <qdlacz@gmail.com>
779+
Copyright (c) 2019 Enji Cooper <yaneurabeya@gmail.com>
780+
781+
config/ax_python_module.m4
782+
Copyright (c) 2008 Andrew Collier
783+
784+
----------------------------
785+
X11 License
786+
787+
config/install-sh
788+
Copyright (C) 1994 X Consortium
789+
(the Free Software Foundation's changes to it are in the public domain)

‎README.apache.md‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,18 @@ This file documents licensing clarifications and exceptions as part of ASF relea
2727

2828
This file is licensed under the GPL (Category X) and has been removed from the source tree to comply with ASF release policy.
2929

30-
## Historical Attribution Under Apache License 2.0
30+
## Historical Copyright Notices in Greenplum-based Code
3131

32-
The following entities have contributed to the Greenplum-based source code under the Apache License 2.0:
32+
Files that came from Greenplum Database carry the copyright notices of the companies that owned the code when it was written:
3333

34+
- Metapa (one of the two companies that merged to form Greenplum)
3435
- Greenplum, Inc.
3536
- EMC Corporation
36-
- VMware, Inc.
3737
- Pivotal Software
38+
- VMware, Inc.
3839
- Broadcom Inc.
3940

40-
RAT matchers are used to classify their license headers accordingly.
41+
Greenplum Database was released under the Apache License 2.0 in 2015, and these files are distributed under that license. RAT matchers are used to classify their license headers accordingly.
4142

4243
## Compressed Files in Source
4344

‎pom.xml‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,9 +330,11 @@ code or new licensing patterns.
330330
<exclude>config/python.m4</exclude>
331331
<exclude>config/tcl.m4</exclude>
332332

333-
<!-- GPLv2-AUTOEXC -->
333+
<!-- GPLv2-or-later with the Autoconf exception -->
334334
<exclude>config/pkg.m4</exclude>
335335
<exclude>config/libtool.m4</exclude>
336+
337+
<!-- GPLv3-or-later with the Autoconf Macro exception -->
336338
<exclude>config/ax_pthread.m4</exclude>
337339

338340
<exclude>.abi-check/**</exclude>
@@ -2087,6 +2089,7 @@ code or new licensing patterns.
20872089
<licenseFamilyName>Apache License (Broadcom-derived)</licenseFamilyName>
20882090
<licenseFamilyCategory>BRDC</licenseFamilyCategory>
20892091
<patterns>
2092+
<!-- ORCA files Greenplum added in 2024, after Broadcom acquired VMware. -->
20902093
<pattern>Copyright (C) 2024 VMware by Broadcom.</pattern>
20912094
<pattern>Copyright (C) 2024 Broadcom</pattern>
20922095
</patterns>
@@ -2119,6 +2122,7 @@ code or new licensing patterns.
21192122
<pattern>Copyright (c) 2007 Greenplum Inc</pattern>
21202123
<pattern>Copyright (c) 2010, Greenplum Software</pattern>
21212124
<pattern>Copyright (c) Greenplum Inc 2010</pattern>
2125+
<!-- Metapa was one of the two companies that merged to form Greenplum. -->
21222126
<pattern>Copyright (c) Metapa 2005. All Rights Reserved.</pattern>
21232127
<pattern>Copyright Greenplum 2008</pattern>
21242128
</patterns>

0 commit comments

Comments
 (0)