openjs-foundation / cross-project-council

OpenJS Foundation Cross Project Council
https://openjsf.org/
MIT License
450 stars 157 forks source link

Review `webpack`'s new governance model -- Impact project. #1363

Open ovflowd opened 2 months ago

ovflowd commented 2 months ago

Hey folks πŸ‘‹ as discussed in a few prior CPC meetings, webpack was at risk of being downplayed from Impact to At Large due to a missing governance model and insufficient maintainers.

After the meeting, I synced with @rginn and joined webpack as one of the maintainers. We immediately started working on rewriting webpack's governance mode, to be more in line with current standards of other Impact projects, and we installed a TSC (Technical Steering Committee) for webpack; Which will have at the moment more than five members (We are assessing who wants to join the TSC and whatnot)

We reached an internal consensus that the governance model is almost ready for review by the Foundation's CPC and the Board since it has undergone a massive change.

The governance model can be viewed at https://github.com/webpack/webpack-governance; at the moment, initial feedback from the CPC is just being gathered, which can be found here.

Once we believe we are ready for a final review, a Pull Request will be made against https://github.com/webpack/webpack, updating the GOVERNANCE.md file and README.md file to reflect the new Governance Model and webpack TSC.

Hence, the ask is for the CPC to start analyzing, viewing, and reviewing (by adding comments here) the initial draft and raise awareness of the incoming governance model change, pending approval by the CPC and the Board.

bensternthal commented 2 months ago

@ovflowd My understanding is that the board does not review or approve a project's technical charter and that this is solely under the CPC. If you found something that states otherwise please let me know.

ovflowd commented 2 months ago

@ovflowd My understanding is that the board does not review or approve a project's technical charter and that this is solely under the CPC. If you found something that states otherwise please let me know.

Oh good to know! Nope, I just assumed πŸ™‡

tobie commented 2 months ago

As expressed in Slack, I'm a little bit confused as to what the request is here. Is this a request for input on the governance project at large? Is it a request to formally approve webpack's new charter?

If it's the former, I've expressed my concerns in slack about the complexity of the governance compared to the size of the project and would strongly advise simplifying it greatly and avoiding duplication of information across documents and repositories. But this is absolutely not mandatory; projects have a lot of leeway when it comes to establishing their internal governance, they just have to abide by the general principles of the foundation and have a charter that is formally approved an reviewed by the CPC.

If it's the latter, the CPC will want to review webpack's charter, not governance.md or a README. (I'd recommend basing the charter on the template charter available in the CPC's repo as it's going to lighten the review burden on the CPC significantly.)

@ovflowd would you mind clarifying what the intent of this issue and of the related PR (https://github.com/webpack/webpack/pull/18804) you linked in slack? I think this would be super helpful. Thanks!

ovflowd commented 2 months ago

As expressed in Slack, I'm a little bit confused as to what the request is here. Is this a request for input on the governance project at large? Is it a request to formally approve webpack's new charter?

The latter, but feedback on the governance doc would also be nice.

If it's the latter, the CPC will want to review webpack's charter, not governance.md or a README. (I'd recommend basing the charter on the template charter available in the CPC's repo as it's going to lighten the review burden on the CPC significantly.)

Yes, we followed this document, which ironically uses the Node.js TSC charter as an example. Hence, we based our TSC charter on Node.js's one, and we simplified and adapted it based on our needs.

@ovflowd would you mind clarifying what the intent of this issue and of the related PR (https://github.com/webpack/webpack/pull/18804) you linked in slack? I think this would be super helpful. Thanks!

We are formally requesting for the CPC to vote on approval of the new TSC charter for webpack. We are also requesting optional feedback on the new governance model and its wording.

voxpelli commented 2 months ago

as discussed in a few prior CPC meetings, webpack was at risk of being downplayed from Impact to At Large due to a missing governance model and insufficient maintainers

My interpretation is that @ovflowd is requesting a review of whether this new governance model would remove/reduce the risk of webpack being downplayed from Impact to At Large – because else the work that @ovflowd and others has done has not been successful (and then hopefully there are some feedback on how it could be tweaked for it to become successful in achieving its goals)

@ovflowd Am I correct?

ovflowd commented 2 months ago

@ovflowd Am I correct?

Yes! This is what originally motivated us for doing such work. In the end we realised the webpack project (somehow (?)) does not have a concrete/real charter at the moment (I wonder how they became part of OpenJS without that, or maybe there was at some point, or it is legacy enough)

But at least the current maintainers concur that there is no real governing model for the whole webpack org. Hence, we drafted a real charter to create webpack's TSC and a governing model document to reflect on current practices and future ones.

tobie commented 2 months ago

We are formally requesting for the CPC to vote on approval of the new TSC charter for webpack. We are also requesting optional feedback on the new governance model and its wording.

Thanks for clarifying. Can you please link to the charter and be explicit that this is a formal charter approval request.

ovflowd commented 2 months ago

We are formally requesting for the CPC to vote on approval of the new TSC charter for webpack. We are also requesting optional feedback on the new governance model and its wording.

Thanks for clarifying. Can you please link to the charter and be explicit that this is a formal charter approval request.

Definitely! The actual chart file was created here: https://github.com/webpack/webpack-governance/blob/main/TSC_CHARTER.md

In this PR, we can address any change to the CHARTER and the rest of the governance repository: https://github.com/webpack/webpack-governance/pull/6

But ultimately, this https://github.com/webpack/webpack/pull/18804 is the PR that requires πŸ‘ from the CPC for us to proceed with the adoption of the charter.

Right now, that webpack/webpack-governance repository holds no power as it is not referred anywhere.

tobie commented 2 months ago

But ultimately, this https://github.com/webpack/webpack/pull/18804 is the PR that requires πŸ‘ from the CPC for us to proceed with the adoption of the charter.

That's incorrect. As explained previously, the CPC will approve the charter, not this PR.

ovflowd commented 2 months ago

But ultimately, this webpack/webpack#18804 is the PR that requires πŸ‘ from the CPC for us to proceed with the adoption of the charter.

That's incorrect. As explained previously, the CPC will approve the charter, not this PR.

I thought that charter changes the CPC goes to the PR to approve said charter changes. I saw that happening elsewhere, like with the JSON schema org, is that not the case anymore? -- if that was never the case, then it was a misunderstanding from my side.

tobie commented 2 months ago

https://github.com/webpack/webpack/pull/18804 updates the README and governance.md. The CPC approves a charter (see Art. 5(7)).

ovflowd commented 2 months ago

https://github.com/webpack/webpack/pull/18804 updates the README and governance.md. The CPC approves a charter (see Art. 5(7)).

Gotcha, would the other PR I mentioned above that is directly towards the webpack/webpack-governance repository then count as the proper place?

Or would no interactions in any PR be needed? Just here between ourselves? I know Im not a voting member so Im not part of the people that vote.

tobie commented 2 months ago

Ideally, the way this works is you have a PR containing only the charter changes and that's what gets reviewed. Not sure how to manage this here now that the charter is already in a repo.

ovflowd commented 2 months ago

Ideally, the way this works is you have a PR containing only the charter changes and that's what gets reviewed. Not sure how to manage this here now that the charter is already in a repo.

Noted, how else would it be reviewed if not in a repo? πŸ€” like the changes be in a fork and then only added to this new repo after reviewed?

@evenstensberg do you believe we can rollback the changes to the main webpack/webpack-governance repo based from your fork then?

tobie commented 2 months ago

how else would it be reviewed if not in a repo?

As a PR!

tobie commented 2 months ago

Concretely, what you could do is just create a PR that moves it so CHARTER.md.

Technically, our charters are project charters and not TSC charters, so CHARTER.md is a good place for it, actually.

ovflowd commented 2 months ago

how else would it be reviewed if not in a repo?

As a PR!

Sorry, my wording here was poor, I meant any PR needs to be against a repository; So I was asking if not as a PR, then what should it be.

Anyhow! Then is it correct that the PR should be from the fork -> org repo?

tobie commented 2 months ago

The PR needs to be against the final destination of the charter, wherever that'll be.

ovflowd commented 2 months ago

I see, appreciate your guidance here. Ill sync with the team :)

tobie commented 2 months ago

Sounds great. I don't like making you do more work here, but I do want to point out that you're going to get a lot of change requests the way the current charter is framed. I think you'd avoid yourself a lot of frustration if you reformatted it to meet the structure of the template charter I listed earlier. While we're not asking existing projects to update their charters, expectation is that new ones (or in this case, projects which don't have a charter yet) use the provided template as it makes everyone's life a lot easier (see reference to the charter template in the onboarding checklist).

ovflowd commented 2 months ago

Sounds great. I don't like making you do more work here, but I do want to point out that you're going to get a lot of change requests the way the current charter is framed. I think you'd avoid yourself a lot of frustration if you reformatted it to meet the structure of the template charter I listed earlier. While we're not asking existing projects to update their charters, expectation is that new ones (or in this case, projects which don't have a charter yet) use the provided template as it makes everyone's life a lot easier (see reference to the charter template in the onboarding checklist).

I genuinely thought we followed the template -- but Ill check with the team, as this requires even more work here... This would have been useful all the way back πŸ˜…

ovflowd commented 2 months ago

Alrighty, the updates on the charter file actually look more trivial than I thought; That's definitely doable work πŸ™Œ

tobie commented 2 months ago

Notes from today's CPC call:

ovflowd commented 1 month ago

CTAs:

tobie commented 1 month ago

Notes from today's CPC call:

See @ovflowd's notes above.

ovflowd commented 1 month ago

Hey @openjs-foundation/cpc the CHARTER is ready to be reviewed: https://github.com/webpack/governance/pull/1

tobie commented 1 month ago

Notes from this week's CPC call:

tobie commented 2 weeks ago

Notes from this week's CPC call: