Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions proposals/digest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# OCI go-digest project proposal

## Abstract
opencontainers/image-spec#486 introduces a dependency on a stable upstream implementation of https://github.com/docker/go-digest, which was recently broken out of the https://github.com/docker/distribution project.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GitHub doesn't render references like opencontainers/image-spec#486 in its filesystem browser. You probably want:

[image-spec#486][image-spec-486] introduces…

[image-spec-486]: https://github.com/opencontainerrs/image-spec/pull/486

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!


This package has been instrumental in providing a strong hash-identity implementation in Go and I hope to extend this to OCI.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarify that “I” is @stevvooe?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably remove the first-person here.


Let's support this by moving this into a https://github.com/opencontainers/go-digest project specifically oriented towards providing this functionality throughout the container ecosystem. While this package does support opencontainers/image-spec, it is broadly useful in other image formats or outside image formats.

Having a solid, battle-proven, common digest implementation in OCI for use in and outside the image-spec will ensure long lasting security and interoperability throughout the container ecosystem.

## Proposal
With repositories under the https://github.com/opencontainers organization:

Rename (transfer) https://github.com/docker/go-digest would become https://github.com/opencontainers/go-digest.

### Initial Maintainers
Initial maintainers of the go-digest project would be seeded from the image-spec project:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To reduce the chance of absentee maintainers (who make it more difficult to pass quorum), I think the current set of image-spec maintainers should be invited (in this PR?) to become go-digest maintainers, but only image-spec maintainers who reply (“sure, I'd like to be a go-digest maintainer”) by the end of the year (or whatever) would actually become go-digest maintainers via this proposal. Anyone who misses the initial PR can always apply via the usual new-maintainer mechanism.

* Brandon Philips <brandon.philips@coreos.com> (@philips)
* Brendan Burns <bburns@microsoft.com> (@brendandburns)
* Jason Bouzane <jbouzane@google.com> (@jbouzane)
* John Starks <jostarks@microsoft.com> (@jstarks)
* Jonathan Boulle <jon.boulle@coreos.com> (@jonboulle)
* Stephen Day <stephen.day@docker.com> (@stevvooe) [lead maintainer]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Chief-Maintainer-ness is fuzzy. See @vishh pushing back on it here and my proposed removal from the project-template here. Since the OCI charter says nothing about Chief Maintainer, I suggest leaving it out of this proposal. If they want, the go-digest maintainers can adopt Chief-Maintainer-based rules without TOB intervention.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure, we can just list the set of maintainers. It's simpler for us to just carry over the list of image-spec maintainers to start

* Vincent Batts <vbatts@redhat.com> (@vbatts)

### Code of Conduct
This project would incorporate (by reference) the OCI Code of Conduct.

### Governance and Releases
This project would incorporate the Governance and Releases processes from the OCI project template: https://github.com/opencontainers/project-template.

### Project Communications
Both of the proposed projects would continue to use existing channels in use by the OCI developer community for communication including:
* GitHub for issues and pull requests
* The dev@opencontainers.org email list
* The weekly OCI developer community conference call
* The #OpenContainers IRC channel

### Versioning / Roadmap
Released version numbers of the go-digest project should roughly align with released versions of the associated specs projects.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rather have the versioning be completely independent. go-digest should be able to cut a 1.0 soon-ish and then sit on it forever, with the only updates being “a new version of Go was released, and we've decided to drop some backwards compat”.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will probably minimize the releases of this project. It will provide digesting functionality for all present and future versions of the specification.


## Frequenty Asked Questions (FAQ)
Q: Does this change the OCI Charter or Scope Table?
A: No. Nothing in this proposal is intended to amend the OCI Charter (https://www.opencontainers.org/about/governance) or OCI Scope Table (https://www.opencontainers.org/governance/oci-scope-table).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The scope-table URL (which matches what the charter links to) is currently 404-ing for me.