📚 docs: add dual license and document the image - #2
Conversation
PCC-657 pgtapes is private and unlicensed while tapes is public — license it and flip it
Problem
ImpactThe standalone OSS deployment story ships a load-bearing component whose source is invisible and whose license is undefined — the exact gap PCC-1152 closes for tapesctl and PCC-1154 closes for the cassette repos. Absorbs PCC-658 (the licensing half — one act, previously split into two user stories). Potential solutionSame playbook as the other flips: choose the license deliberately (dual MIT/Apache-2.0 per the 2026-08-11 cassette-repo call, unless the Postgres-extension context argues for matching tapes' AGPL — record the reasoning), one history pass for secrets/internal references, a README floor stating what it is and how tapes uses it, then the visibility flip. |
|
| Filename | Overview |
|---|---|
| README.md | Documents standalone and CloudNativePG operation; the new manifest and application-database guidance resolve the previously reported initialization issue. |
| LICENSE-APACHE | Adds the standard Apache License 2.0 text as one dual-license option. |
| LICENSE-MIT | Adds the MIT license with the Paper Compute copyright notice. |
Reviews (2): Last reviewed commit: "📝 docs: Note that CloudNativePG bypasse..." | Re-trigger Greptile
|
@greptile review |
Adds LICENSE-MIT and LICENSE-APACHE, and expands the README to describe what the image actually ships. The README records the pieces that are easy to get wrong from reading the Dockerfile alone: pgvector comes from the CloudNativePG standard base rather than being installed here, pg_duckdb is staged from the upstream image and appended to shared_preload_libraries, and the standard Postgres entrypoint is present so one image serves both the operator and a plain docker run. The init script creates the extensions only on first initialization of a data directory. The dual MIT/Apache terms cover this repository's own sources. The image they build redistributes third-party software under its own licenses, so the License section says so rather than implying these terms reach the contents of the image. Signed-off-by: Jason Carter <jason@papercompute.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The README described the entrypoint init script and the `shared_preload_libraries` line in `postgresql.conf.sample` as if they applied everywhere the image runs. They only apply to the standalone path: the CloudNativePG operator replaces the entrypoint and generates PostgreSQL's configuration from the Cluster spec, so a Cluster on this image comes up with no extensions created and pg_duckdb not preloaded. Add a short compatibility section showing what a Cluster must set instead, and qualify the claims that implied parity between the two paths.
b8879f1 to
80749db
Compare
Adds dual MIT/Apache-2.0 licensing and documents what this repository actually builds, verified by execution:
make buildrun green, the image booted with both extensions smoke-tested (pg_duckdb query + pgvector distance operator), and the published public-ECR reference confirmed anonymously pullable with its manifest digest matching the local build.The README covers build (make/dagger targets), running the image standalone, what the init scripts provide, and how tapes uses it. The License section scopes the dual terms to this repository's own sources, since the image aggregates third-party software (PostgreSQL, pgvector, pg_duckdb) under its own licenses.
related to PCC-657
🤖 Generated with Claude Code