Skip to content

Governance

SDF is an open protocol. The specification, JSON schemas, and reference implementation are publicly available under permissive open-source licenses. This will not change.

The SDF protocol specification will always be freely available to read, implement, and redistribute. No registration, license fee, or approval is required to build software that produces or consumes SDF documents.

Once a protocol version reaches stable status:

  • No existing required fields will be removed
  • No existing field semantics will change
  • New optional fields may be added
  • Deprecated fields will be retained for at least one major version

The current version (v0.2) is in draft status. Breaking changes may occur between minor versions until v1.0. After v1.0, the backwards compatibility policy takes full effect.

The SDF Core schema will never require proprietary fields or vendor-specific features. The extensions namespace allows vendors to add custom fields using reverse-domain notation (e.g., com.example.custom_field), but Core fields remain vendor-neutral.

Once a parent type is added to the taxonomy, it will not be removed. Subtypes may be added, but existing subtypes will not be renamed or removed after v1.0.

SDF uses Semantic Versioning:

ComponentMeaning
Major (e.g., 1.x → 2.x)Breaking changes to required fields or semantics
Minor (e.g., 0.2 → 0.3)New optional fields, new types, non-breaking additions
Patch (e.g., 0.2.0 → 0.2.1)Schema fixes, documentation clarifications

Every SDF document declares its protocol version via the sdf_version field. Consumers can check this field to determine which schema to validate against.

SDF is developed in the open on GitHub:

  • Specification & schemas: github.com/sdfprotocol
  • Issues and proposals: Use GitHub Issues for bug reports, feature requests, and spec discussions
  • Pull requests: Contributions to the specification, schemas, and documentation are welcome

For non-trivial changes (new fields, new types, semantic modifications):

  1. Open a GitHub Issue describing the motivation and proposed change
  2. Discussion happens in the issue thread
  3. If consensus is reached, submit a pull request with the spec and schema changes
  4. Changes are reviewed and merged by the maintainers
ItemStatus
Protocol versionv0.2.0 (draft)
JSON SchemaPublished
Reference implementationAvailable
Governance modelMaintainer-led, open contribution
Target for v1.0 stableUnder evaluation