uptane / uptane-standard

standard for Uptane
https://uptane.github.io
Other
36 stars 30 forks source link

Potential Inconsistency in 2.1.0 #256

Closed PhilPNguy closed 1 year ago

PhilPNguy commented 1 year ago

As of Standard Version 2.1.0, section 5.3.2.1 states the following as the leading sentence:

A Director repository SHALL conform to the following six-step process for directing the installation of software images on a vehicle.

Then there are 2 inconsistencies regarding this section:

  1. Some of the steps only contain "SHOULD" which can be considered an optional step. If it is an optional step, then the leading sentence shouldn't say "SHALL"
  2. There are 7 steps listed. Unless step 6 saying "could" is considered the only optional step the way it is worded.
JustinCappos commented 1 year ago

Okay, thanks for this note. So the 6 vs 7 step inconsistency you pointed out is something I will suggest we (ahem) SHALL fix.

As for the other point about SHOULD versus SHALL, I don't really see the issue. For example, they don't want to do step 1 (which is a SHOULD), then it becomes a NOOP. I don't believe it is unreasonable to say you SHALL go through this seven step process, of which some steps are optional. If you change this to SHOULD go through this seven step process, then that means they could choose not to do any of it, which seems strictly worse...

PhilPNguy commented 1 year ago

Okay, thanks for this note. So the 6 vs 7 step inconsistency you pointed out is something I will suggest we (ahem) SHALL fix.

As for the other point about SHOULD versus SHALL, I don't really see the issue. For example, they don't want to do step 1 (which is a SHOULD), then it becomes a NOOP. I don't believe it is unreasonable to say you SHALL go through this seven step process, of which some steps are optional. If you change this to SHOULD go through this seven step process, then that means they could choose not to do any of it, which seems strictly worse...

I agree that we don't want to necessarily switch to "SHOULD" without any other changes, I just didn't think it should be worded the way it is currently. In addition, it is not as easy as saying some steps are optional and others are not. There are some steps which have both required/optional parts.

Proposal 1:

Regarding the following seven-step process for a Director repository directing the installation of software images on a vehicle.

  • The Director repository SHALL conform to the required actions.
  • The Director repository SHOULD conform to all actions.

Proposal 2:

A Director repository SHALL be evaluated to perform each action of the following seven-step process for directing the installation of software images on a vehicle.

If these bring unnecessary confusion then we don't need to change it. But the intention is to indicate to the reader that there will be optional parts in the process as a whole.

JustinCappos commented 1 year ago

See #257 as a proposed fix.

JustinCappos commented 1 year ago

Fixed with the merged change.