Skip to content

ADR0002: document deprecation strategy for current release series post 1.0 - #1203

Merged
lukpueh merged 1 commit into
theupdateframework:developfrom
joshuagl:joshuagl/adr2
Nov 24, 2020
Merged

ADR0002: document deprecation strategy for current release series post 1.0#1203
lukpueh merged 1 commit into
theupdateframework:developfrom
joshuagl:joshuagl/adr2

Conversation

@joshuagl

@joshuagljoshuagl commented Nov 9, 2020

Copy link
Copy Markdown
Member

Description of the changes being introduced by the pull request:

Per the discussion in #1127 opt to support the old release on a best-effort
basis.

Please verify and check that the pull request fulfills the following
requirements
:

  • The code follows the Code Style Guidelines
  • Tests have been added for the bug fix or new feature
  • Docs have been added for the bug fix or new feature

@trishankatdatadogtrishankatdatadog left a comment

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.

Thanks for documenting this, Joshua!

Do we have a policy for backporting security fixes?

@joshuagl

Copy link
Copy Markdown
MemberAuthor

Do you think security fixes should be handled differently to what is proposed here? If so, what additional steps do you think the maintainers should commit to?

I'm absolutely open to input here, I'm just not sure what to propose we commit to.

@trishankatdatadog

Copy link
Copy Markdown
Contributor

Do you think security fixes should be handled differently to what is proposed here? If so, what additional steps do you think the maintainers should commit to?

I'm absolutely open to input here, I'm just not sure what to propose we commit to.

I think we should at least commit in writing to prioritizing and guaranteeing security fixes for Python 2, but nothing else. WDYT?

@joshuagl

Copy link
Copy Markdown
MemberAuthor

Do you think security fixes should be handled differently to what is proposed here? If so, what additional steps do you think the maintainers should commit to?
I'm absolutely open to input here, I'm just not sure what to propose we commit to.

I think we should at least commit in writing to prioritizing and guaranteeing security fixes for Python 2, but nothing else. WDYT?

Prioritising and guaranteeing review/merge/release of security fixes seems reasonable. Is that what you're suggesting? Or did you mean to also suggest implementation of security fixes?

@trishankatdatadog

Copy link
Copy Markdown
Contributor

Prioritising and guaranteeing review/merge/release of security fixes seems reasonable. Is that what you're suggesting? Or did you mean to also suggest implementation of security fixes?

Both

@mnm678

Copy link
Copy Markdown
Contributor

I think that we can reasonable commit to review and merge security fixes, but actually implementing the fixes may require more resources. To mitigate this, we can adopt a reporting strategy so that any users of the Python 2 implementation will be notified before any security issues become public, and will have a change to submit a patch.

@trishankatdatadog

Copy link
Copy Markdown
Contributor

I think that we can reasonable commit to review and merge security fixes, but actually implementing the fixes may require more resources. To mitigate this, we can adopt a reporting strategy so that any users of the Python 2 implementation will be notified before any security issues become public, and will have a change to submit a patch.

If someone else privately reports a security issue to us, then we could ask them to submit a patch, too. But what if we find the issue ourselves?

@lukpueh

lukpueh commented Nov 20, 2020

Copy link
Copy Markdown
Member

Why the change of heart, @trishankatdatadog?

@joshuagl already described the strategy proposed here in #1127 (comment), and you seemed to deem it reasonable. (#1127 (comment)).

I admit that in the original proposal the best-effort basis sounded a bit more optimistic ...

  • that we will review any functional bug and security fixes proposed to the branch (PRs)
  • that severe security issues and functional bugs will be addressed on a best effort basis
  • that we will release updates with any generated fixes in a timely fashion

... than it does now ...

Bugs reported with tuf versions prior to 1.0.0 will likely not be addressed directly by tuf’s maintainers.

But I think the essence is the same.

@lukpuehlukpueh left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Many thanks for the great write-up, @joshuagl! In #1127 you talked about:

a deprecation strategy for the current release series [...] and
a deprecation/API stability strategy for releases after the refactor.

IIUC this document only addresses the former. Would you mind clarifying the distinction in the title (and maybe document name)?

@trishankatdatadog

Copy link
Copy Markdown
Contributor

Why the change of heart, @trishankatdatadog?

Sorry, what change of heart?

@lukpueh

Copy link
Copy Markdown
Member

Sorry, what change of heart?

Oh, apologies, I missed an important pronoun in my comment above.

I was just curious why you now wanted to commit to more (#1203 (comment)) than what @joshuagl had already described in #1127 (comment), which you seemed to deem reasonable (#1127 (comment)).

@trishankatdatadog

Copy link
Copy Markdown
Contributor

I was just curious why you now wanted to commit to more (#1203 (comment)) than what @joshuagl had already described in #1127 (comment), which you seemed to deem reasonable (#1127 (comment)).

I see. Yes, I still agree. I just think it's important to clearly state we should make an exception for security fixes, just like Python 2... until I saw that, nope, they don't guarantee security fixes either. Huh, wow. If that's the case, it may not be a terrible precedent. May encourage people to seriously upgrade. Not a bad idea. I know we're a more security-based project, but that doesn't mean we have to support everything forever. Ok, let's stick to the original plan.


We plan to refactor the reference implementation significantly and, as part of
that effort, drop support for no-longer maintained versions of Python
(see ADR 0002).

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 think this should be a reference to ADR 0001

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Absolutely right, good catch!

@joshuagljoshuagl changed the title ADR0002: document deprecation strategy post 1.0ADR0002: document deprecation strategy for current release series post 1.0Nov 23, 2020
@joshuagl

Copy link
Copy Markdown
MemberAuthor

Thank you all for continuing the discussion in my absence.

Many thanks for the great write-up, @joshuagl! In #1127 you talked about:

a deprecation strategy for the current release series [...] and
a deprecation/API stability strategy for releases after the refactor.

IIUC this document only addresses the former. Would you mind clarifying the distinction in the title (and maybe document name)?

Well spotted, thank you for the thorough review. I've pushed a fixup commit 8685898 which renames the document and changes the document title.

@lukpuehlukpueh left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please update link, other than that LGTM! :)

Comment threaddocs/adr/index.md Outdated

- [ADR-0000](0000-use-markdown-architectural-decision-records.md) - Use Markdown Architectural Decision Records
- [ADR-0001](0001-python-version-3-6-plus.md) - Default to Python 3.6 or newer for new development
- [ADR-0002](0002-deprecation-strategy.md) - Deprecation strategy

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
-[ADR-0002](0002-deprecation-strategy.md) - Deprecation strategy
-[ADR-0002](0002-pre-1-0-deprecation-strategy.md) - Deprecation strategy

Per the discussion in theupdateframework#1127 opt to support the old release on a best-effort
basis.
Signed-off-by: Joshua Lock <jlock@vmware.com>
@lukpueh

Copy link
Copy Markdown
Member

Thanks for the updates, @joshuagl. No need to wait for appveyor here. Merging...

@lukpueh
lukpueh merged commit 3050252 into theupdateframework:developNov 24, 2020
@joshuagl
joshuagl deleted the joshuagl/adr2 branch November 24, 2020 15:52
@joshuagljoshuagl mentioned this pull request Nov 25, 2020
3 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@joshuagl@trishankatdatadog@mnm678@lukpueh@sechkova