Skip to content
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

OEP-55:ADR-5 Clarify Maintainer Interaction with Core Contributors #566

Merged
merged 1 commit into from
Mar 11, 2024

Conversation

sarina
Copy link
Contributor

@sarina sarina commented Mar 1, 2024

This ADR clarifies the rights and responsibilities of Maintainers with respect to the Core Contributors.

Much of this interaction was previously inferred, but as it was not spelled out, there has been some confusion with respect to how much control Maintainers have over Core Contributors. In short, Maintainers do not control Core Contributors; CCs have passed a nomination process and have gained the support of the community to make good decisions in the repository. However, Maintainers are allowed to know who has CC rights on their repo, communicate repo standards and architectural vision to them, and initiate CC remove procedures if a CC is not following community standards and is unresponsive to feedback.

Relevant parts of OEP-54 Core Contributors & OEP-55 Maintainers are cited within the ADR to make clear that this ADR is not a new idea but rather cements the intentions of the original OEP authors.

Rendered: https://open-edx-proposals--566.org.readthedocs.build/en/566/processes/oep-0055/decisions/0005-managing-core-contributors.html

@sarina sarina force-pushed the sarina/oep-55-maintainers-and-ccs branch from 8b07351 to b32ac31 Compare March 1, 2024 23:52
@sarina sarina marked this pull request as ready for review March 5, 2024 14:23
@antoviaque
Copy link
Contributor

Looks great! :) Thanks for taking the time to clarify this, and for the balanced approach.

Copy link
Member

@felipemontoya felipemontoya left a comment

Choose a reason for hiding this comment

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

Looks good to me. Thanks for taking the time to clarify this.


Maintainers must participate in, and support, the Core Contributor program.
Maintainers may not take actions that effectively prevent a Core Contributor
from being able to carry out their Rights, as defined by `OEP-54
Copy link
Member

Choose a reason for hiding this comment

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

The rights definition encourages the use of feature flags, is that something we also want to change?

Merge to master, using defensive CI/CD techniques such as feature toggles

The way this right is worded also makes it sound like CC's are responsible for checking for feature flags, which I think would still be correct if the Product Requirements stipulate that one should be used, but maybe feature flags should be fully decoupled from merge rights and considered separately in the context of "meeting product requirements" or something that moves the feature flag to the Product domain?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You bring up a good point that I want to spend a bit of time thinking about. I think feature flags can be a good thing (and a thing we want to encourage) in many situations, for example to enable gradual rollout or to gate a new feature for one Named Release before the new behavior becomes default.

Can you point to exactly where this line is coming from? I don't see it when I search for "toggle" in https://docs.openedx.org/projects/openedx-proposals/en/latest/processes/oep-0054-core-contributors.html

Copy link
Member

Choose a reason for hiding this comment

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

It's here: https://openedx.atlassian.net/wiki/spaces/COMM/pages/1529675973/Coding+Contributors+Materials#Committer-Rights-and-Responsibilities

I can't know what the intention was when that was written but I read this as more like "don't merge things that will break other operators' instances or cause surprising behavior", which does still seem valuable, but more like a responsibility than a right. I was looking for a better place to put that kind of information and I think that Merge Guidelines for Coding Core Contributors probably also needs a revamp as there is a lot of 2U specific stuff there. Might even be preferable to pull the contents of that page into an ADR on OEP-54 and hammer out the changes needed. Maintainer expectations for merge-readiness could just refer to the CC expectation.

I think the language in this line of the ADR is fine, we should just clean up the CC rights / responsibilities pages so this can refer to them.

Copy link
Contributor

Choose a reason for hiding this comment

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

@hurtstotouchfire: I have also had thoughts on merge readiness, so let me know if you ticket or work on any related doc updates. Thanks.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ohhh yes. Goodness. Those pages definitely need a revamp; I'm embarrassed to say that's been on my todo list since January 😓

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@robrap @hurtstotouchfire - feel free to review those pages and leave a pile of comments. For context, Nimisha made those original pages in early 2020 and I believe the last meaningful update was by me in 2021. That is, pre-split.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@hurtstotouchfire - Feanil & I made a bunch of updates on these pages last week. Please feel free to provide a review, if you have time!

hurtstotouchfire

This comment was marked as outdated.

Copy link
Member

@hurtstotouchfire hurtstotouchfire left a comment

Choose a reason for hiding this comment

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

I think most of my concerns are about following up and laying out clear expectations for CC's & maintainers around merge readiness. Seems worth revising the CC rights and resonsibilities to generalize or remove any 2U-specific provisions and also make them more generic so we can then say they apply to maintainers as well.

Further discussion here, but I don't think that needs to block this PR.

@hurtstotouchfire hurtstotouchfire self-requested a review March 7, 2024 20:12
@sarina sarina force-pushed the sarina/oep-55-maintainers-and-ccs branch from ca153f2 to 911a38a Compare March 11, 2024 20:02
@sarina sarina merged commit 5f7b6cd into master Mar 11, 2024
5 checks passed
@sarina sarina deleted the sarina/oep-55-maintainers-and-ccs branch March 11, 2024 20:03
Sign up for free to 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.

8 participants