License peo4c under GPL-3.0-or-later and ship third-party notices

- Add the GPL-3.0 LICENSE and SPDX headers to peo4c's own files.
- Add THIRD_PARTY_NOTICES.md listing every bundled component, its
  license and where its license text lives in the image, plus a
  trademark disclaimer; reference it from the README.
- Ship neo4j-browser's LICENSE, NOTICE.txt and LICENSES.txt with a
  source archive of the built commit, as the GPL requires.
- Ship Apache AGE's LICENSE and NOTICE, which the base image lacks.
- Collect license texts for Python packages whose wheels omit them,
  from PyPI sdists or vendored copies in docker/licenses/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Bart BroereandClaude Opus 5.5 committed 2026-10-14 11:58:27 +02:00
1 parent e72af59401
commit 04e1c32223
22 files changed
+1152 -1

No files matched your search

+50
View File
@@ -0,0 +1,50 @@
# Third-party notices
peo4c's own code (the `bridge/`, `docker/` and `tests/` directories and the
`Dockerfile`) is licensed under the GNU General Public License v3.0 or later;
see [LICENSE](LICENSE).
The container image built from this repository also contains the third-party
software below. None of it is stored in this repository: it is downloaded when
the image is built. Inside the image, license texts are collected under
`/usr/share/doc/peo4c/`.
| Component | License | Copyright | License text in the image |
| --- | --- | --- | --- |
| [neo4j-browser](https://github.com/neo4j/neo4j-browser), built unmodified from the commit pinned in the `Dockerfile` | GPL-3.0-or-later | Neo4j Sweden AB | `/usr/share/doc/peo4c/neo4j-browser/` (`LICENSE`, `NOTICE.txt`) |
| JavaScript libraries bundled into neo4j-browser | various (MIT, Apache-2.0, BSD, ...) | their respective authors | `/usr/share/doc/peo4c/neo4j-browser/LICENSES.txt` |
| [Apache AGE](https://github.com/apache/age), from the `apache/age` base image | Apache-2.0 | The Apache Software Foundation; portions Bitnine Co., Ltd. | `/usr/share/doc/peo4c/apache-age/` (`LICENSE`, `NOTICE`) |
| [PostgreSQL](https://www.postgresql.org/), from the `apache/age` base image | PostgreSQL License | The PostgreSQL Global Development Group, The Regents of the University of California | `/usr/share/doc/postgresql-18/copyright` |
| Debian GNU/Linux base system and packages, including Python 3 and `python3-psycopg` (LGPL-3.0) | various | their respective authors | `/usr/share/doc/<package>/copyright` |
| [pgAdmin 4](https://www.pgadmin.org/), installed from PyPI | PostgreSQL License | The pgAdmin Development Team | `/opt/pgadmin/app/LICENSE` |
| Python packages pgAdmin depends on, and `gunicorn` (MIT) | various | their respective authors | `*.dist-info/` under `/opt/pgadmin/lib/python3*/site-packages/`, or `/usr/share/doc/peo4c/pgadmin-python-licenses/` for packages whose wheel lacks a license file |
## Source code
- **neo4j-browser** is licensed under the GPL, which requires the complete
corresponding source to accompany the built application. The image contains
it as `/usr/share/doc/peo4c/neo4j-browser/neo4j-browser-source.tar.gz`, an
archive of the exact commit that was built. Its dependencies are pinned by
the `yarn.lock` inside that archive, and the build steps are in this
repository's `Dockerfile`.
- **peo4c** itself ships as Python source code in `/opt/peo4c/bridge/`. This
repository has the rest.
- **Debian packages:** source is available from
[sources.debian.org](https://sources.debian.org/) and the Debian archive.
## Interoperability
The peo4c bridge implements the Bolt protocol and PackStream format from their
public specifications so that unmodified Neo4j clients can connect. It contains
no source code from Neo4j. To work with those clients it reports itself as
"Neo4j" with a Neo4j version number, and it recognises the exact query strings
that neo4j-browser sends; `tests/smoke_test.py` repeats some of those query
strings to check compatibility.
## Trademarks
Neo4j is a trademark of Neo4j, Inc. PostgreSQL is a trademark of the PostgreSQL
Community Association. Apache, Apache AGE and the Apache feather logo are
trademarks of The Apache Software Foundation. pgAdmin is a trademark of the
pgAdmin Development Team. peo4c is not affiliated with or endorsed by any of
them; the names are used only to identify the software it works with.