-
Notifications
You must be signed in to change notification settings - Fork 33
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
Pilot: Use the DEPR process for breaking changes #595
Comments
Thanks @kdmccormick. This is great. We also mentioned that we plan to expose some of the dates as metadata on the DEPR board so organizations can easily see by when they need to handle the different states. |
Happy to see this evolving, I will silently keep tabs and happy to help with the OEP authoring/reviewing if this experiment succeeds. I'd love to see a quick sentence or two in the description about (a) what problem this is trying to solve, and (b) what "success" of the experiment is. |
We'll check back-in on the pilot in general in Jan 2025 |
In a WG Meeting, we mentioned that we think archiving a github repo would not require the 6 month warning.
|
In the Maintenance WG we spoke about the DEPR process doing two things:
|
Addendum: Ticket scopeDEPR tickets should be made to cover an appropriate amount of the codebase. I will use dropping Node 18 support as an example to help define "appropriate" here: Too Large
Too Small
Just Right
Addendum: Unmaintained repositoriesThroughout any given DEPR process, there are likely repositories that fall under the DEPR where implementation has not happened. Once the "react" window of a DEPR has concluded and the DEPR has reached the "contract" stage, we should not delay implementation in those repositories. For example, once we have reached the "contract" stage of the "Drop Node 18 support for Tutor-supported MFEs and supporting libraries" DEPR, updating an MFE or library that didn't "make the cut" should not require writing a new DEPR ticket. So instead of:
We should:
This strategy will allow people looking to update unmaintained repositories to do so without putting DEPR process roadblocks in place. |
At the Maintenance WG meeting on 2024-09-26, we (@feanil @jristau1984 @brian-smith-tcril @robrap ) clarified this part of the pilot:
Rather than defaulting to 6 months of overlapping support between old and new features, we decided that we should default to 6 months of advance communication, including at least 1 month window of overlapping support between old and new features. |
Noting that this came up in response to a discussion specifically about upgrades. The thing about upgrades is that we have specific dates we need to hit, and the replacement may miss the target by some amount of time, but it shouldn't be an unusually large amount of time. That means that hopefully organizations can realistically plan resourcing at the right time, or near the right time. I'd like to differentiate this from any old feature DEPR. Although we have agreed separately that we wouldn't announce a DEPR that doesn't have a real plan for replacement, I want to find some way to avoid resourcing problems on a DEPR that misses the target by an additional X months, and then organizations now have 1 month to re-find the resources, rather than the original 6-month planning window. Does that make sense? In other words, I want to avoid a situation where orgs are given a 6 month warning, and the replacement takes 1 year, and for the second 6 months orgs are on the hook for possibly having to do the work next month, month after month. |
This makes sense, do you have an alternate proposal in mind for this? I would imagine that as we find that work will not complete on time, we re-adjust the target dates as best we can and communicate them as early as possible? Though there are always some projects that are "almost done" for 6 months due to their complexity. |
The original pilot was that orgs have 6 months from a replacement being available, which doesn't have this concern of sliding dates, because the replacement is already available. One proposal is to limit the scope of this proposed change to upgrades. Here are some things that are unique to upgrades:
We can also bounce around ideas when we all meet together again. |
@kdmccormick: I just saw your comment on openedx/public-engineering#247 (comment), and we really need more discussion, including @jristau1984. It feels like the switch from 6 months between expand/contract (in this PR description), and now suddenly a 1 month expand/contract (in your PR comment) is not addressing all of the original issues around planning. On the devstack related work, the team is working in that area, so I imagine that we can get a quicker turnaround. That said, it does raise questions about the process. It could have read: "The replacement will be available around X date, and you'd have 6 months to respond, but I'm hoping for 1 month. Is that doable?". This is how I would imagine this type of conversation would go from the original pilot, but now we've leaped to: "This will get done at some point and then you have 1 month.", which feels very different. [And maybe there were conversations that I didn't see.] |
Update:
Additionally, the ability to negotiate dates is an explicit part of the process. This could include adjusting the default dates for a specific ticket, or negotiating extensions as-needed (e.g. difficulties that arise, or too many maintenance requests landing at the same time, etc.). |
Maintenance WG is trying out a new way of using the DEPR process. We'll takes notes here. If it goes well, then we will update the DEPR OEP accordingly. The problem we're trying to solve that we don't want to increase the number of channels that an operator has to follow to find out about removal, breaking changes or operational impact of changes. We'll consider this experiment a success if we can manage the next few upcoming maintenance items with breaking changes without significantly having to contort the DEPR process to make this work.
Here's the idea:
The text was updated successfully, but these errors were encountered: