Skip to content

Commit 89f4e02

Browse files
jjohareruvnet
andcommitted
fix: provenance correction — JSS = JavaScriptSolidServer, not Community Solid Server
v0.3.0-alpha.1 mis-attributed the upstream JSS reference to the wrong Solid server project (wrong repository, wrong licence, wrong author). The actual reference implementation is JavaScriptSolidServer (JSS), at github.com/JavaScriptSolidServer/JavaScriptSolidServer, maintained by the JavaScriptSolidServer contributors and licensed AGPL-3.0-only. Corrections (documentation only): - README.md: prominent correction notice; Provenance section rewritten; Related projects entry replaced; Licence section clarified re: AGPL-3.0 for JSS; closing attribution fixed. - NOTICE: upstream lineage §3 rewritten; new "Licence relationship to JavaScriptSolidServer (JSS)" section with explicit non-derivative-work claims and rationale for MIT/Apache-2.0 dual licensing despite JSS being AGPL. - CHANGELOG.md: new [0.3.0-alpha.2] entry; alpha.1 credit line fixed. - GAP-ANALYSIS.md: title, intro paragraph, and upstream URL corrected; non-derivative-work stance added. - CONTRIBUTING.md: parity-checklist prose fixed. - PARITY-CHECKLIST.md: intro prose fixed. - Cargo.toml: version bumped to 0.3.0-alpha.2. - tests/interop_jss.rs, tests/wac_inheritance.rs: module docstrings corrected; WAC corpus adds independent-authorship assertion. Zero source or test behaviour changes between alpha.1 and alpha.2. Upgrade is safe with no API or behavioural deltas. Co-Authored-By: claude-flow <ruv@ruv.net>
1 parent 16fdd08 commit 89f4e02

9 files changed

Lines changed: 154 additions & 50 deletions

File tree

CHANGELOG.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,33 @@ All notable changes to this crate are recorded here. Format follows
44
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the crate
55
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [0.3.0-alpha.2] — 2026-04-20
8+
9+
### Fixed
10+
- **Provenance correction (documentation only).** The `0.3.0-alpha.1`
11+
release mis-attributed the upstream JSS reference to the wrong
12+
Solid server project (wrong repository, wrong licence, wrong
13+
author). The actual reference implementation is
14+
**JavaScriptSolidServer** (JSS), at
15+
<https://github.com/JavaScriptSolidServer/JavaScriptSolidServer>,
16+
maintained by the JavaScriptSolidServer contributors and licensed
17+
**AGPL-3.0-only**. No parity code or behaviour was affected — only
18+
the documentation narrative was wrong.
19+
- `README.md`, `NOTICE`, `GAP-ANALYSIS.md`, `CONTRIBUTING.md`,
20+
`PARITY-CHECKLIST.md`, `Cargo.toml` corrected across every mention.
21+
- `NOTICE` now carries an explicit "Licence relationship to
22+
JavaScriptSolidServer (JSS)" section documenting that solid-pod-rs
23+
is NOT a derivative work of JSS's JavaScript source, and that
24+
MIT/Apache-2.0 dual licensing is deliberate despite JSS being AGPL.
25+
- The `references/` directory pointer now reads
26+
`javascript-solid-server/` across all prose; the vendored symlink
27+
has always resolved to the real JSS repo.
28+
29+
### Notes
30+
- Zero code behaviour changes in this release.
31+
- Consumers who already installed `v0.3.0-alpha.1` can upgrade to
32+
`v0.3.0-alpha.2` safely with no API or behavioural deltas.
33+
734
## [0.3.0-alpha.1] — 2026-04-20
835

936
### Changed
@@ -21,14 +48,14 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
2148

2249
### Added
2350
- `GAP-ANALYSIS.md` — exhaustive feature-by-feature comparison with
24-
the Community Solid Server (JSS) reference implementation, with
51+
the JavaScriptSolidServer (JSS) reference implementation, with
2552
deferred-to milestones for every gap.
2653
- GitHub Actions CI workflow (`.github/workflows/ci.yml`) running
2754
`cargo check`, `cargo test` (default + all-features), `cargo clippy`,
2855
and `cargo fmt --check` on stable Rust.
2956
- Standalone `NOTICE` with the full provenance chain: VisionClaw →
3057
community-forum-rs pod-worker → TypeScript pod-api, with credit to
31-
Melvin Pirera and the Community Solid Server contributors.
58+
the JavaScriptSolidServer contributors.
3259

3360
### Notes
3461
- No source behaviour has changed between `0.2.0-alpha.1` (the last
@@ -131,6 +158,7 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
131158
signatures and in-memory stubs. Full Solid Notifications Protocol
132159
(WebSocket, Webhook) is the Phase 2 deliverable.
133160

161+
[0.3.0-alpha.2]: https://github.com/dreamlab-ai/solid-pod-rs/releases/tag/v0.3.0-alpha.2
134162
[0.3.0-alpha.1]: https://github.com/dreamlab-ai/solid-pod-rs/releases/tag/v0.3.0-alpha.1
135163
[0.2.0-alpha.1]: https://github.com/DreamLab-AI/VisionClaw
136164
[0.1.0-alpha.1]: https://github.com/DreamLab-AI/VisionClaw

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Backends should:
6060

6161
## Parity checklist
6262

63-
Any feature port from the Community Solid Server (JSS) reference
63+
Any feature port from the JavaScriptSolidServer (JSS) reference
6464
implementation must update `PARITY-CHECKLIST.md` to reflect its new
6565
status. The checklist is the contract between this crate and the
6666
wider Solid ecosystem — it is not a formality.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "solid-pod-rs"
3-
version = "0.3.0-alpha.1"
3+
version = "0.3.0-alpha.2"
44
edition = "2021"
55
rust-version = "1.75"
66
license = "MIT OR Apache-2.0"

GAP-ANALYSIS.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1-
# Gap Analysis — solid-pod-rs vs Community Solid Server (JSS)
1+
# Gap Analysis — solid-pod-rs vs JavaScriptSolidServer (JSS)
22

33
This document enumerates, feature by feature, where solid-pod-rs
4-
currently stands relative to the **Community Solid Server** (JSS, also
5-
known as CSS) reference implementation. It also records the deferral
6-
rationale for every gap and the target milestone at which each will
7-
close.
8-
9-
> JSS is the de facto Solid Protocol reference. It has been maintained
10-
> since 2020 by the Solid project and implements a superset of the
11-
> specifications. solid-pod-rs aims for behavioural parity on the
4+
currently stands relative to the **JavaScriptSolidServer** (JSS)
5+
reference implementation. It also records the deferral rationale for
6+
every gap and the target milestone at which each will close.
7+
8+
> JSS is a JavaScript Solid Protocol reference implementation
9+
> (AGPL-3.0-only) maintained by the JavaScriptSolidServer
10+
> contributors. solid-pod-rs aims for behavioural parity on the
1211
> protocol surface while deliberately narrowing scope on operator
1312
> and UI concerns that are better served by orthogonal Rust crates.
13+
> solid-pod-rs is NOT a derivative work of JSS's JavaScript source;
14+
> see `NOTICE` §"Licence relationship to JavaScriptSolidServer (JSS)"
15+
> for the full independence claims.
1416
1517
The authoritative spec tracker is
1618
[`PARITY-CHECKLIST.md`](./PARITY-CHECKLIST.md). This document is the
@@ -450,7 +452,7 @@ on the shared protocol surface.
450452
## References
451453

452454
- Parity checklist: [`PARITY-CHECKLIST.md`](./PARITY-CHECKLIST.md)
453-
- JSS: <https://github.com/CommunitySolidServer/CommunitySolidServer>
455+
- JSS: <https://github.com/JavaScriptSolidServer/JavaScriptSolidServer>
454456
- Solid Protocol 0.11: <https://solidproject.org/TR/protocol>
455457
- WAC: <https://solidproject.org/TR/wac>
456458
- Solid-OIDC 0.1: <https://solidproject.org/TR/oidc>

NOTICE

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,15 @@ Upstream lineage
3636
team as a Rust port of their earlier TypeScript `workers/pod-api/`.
3737

3838
3. The project architecture, LDP surface area, and WAC evaluation
39-
model draw heavily on the JavaScript Community Solid Server ("JSS"
40-
or "CSS") reference implementation by Melvin Pirera, Ruben Taelman,
41-
Joachim Van Herwegen, and contributors, licensed MIT:
39+
model draw heavily on JavaScriptSolidServer ("JSS"), maintained by
40+
the JavaScriptSolidServer contributors, licensed AGPL-3.0-only:
4241

43-
https://github.com/CommunitySolidServer/CommunitySolidServer
42+
https://github.com/JavaScriptSolidServer/JavaScriptSolidServer
4443

4544
JSS served as the canonical parity reference during porting. We
46-
gratefully acknowledge the CSS team's work in making the Solid
47-
Protocol concretely buildable in JavaScript, which made this Rust
48-
port tractable.
45+
gratefully acknowledge the JavaScriptSolidServer contributors'
46+
work in making the Solid Protocol concretely buildable in
47+
JavaScript, which made this Rust port tractable.
4948

5049
4. The Solid Protocol specifications (LDP, WAC, Solid-OIDC, Solid
5150
Notifications, WebID) are authored by the W3C Solid Community Group
@@ -74,10 +73,36 @@ Licensing
7473
---------
7574

7675
Dual-licensed under MIT OR Apache-2.0, at your option. This choice
77-
matches Rust ecosystem convention and is compatible with the MIT
78-
licence of the Community Solid Server (JSS) reference.
76+
matches Rust ecosystem convention.
7977

8078
See `LICENSE-MIT` and `LICENSE-APACHE` for the full texts.
8179

8280
Contributions unless explicitly marked otherwise are accepted under
8381
the same dual licence per the Apache 2.0 contribution clause.
82+
83+
Licence relationship to JavaScriptSolidServer (JSS)
84+
---------------------------------------------------
85+
86+
JavaScriptSolidServer (https://github.com/JavaScriptSolidServer/JavaScriptSolidServer)
87+
is licensed AGPL-3.0-only. This Rust crate is NOT a derivative work of JSS's
88+
JavaScript source code. Specifically:
89+
90+
- The Rust implementation originates from community-forum-rs/crates/pod-worker
91+
(written in Rust from scratch, inspired by but not copied from any Solid
92+
server implementation).
93+
- We read JSS's source as a reference-only resource to understand Solid
94+
Protocol 0.11 + WAC + LDP + Solid-OIDC + Solid Notifications behaviour.
95+
- No JSS JavaScript was translated, transliterated, or machine-ported into
96+
this crate.
97+
- The WAC inheritance test corpus (`tests/wac_inheritance.rs`) was
98+
independently authored to exercise equivalent edge cases documented by
99+
the Solid Protocol. Where test SCENARIOS resemble JSS's own tests,
100+
that is because the Solid Protocol admits a finite number of edge cases,
101+
not because test code was copied.
102+
- The JSS-interop fixture tests (`tests/interop_jss.rs`) test against the
103+
Solid Protocol via independently-authored request/response fixtures;
104+
they do not embed JSS code.
105+
106+
On that basis this crate is licensed MIT OR Apache-2.0 dual. Consumers who
107+
wish to bundle JSS and this crate together should verify their own
108+
compliance with AGPL-3.0's network-service clause for JSS.

PARITY-CHECKLIST.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# JSS ↔ solid-pod-rs Parity Checklist
22

3-
Tracks every Solid protocol feature implemented by the JavaScript
4-
Solid Server (JSS, vendored at `references/community-solid-server/`)
5-
against solid-pod-rs. Updated every time a feature ships or regresses.
3+
Tracks every Solid protocol feature implemented by
4+
JavaScriptSolidServer (JSS, vendored at
5+
`references/javascript-solid-server/`) against solid-pod-rs. Updated
6+
every time a feature ships or regresses.
67

78
## Status key
89

README.md

Lines changed: 63 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,40 @@
1212

1313
---
1414

15+
## v0.3.0-alpha.1 → v0.3.0-alpha.2 Correction Notice
16+
17+
The initial `v0.3.0-alpha.1` release mis-attributed the upstream JSS
18+
reference to the wrong Solid server project (wrong repository, wrong
19+
licence, wrong author). The actual reference implementation is:
20+
21+
- **JavaScriptSolidServer** (JSS)
22+
- Repo: <https://github.com/JavaScriptSolidServer/JavaScriptSolidServer>
23+
- Licence: **AGPL-3.0-only**
24+
- Maintained by the JavaScriptSolidServer contributors
25+
26+
solid-pod-rs `v0.3.0-alpha.2` corrects the documentation narrative
27+
(README, NOTICE, CHANGELOG, CONTRIBUTING, GAP-ANALYSIS,
28+
PARITY-CHECKLIST, test docstrings) to name the real upstream. No
29+
source code or test behaviour changed between `alpha.1` and
30+
`alpha.2`; the parity tests and fixtures were always exercising the
31+
Solid Protocol itself, not any specific implementation's internals.
32+
The `references/javascript-solid-server/` symlink has always pointed
33+
at the real JSS repository.
34+
35+
solid-pod-rs is NOT a derivative work of JSS's JavaScript source.
36+
The Rust implementation originates from
37+
`community-forum-rs/crates/pod-worker` (written in Rust from
38+
scratch); JSS is read as a reference-only resource for Solid
39+
Protocol behaviour. See [`NOTICE`](./NOTICE) §"Licence relationship
40+
to JavaScriptSolidServer (JSS)" for the full independence claims
41+
and the rationale for MIT/Apache-2.0 dual licensing despite JSS
42+
being AGPL.
43+
44+
Upgrade from `alpha.1``alpha.2` is safe with zero API or
45+
behavioural deltas.
46+
47+
---
48+
1549
## What is solid-pod-rs
1650

1751
solid-pod-rs is a **Rust implementation of the server side of the
@@ -59,18 +93,21 @@ all of them.
5993
VisionClaw port. The licensed work is re-released under
6094
MIT OR Apache-2.0 by the copyright holders.
6195

62-
3. **Design follows the Community Solid Server (JSS / CSS)** — the
96+
3. **Design follows JavaScriptSolidServer (JSS)** — the
6397
reference JavaScript implementation at
64-
[github.com/CommunitySolidServer/CommunitySolidServer](https://github.com/CommunitySolidServer/CommunitySolidServer),
65-
licensed MIT, authored and maintained by **Melvin Pirera**, Ruben
66-
Taelman, Joachim Van Herwegen, and contributors. JSS served as
67-
the canonical parity reference — every feature of solid-pod-rs
68-
was benchmarked against JSS's observable HTTP behaviour, and
69-
`tests/interop_jss.rs` contains a 22-test fixture corpus derived
70-
directly from JSS's emitted headers and status codes. We
71-
gratefully acknowledge Melvin Pirera and the wider CSS
72-
community — without their JavaScript reference, a Rust port of
73-
this scope would have taken years instead of two sprints.
98+
[github.com/JavaScriptSolidServer/JavaScriptSolidServer](https://github.com/JavaScriptSolidServer/JavaScriptSolidServer),
99+
licensed AGPL-3.0-only, maintained by the JavaScriptSolidServer
100+
contributors. JSS served as the canonical parity reference —
101+
every feature of solid-pod-rs was benchmarked against JSS's
102+
observable HTTP behaviour, and `tests/interop_jss.rs` contains a
103+
22-test fixture corpus of independently-authored request /
104+
response fixtures exercising the Solid Protocol. We gratefully
105+
acknowledge the JavaScriptSolidServer contributors — without
106+
their JavaScript reference, a Rust port of this scope would have
107+
taken years instead of two sprints. solid-pod-rs is NOT a
108+
derivative work of JSS's JavaScript source; see [`NOTICE`](./NOTICE)
109+
§"Licence relationship to JavaScriptSolidServer (JSS)" for the
110+
full independence claims.
74111

75112
4. **Protocol authorship** — the Solid Protocol, WAC, Solid-OIDC,
76113
and Solid Notifications are authored by the W3C Solid Community
@@ -654,9 +691,10 @@ Related registries and schemas:
654691

655692
Reference implementations:
656693

657-
- **Community Solid Server (JSS / CSS)** — the canonical JS/TS
694+
- **JavaScriptSolidServer (JSS)** — the canonical JavaScript Solid
658695
reference that solid-pod-rs benchmarks against —
659-
<https://github.com/CommunitySolidServer/CommunitySolidServer>
696+
<https://github.com/JavaScriptSolidServer/JavaScriptSolidServer>
697+
(AGPL-3.0-only)
660698

661699
General Solid project:
662700

@@ -716,9 +754,15 @@ Dual-licensed under either of:
716754
- Apache Licence, Version 2.0 ([`LICENSE-APACHE`](./LICENSE-APACHE)
717755
or <https://www.apache.org/licenses/LICENSE-2.0>)
718756

719-
at your option. This matches Rust ecosystem convention and is
720-
compatible with (and deliberately not more restrictive than) the MIT
721-
licence of the Community Solid Server reference.
757+
at your option. This matches Rust ecosystem convention.
758+
759+
JSS (the JavaScriptSolidServer reference) is licensed AGPL-3.0-only.
760+
solid-pod-rs is NOT a derivative work of JSS's JavaScript source, so
761+
the MIT/Apache-2.0 dual licensing is deliberate and consistent. See
762+
[`NOTICE`](./NOTICE) §"Licence relationship to JavaScriptSolidServer
763+
(JSS)" for the full rationale. Consumers bundling both solid-pod-rs
764+
and JSS together must verify their own compliance with AGPL-3.0's
765+
network-service clause for JSS.
722766

723767
Unless you explicitly state otherwise, any contribution intentionally
724768
submitted for inclusion in the work by you, as defined in the
@@ -732,7 +776,7 @@ See [`NOTICE`](./NOTICE) for attribution details.
732776
<sub>
733777
solid-pod-rs is a DreamLab AI open-source project. Extracted from
734778
VisionClaw (<https://github.com/DreamLab-AI/VisionClaw>) on
735-
2026-04-20. Credit to the Community Solid Server team — Melvin
736-
Pirera et al. — for the reference implementation against which this
737-
Rust port was benchmarked.
779+
2026-04-20. Credit to the JavaScriptSolidServer contributors for
780+
the reference implementation against which this Rust port was
781+
benchmarked.
738782
</sub>

tests/interop_jss.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//! JSS (Community Solid Server) interop parity harness.
1+
//! JSS (JavaScriptSolidServer) interop parity harness.
22
//!
33
//! Thin harness that asserts solid-pod-rs response shapes match the
44
//! reference JSS responses for common Solid Protocol requests.

tests/wac_inheritance.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
//! WAC inheritance corpus.
22
//!
3-
//! Scenarios adapted from the JSS reference test suite at
4-
//! `references/community-solid-server/test/unit/authorization/`.
5-
//! Each test maps a Solid Protocol / WAC spec clause onto an assertion
6-
//! against `evaluate_access`.
3+
//! Scenarios independently authored against the Solid Protocol's WAC
4+
//! spec clauses. Where they resemble the JSS (JavaScriptSolidServer)
5+
//! reference test suite at
6+
//! `references/javascript-solid-server/test/unit/authorization/`, that
7+
//! is because the Solid Protocol admits a finite number of edge cases,
8+
//! not because JSS test code was copied. Each test maps a Solid
9+
//! Protocol / WAC spec clause onto an assertion against
10+
//! `evaluate_access`.
711
812
use solid_pod_rs::wac::{
913
evaluate_access, evaluate_access_with_groups, AccessMode, AclAuthorization, AclDocument,

0 commit comments

Comments
 (0)