-
Notifications
You must be signed in to change notification settings - Fork 663
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
annotation / schema items #658
Comments
Sure, I can take a stab at this if you like (might be a couple of days) |
I've been working on this and have a few questions.
|
wording or name of I agree with your assessment of the second bullet.
|
@vbatts A Git Revision is the correct term. The
Quite the dichotomy. Software is packaged in the image, presumably. Choose a git repository that represents it. The may be a missing article because the same phrase above is "the package software".
Many projects have a landing page and a direct link to the source code. Imagine From this point of view, I don't think |
Part of issue opencontainers#658. Added table to show compatibility with label-schema.org conventions. Changed some of the existing keys to be compatible as there seems no reason for them to differ (this also gives more consistency with label names originally defined in Project Atomic, which Label Schema deliberately reused.) Signed-off-by: Liz Rice <liz@lizrice.com>
I've just created a PR. I may have gone too far (and I'm sure you'll tell me!) but I have proposed changing some of the key names to reuse the Label Schema ones (which in turn were taken from the Project Atomic names) as IMO that would be less confusing for, and make less work for, folks who are already using the Label Schema versions. Also I've proposed adding human-readable name & description, as from the Label Schema discussions those were pretty much table stakes for these to be useful. |
@lizrice This PR goes far beyond the agreed actions that were made at the face to face. While I am fine with some of the changes, I would ask that we don't revert the existing names. I have marked the exceptions in the PR. |
Sticking with the Label Schema version of the names is not something I'm wildly bothered about - it just seemed like a sensible thing to suggest to keep things easier for existing users. When putting together the compatibility table it stood out that the OCI version has a bunch of keys with a different names from Label Schema, but for identical meanings. That seemed a bit at odds with "70% of the label-schema labels were already in OCI". Seems like there is still an opportunity to keep the same names (although of course there could be a bunch of OCI Images now using the new names that I'm not aware of, in which case it would totally make sense to have the new ones now). FWIW we went through this sort of thing with Label Schema too: I'm not sure "vcs-ref" would have been my first choice when we were defining the Label Schema keys, but it had the advantage of compatibility with and heritage from Project Atomic. What do other folks think? |
@lizrice When I said "70% of the label-schema labels were already in OCI" (not sure if that is an exact quote), I meant by functionality. For the most part, the chosen names are more general, shorter or more in line with the language used in these areas. Compound names (ie vcs-url and vcs-ref) were removed in favor of names that are direct and match a wider variety of use cases. Some of the names (ie homepage) were already there from a previous PR. I've taken the compatibility table from the PR and modified it to be inline with the agreement:
I understand some aspects must have been confusing, but hopefully this provides clarification. |
Hi all, First, apologies for not being involved in this more. In particular, I wish I'd been more up-to-speed on exactly what the state of the OCI version of the spec was during the meeting at DockerCon. As far as I can tell, the current state is: https://github.com/opencontainers/image-spec/blob/master/annotations.md, which I believe would benefit from some expansion, details and examples before being pushed to the public. I think it should also use the moscow style wording used in the introduction. Some points:
Finally, are people against providing examples for each annotation? I think it would help a lot. |
Regarding ref.name, I found the answer in https://github.com/opencontainers/image-spec/blob/master/image-layout.md (TLDR; it's the tag)
|
From: opencontainers#658 (comment) * Source is not just to binaries. * the strings already say URL, so it's redundant * git:// is a valid URL as well Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
@amouat thanks for the review. |
I think a separate field for this purpose is fine. I would suggest the addition of
Agreed.
Good catch. No reason to make everyone be semantic.
This is really up to the distributor. If they need compound versioning of package+xxxx, then they should use a version number that represents that.
Yes, you can have multiple licenses. The field should list out the licenses that may apply to the package software. It really needs to be incumbent on the user to understand the licensing constraints of the software they are using. There is no specification that will make a field that will provide enough information to make decisions about this that work in all legal situations.
Do we not allow a URL there? If not, we should allow a url. This might just be simple over-specification.
Only a single source. We should probably specify it as "artifact". |
The wording is "string, a URL with scheme HTTP or HTTPS". I'd suggest "URL pointing to source code used in building the image". I'm not sure if it even needs to mention version control or binary/artifact. A couple of examples would then help clarify. |
I agree, "binary" is over-specifying and I think "artefact" is unnecessarily confusing. IMO "URL pointing to the source code used to build the image" or "URL pointing to the source code from which the image was built" would be even more clear.
We had some examples (for this and other fields) in Label Schema that we could copy in. I'm happy to do a PR for that if folks like the idea. Do we also want to absorb some or all of any of the other sections from Label Schema e.g. the background ?
Personally I like the option to include license information in a standard way in the container image, but I'm sure there will be lawyers who have much more nuanced opinions. This concern about the legal implications was why we never got consensus in Label Schema to include a license field. The worry as I understand it (IANAL) is whether, by including a license field, the provider of the container image is making a statement (or even a "warranty") that the end user might reasonably believe they could rely on. |
From: opencontainers#658 (comment) * Source is not just to binaries. * the strings already say URL, so it's redundant * git:// is a valid URL as well * version MAY be semantic Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
From: opencontainers#658 (comment) * Source is not just to binaries. * the strings already say URL, so it's redundant * git:// is a valid URL as well * version MAY be semantic * 'name' -> 'title' Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
This is a valid concern. Such a field cannot provide any legal guarantees or warranty. Licensing arrangements are between the distributor and the consumer. Most assumptions like this are explicitly called out as invalid in most minimal licenses, such as MIT, BSD and ISC. I wonder if this is provided implicitly through the Apache License under which this project is distributed. Perhaps, we should explicitly call this out. @caniszczyk Do we have any legal guidance on this? |
LF Legal was looped in when this was discussed previously in old issues linked off of #501, so please keep the licenses field. @lizrice in terms of the domain, I'm fine with OCI/LF paying for the upkeep / domain etc, just send me info to cra@linuxfoundation.org and we can start the process |
From: opencontainers#658 (comment) * Source is not just to binaries. * the strings already say URL, so it's redundant * git:// is a valid URL as well * version MAY be semantic * 'name' -> 'title' Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
@caniszczyk @lizrice Let us know if anything was missed here, we closing to move forward with the 1.0 milestone. Thanks for all the help! |
From: opencontainers/image-spec#658 (comment) * Source is not just to binaries. * the strings already say URL, so it's redundant * git:// is a valid URL as well * version MAY be semantic * 'name' -> 'title' Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
From: opencontainers/image-spec#658 (comment) * Source is not just to binaries. * the strings already say URL, so it's redundant * git:// is a valid URL as well * version MAY be semantic * 'name' -> 'title' Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
From: opencontainers/image-spec#658 (comment) * Source is not just to binaries. * the strings already say URL, so it's redundant * git:// is a valid URL as well * version MAY be semantic * 'name' -> 'title' Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
From: opencontainers/image-spec#658 (comment) * Source is not just to binaries. * the strings already say URL, so it's redundant * git:// is a valid URL as well * version MAY be semantic * 'name' -> 'title' Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
From: opencontainers/image-spec#658 (comment) * Source is not just to binaries. * the strings already say URL, so it's redundant * git:// is a valid URL as well * version MAY be semantic * 'name' -> 'title' Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
Following on to the DockerCon conversation:
The text was updated successfully, but these errors were encountered: