Licensing & Third-Party Sources

This project

Sysprose is dual-licensed. The repository is licensed under the MIT License — all source code, tests and documentation are original works authored for this project — EXCEPT the bundled standard model library in src/library/std/, which is licensed under the Eclipse Public License, v2.0 (EPL-2.0). That directory contains converted model data derived from the EPL-2.0 Systems-Modeling/SysML-v2-Release repository (see The bundled full standard model library below and src/library/std/{LICENSE,NOTICE,README.md}). Everything else is MIT, except where explicitly attributed below.

Standards status. Sysprose is a candidate implementation of a SysML v2–style textual notation and an OMG-API-shaped element graph. It is not certified or conformance-tested, and claims no conformance to any OMG specification. SysML® is a registered trademark of the Object Management Group, Inc.; this project is not affiliated with, sponsored by, or endorsed by the OMG.

The Langium textual grammar (clean-room statement)

The Langium grammar for the SysML v2 textual notation (src/text/langium/) is an original, clean-room work authored for this project. It now backs the default parseModel (via the src/text/langium/map-to-model.ts AST→Model mapper); the original hand-written recursive-descent parser is preserved verbatim in src/text/parser-legacy.ts as a rollback/reference oracle.

The bundled standard model library (clean-room statement)

The bundled standard model library (src/library/) is an INDEPENDENT, clean-room implementation of a faithful subset of the OMG SysML v2 and KerML normative model libraries (Base, ScalarValues, Collections, Quantities, ISQ, SI).

The bundled full standard model library (EPL-2.0)

The directory src/library/std/ bundles the full OMG SysML v2 / KerML standard model library as converted model data, and is licensed under the Eclipse Public License, v2.0 (EPL-2.0) — the same license as its upstream source. This is the only EPL-licensed part of the repository; it supersedes the small curated clean-room library described in the section above for production type/name resolution.

The API & Services surface, incl. the OSLC facade (clean-room statement)

The API & Services implementation (src/api/ — the SDK, Query engine, analytics, version-controlled repository, REST facade src/api/rest.ts, and the OSLC PSM facade src/api/oslc.ts) is an original, clean-room work authored for this project from the OMG specifications and this project's own engineering reference (docs/02-omg-standard-reference.md).

Third-party sources

Source URL License How used
OMG SysML v2 specification (v2.0) https://www.omg.org/spec/SysML/ OMG specification terms Normative source for SysML domain library names & the Definition/Usage hierarchy (implemented, not copied).
OMG KerML specification (v1.0) https://www.omg.org/spec/KerML/ OMG specification terms Normative source for the kernel data-type / scalar-value / collections hierarchy (implemented, not copied).
OMG Systems Modeling API & Services (v1.0) https://www.omg.org/spec/SystemsModelingAPI/ OMG specification terms Normative source for the resource model, REST/HTTP PSM & Query language implemented in src/api/ (implemented, not copied).
OASIS OSLC Systems Modeling Language v2.0 (OSLC PSM) https://docs.oasis-open-projects.org/oslc-op/sysml/v2.0/psd01/sysml-spec.html OASIS Open Project terms Normative reference for the representative OSLC facade src/api/oslc.ts (implemented, not copied).
OSLC Core 3.0 (OASIS) https://docs.oasis-open-projects.org/oslc-op/core/v3.0/ OASIS Open Project terms Reference for OSLC ServiceProviderCatalog/ServiceProvider/QueryCapability shapes, oslc.where/oslc.select, and the "RDF Representations" content-negotiation requirement served by src/server/rdf.ts (implemented, not copied).
W3C RDF 1.1 Turtle https://www.w3.org/TR/turtle/ W3C Document License Reference for the Turtle concrete syntax emitted by src/server/rdf.ts (implemented, not copied).
W3C RDF 1.1 XML Syntax https://www.w3.org/TR/rdf-syntax-grammar/ W3C Document License Reference for the RDF/XML concrete syntax emitted by src/server/rdf.ts (implemented, not copied).
IETF RFC 9110 (HTTP Semantics) https://www.rfc-editor.org/rfc/rfc9110 IETF Trust / RFC terms Reference for ETag/If-Match conditional-request + 409 Conflict optimistic-concurrency semantics wired in src/server/app.ts (implemented, not copied).
Systems-Modeling/SysML-v2-Release reference repository https://github.com/Systems-Modeling/SysML-v2-Release EPL-2.0 Three uses: (1) consulted to fact-check the curated clean-room library in src/library/standard-library.ts (no text copied); (2) its XMI library tree is converted into src/library/std/ (converted model data — see below), which is therefore EPL-2.0; (3) its textual sysml.library is read-only test input for test/conformance/corpus.test.ts, from a checkout outside the repository (~/.stdlib-src; in CI, a shallow fetch at the same commit as (2)) — never copied or committed.
Derived standard library src/library/std/ (converted from the repo above, commit ee25530ed24b8c93a0e3e4b8d5fbfaa5a8d8ffb4) https://github.com/Systems-Modeling/SysML-v2-Release EPL-2.0 Full SysML v2 / KerML standard model library, converted to this project's JSON by scripts/build-stdlib.ts. See src/library/std/{LICENSE,NOTICE,README.md}.
Project reference: docs/02-omg-standard-reference.md (in this repository) MIT (this project) Primary internal engineering reference used while authoring the library and the Langium grammar.
Langium parser framework + langium-cli https://github.com/eclipse-langium/langium MIT Build/runtime dependency driving the default textual parser (src/text/langium/). No grammar text copied from it.
z3 theorem prover, via the z3-solver npm package (WASM build) https://github.com/Z3Prover/z3 MIT OPTIONAL runtime dependency of the verification lane, loaded through a dynamic import by src/semantics/smt/z3-bridge.ts and excluded from the browser bundle (vite.config.ts). Nothing is copied from it: this project writes SMT-LIB2 and reads back sat / unsat / unknown. It is never bundled with a release, and a clone that skips optional dependencies still builds and passes its suites.
Google Identity Services (GIS) — the browser sign-in client https://developers.google.com/identity/oauth2/web/guides/overview Google APIs Terms of Service (https://developers.google.com/terms) OPTIONAL, runtime only: loaded from https://accounts.google.com/gsi/client by src/persistence/drive/loader.ts, and only on a deployment whose drive.json enables Google Drive, after the user opens Drive ▾, presses Ctrl/⌘+Shift+S or follows a ?drive= link. Never bundled and nothing copied; no Subresource Integrity hash, because Google rotates the script in place.
Google Picker API and its loader api.js https://developers.google.com/drive/picker Google APIs Terms of Service (https://developers.google.com/terms) OPTIONAL, runtime only: https://apis.google.com/js/api.js is loaded by src/persistence/drive/loader.ts at the first Browse Drive… on a deployment that configures the picker, and loads the Picker from there. Never bundled and nothing copied; no Subresource Integrity hash, for the same reason.
Google Drive API v3 (REST) https://developers.google.com/drive/api/reference/rest/v3 Google APIs Terms of Service (https://developers.google.com/terms) Reference for the requests src/persistence/drive/gateway.ts makes — files get/list/create/update, about, the multipart upload framing, the X-Goog-Drive-Resource-Keys header (implemented, not copied). A service the browser calls on the user's behalf, not code the project ships.
BIPM SI Brochure (9th ed., 2019) — International System of Units https://www.bipm.org/en/publications/si-brochure BIPM (definitions are physical facts) Consulted for the SI base/derived-unit definitions, decimal prefix powers, and exact defined equivalents (e.g. 0 °C ≡ 273.15 K) used to author the clean-room dimension model + unit registry in src/semantics/units.ts. No prose, table, or data file copied; every factor/offset implemented originally from the definitions.