Skip to content

Sources And Licensing

samatstarion edited this page Sep 6, 2026 · 2 revisions

Sources and Licensing

Upstream sources

The knowledge base is built from two upstream OMG repositories, one release tag at a time. A release tag must resolve in both repositories – the set of releases Hypha can offer is their intersection. A model's internal XMI URI (e.g. …/SysML/20250201) is ignored as an identifier, since the same model can appear under multiple tags.

Input Upstream repository Path License
SysML v2 metamodel Systems-Modeling/SysML-v2-Pilot-Implementation org.omg.sysml/model/SysML_only_xmi.uml EPL-2.0, git-ignored
KerML metamodel SysML-v2-Pilot-Implementation org.omg.sysml/model/KerML_only_xmi.uml EPL-2.0, git-ignored
Primitive types shared sources/PrimitiveTypes.xmi OMG UML, committed
Specification PDFs Systems-Modeling/SysML-v2-Release doc/*.pdf OMG, git-ignored
Textual grammar SysML-v2-Release bnf/*.kebnf, *.kgbnf EPL-2.0, git-ignored
Textual examples SysML-v2-Release kerml/, sysml/ EPL-2.0, git-ignored
Standard model libraries SysML-v2-Release sysml.library/**/*.sysml, *.kerml EPL-2.0, git-ignored

Exact upstream commits are recorded in sources/README.md and NOTICE.

Committed vs. git-ignored

Nothing per-release is committed any more, for anything, not a rolling window, not a single release. Every release's inputs and generated knowledge live entirely on the user's own machine.

  • Git-ignored, per release: sources/<tag>/ (fetched XMI, textual sources, specification PDFs) and knowledge/<tag>/ (everything generated from them), plus knowledge/versions.json (the manifest of installed releases and the default). .gitignore's /sources/*/ and /knowledge/*/ patterns are root-anchored, so they only match this per-repository-root layout, not the small XMI test fixture under tools/metamodel-gen/Hypha.MetamodelGen.Tests/Fixtures/.
  • Committed, not per release: knowledge/README.md, knowledge/cross-references.schema.json, knowledge/model-library.schema.json (hand-authored shape descriptions, not one release's content); sources/PrimitiveTypes.xmi (the OMG UML primitives library, shared and tag-independent); the hooks/native/<rid>/hypha-hook(.exe) binaries (see Build and Release); the only compiled binaries this repository commits.
  • Committed as a test fixture, not a distributed one: tools/metamodel-gen/Hypha.MetamodelGen.Tests/Fixtures/xmi/ holds one real release's XMI so its tests have something real to exercise without a network fetch. It lives under tools/, which is never shipped with the plugin, so committing it does not reintroduce a distributed knowledge floor.
  • Git-ignored, never committed, for any release: sources/<tag>/specs/*.pdf and the generated knowledge/<tag>/spec/. These are full, verbatim OMG specification text; the OMG license forbids redistributing it, so it is regenerated locally only. hypha generate's spec artifact (SpecGenerator) drives this: it fetches and caches uv, which resolves or fetches a matching Python itself and runs tools/spec-extract through it, so this no longer needs a maintainer source checkout or a pre-provisioned .venv – only the PDFs (hypha fetch, by default) and, the first time, network access to provision uv. The SessionStart hook tells the user when the PDFs are missing for the default release.

See The Knowledge Base for the generated layout this produces, and Generation Pipelines for how each piece is generated.

Licenses

  • This repository's own code and content: Apache License 2.0; see LICENSE.
  • The generated knowledge (metamodel, textual notation) is a derivative "special purpose specification … based upon" the OMG specifications, used for informational purposes as permitted by the OMG specification license, and ships under this repository's Apache-2.0 license once generated. The upstream OMG attributions and license text still apply, and are reproduced in NOTICE.
  • OMG specification PDFs are copyrighted and never committed – the OMG license forbids posting the specifications on a network. Obtain them directly from OMG: KerML 1.0 (formal/26-03-01), SysML 2.0 (formal/26-03-02), Systems Modeling API & Services 1.0 (formal/26-03-04).
  • The metamodel XMI and textual-notation sources come from the SysML v2 submission team's repositories under the Eclipse Public License 2.0. NOTICE reproduces the full OMG specification license text and credits the contributing organizations (88solutions, Airbus, Boeing, Dassault Systèmes, IBM, Lockheed Martin, PTC, Siemens, The MathWorks, and others).

Provenance

Every fact the skills surface carries one of three tiers – NORMATIVE, MODEL,DERIVED – so a reader can tell what was read verbatim from what was inferred. See Skills and Agents for the full definitions.

Clone this wiki locally