Skip to content

[oscal support] Discussion on namespace for custom control parts and properties #133

@jpower432

Description

@jpower432

Background

This issue is for a discussion regarding the namespace used when generating OSCAL catalogs with custom control parts and properties through the layer2 OSCAL generation functionality.

When transforming Layer 2 catalogs, the control parts for terms originating from the gemara schema currently use the namespace https://github.com/ossf/gemara/ns/oscal. Since these namespaces can often be associated with a parent organization, I am curious if the community sees value in standardizing on a new namespace for the wider ecosystem of tools, such as https://openssf.org/ns/oscal.

Context

Definition of namespace per the OSCAL schema:

A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.

Rationale

Against the Change

The current https://github.com/ossf/gemara/ns/oscal namespace is tied directly to the project, which makes it a clear and simple identifier. It is fully functional, and maintaining it requires no immediate effort.

For the Change

Using a formal namespace is a more permanent identifier than a GitHub project URL. While the current namespace works, attempting to broaden its use to other projects could lead to uncoordinated namespace collisions, as there is no formal governance to prevent conflicting definitions. By using a shared namespace, we can create a single set of extensions that all tools in the ecosystem can understand. This would improve interoperability but would require the overhead of a formal governance process for new property definitions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions