-
Notifications
You must be signed in to change notification settings - Fork 670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal: Define the "data" field #825
Comments
The basic question is this: What defines a spec? Should specs be updated with discipline and vigor? If a spec is about creating a set of expectations for behavior, whereby others adopt the spec, what expectations should be made to it's stability? The industry has adopted the distribution-spec and image-spec, and implemented products, services and community projects around these specs. OCI Artifacts was created to state how to use the existing specs with the previously defined extensibility, because we were unable to make changes without bumping the image-spec version. We need a way to add capabilities, we all agree. The question isn't should we add more capabilities, rather how. Specs have versions, so that implementors of a spec can declare their conformance to a spec. The proposal here is to add two additional optional properties. While it may sound fairly trivial, as they're optional, lets consider the implications of these.
The position isn't that we shouldn't enable change. The position is a spec declares a version, where consumers of that spec can adopt that standard and support it with full and consistent expectations. Updates will take years to adopt The position has been it will take too long if we create a new version or a new spec. The premise is we can insert new behavior and force implementors to adopt the change. This degrades the entire intent of a versioned spec. If extensibility is defined in a versioned spec, implementors build around that expectation. I'd suggest time doesn't drive adoption, it's value that drives adoption. If we can set clear expectations, and value, consumers will adopt the change quickly. The question is how do we opt-in adoption that doesn't destabilize the ecosystem we're looking to enable. |
Not everyone who lands on this issue was on that call, so at the very least I would expect some clarification around why this is considered necessary and to @SteveLasker's point, why it should be done in violation of
Which explicitly reserves the |
Merging a PR doesn't retroactively affect previous versions of the specification, which are tagged: https://github.com/opencontainers/image-spec/releases Once we tag e.g. v1.0.2 or v1.1.0, it will be a future version from the perspective of the current version. |
Oh right, duh. I'm currently suffering from some postprandial drowsiness so I probably shouln't be commenting on issues 😅 |
As discussed on the call last week, we should define this field:
https://github.com/opencontainers/image-spec/blob/master/descriptor.md#reserved
The text was updated successfully, but these errors were encountered: