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

simplifying specifications #9

merged 6 commits into from Oct 21, 2018


None yet
1 participant

vsoch commented Oct 21, 2018

This pull request will reflect discussion from this thread with OCI. The discussion can be summarized as follows:

  • I first proposed that a container was a subset of virtualization, there was some agreement and disagreement. It was emphasized that the distinction between a Container Image and an instance is important, and for this reason I eliminated Container from the hierarchy to just keep image.
  • It was then instead proposed that a container is more properly an IsolationTechnology. This was a more reasonable path to agreement than pursuing Virtualization, and I agree because the term has changed over the years and means different things to different people (i.e., a layperson at a conference would consider a general container a kind of a virualization, a more old school developer would consider virtualization to be scoped to hardware virtualization.)
  • Moving away from IsolationTechnology, we then discussed that a container is really just a kind of Package. This I agree with, but there isn't a clear spot in the tree for software package.

In response to this discussion, I've decided that it's still best to focus on the "high level" question "Where in the tree does a Container fit" but be even more simple than previously, and only discuss ContainerRecipe and ContainerImage. Since there is no clear spot for ContainerImage (it could be an IsolationTechnology and/or a Package) I think it's best to just put it under Thing, and then have the other entities (IsolationTechnology and Package) defined separately and linked to ContainerImage via some relationship. I do, however, think that a ContainerRecipe would fit well under SoftwareSourceCode.

This pull request will update the "Container" family, removing the additions that I had made for Hardware, Virtualization, and Operating System, and only having the following:

Thing > ContainerImage
Thing > CreativeWork > SoftwareSourceCode < ContainerRecipe

This is a "keep it simple stupid" strategy that can be adjusted if/when needed and the OCI community establishes higher agreement.

vsoch added some commits Oct 21, 2018

@vsoch vsoch merged commit 04d3c21 into master Oct 21, 2018

1 check passed

ci/circleci: test Your tests passed on CircleCI!

@vsoch vsoch deleted the edit/relationships branch Oct 21, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment