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

Add policy for membership #206

Merged
merged 8 commits into from
Oct 4, 2023

Conversation

fcollonval
Copy link
Member

@fcollonval fcollonval commented Jul 19, 2023

Fix #204


As the discussion has stopped implying informal consensus, I call for a vote on this proposal as mentioned yesterday at the weekly call.

The question to vote on: do you agree with the new membership policy?

The vote will be closed on September 21st at midnight anywhere on earth (or as soon as we reach majority).

The vote:

@fcollonval fcollonval linked an issue Jul 19, 2023 that may be closed by this pull request
docs/team/becoming-member.md Outdated Show resolved Hide resolved
docs/team/becoming-member.md Outdated Show resolved Hide resolved
docs/team/becoming-member.md Outdated Show resolved Hide resolved
docs/team/becoming-member.md Outdated Show resolved Hide resolved
docs/team/becoming-member.md Outdated Show resolved Hide resolved
docs/team/becoming-member.md Outdated Show resolved Hide resolved
docs/team/becoming-member.md Outdated Show resolved Hide resolved
docs/team/becoming-member.md Outdated Show resolved Hide resolved
docs/team/becoming-member.md Outdated Show resolved Hide resolved
docs/team/becoming-member.md Outdated Show resolved Hide resolved

### Joining the admin

Any JupyterLab Council member can ask to be part of the admin team using the weekly call or the chat. If the number of administrators has reached 4 people; consensus should be achieved between the interestee and the existing administrators to get the new 4-people team.
Copy link
Contributor

Choose a reason for hiding this comment

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

I would suggest 6 people as the limit rather than 4, to make sure that there is someone available when it is needed, and to add some members of the EC, for example, as a backstop.

Copy link
Member Author

Choose a reason for hiding this comment

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

@jasongrout you mean 6 people including the SSC representative or 6 + the SSC representative?

fcollonval and others added 2 commits August 2, 2023 17:23
Co-authored-by: Jason Grout <[email protected]>
Co-authored-by: Jason Weill <[email protected]>
@fcollonval fcollonval marked this pull request as ready for review August 2, 2023 15:45
Copy link
Contributor

@ellisonbg ellisonbg left a comment

Choose a reason for hiding this comment

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

Thanks for working on this overall I like the idea of specifying subgroups of council members to help with the admin and release related management.


Active members actively carry out the responsibilities listed in the [Membership Guide Page](membership_guidelines).

## Active and inactive membership
### Active and inactive membership

There are two types of JupyterLab Council members, **active** and **inactive**.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we should remove this as it creates ambiguity about who can vote and how one moves between being active/inactive.

@@ -31,7 +37,7 @@ This means an inactive member can "reactivate" themselves at any time by publicl

For example, a member who is going out on a long leave/vacation (>2 weeks) can temporarily change their status to inactive during their absence and immediately reactivate upon return. This isn't required, but this can relieve them from having to watch this repository for any formal votes that happen during their absence.
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think this is needed. We spent a lot of time on the decision making guide to ensure that people could go on vacation and come back without any problems. There are a couple of things we put into place to help cover that:

  1. Annual vote participation is set at 2/3. Someone can easily miss votes when they are on vacation without consequence.
  2. Votes can be extended in special situations (a key person is on vacation and simply request a vote be delayed or have a longer voting period).

The language in this PR raises questions and ambiguities (do votes missed during an inactive period count towards the 1/3 votes someone is allowed to miss each year? can I vote while inactive if I want?) without solving any concrete problems not already handled by the decision making guide. I realize this is older language, so this removal could be handled in a separate PR.

Copy link
Member Author

Choose a reason for hiding this comment

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

I removed the notion of inactive member as it adds complexity instead of clarity as pointed out by Brian.


Every six months, one currently active member should open an issue in the team-compass repo asking all currently active team members to reply if they still consider themselves active. If not (or no response is given by a team member), it will be assumed that they have gone inactive. This will help keep the active member list up-to-date.
Every six months, a bot will open an issue in the team-compass repo asking all currently active team members to reply within three weeks if they still consider themselves active. If a team member replies no, or does not reply, we will conclude that they are inactive. This will help keep the active member list up to date.
Copy link
Contributor

Choose a reason for hiding this comment

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

This part of the PR is intertwined with the idea of active/inactive. Either someone is on the council and can vote, or they are not and they can't. And if they are not on the council, they can join or rejoin by a vote of the council members. Allowing previous members to rejoin with no vote, creates potentially problematic situations.

Copy link
Contributor

Choose a reason for hiding this comment

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

I do like the idea though of regularly asking council members if they would like to continue to be council members.


### Membership Maintenance

Every six months, a bot will open an issue in the team-compass repo asking all currently team members to reply within three weeks if they still consider themselves active. If a member replies no, or they do not reply, we will conclude that they are inactive. Inactive members may be removed from their teams.
Copy link
Contributor

Choose a reason for hiding this comment

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

Because we have similar language for other roles, it would be helpful to be specific about which role the current paragraph applies. This could be addressed by changing "current team members" to "current release team members".

Copy link
Member Author

Choose a reason for hiding this comment

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

Clarify this point.


> An admin will need to add a new member to all three teams.

Members of these teams have publication rights for major JupyterLab-related packages. Team members can publish a release and can react quickly in case a published package is broken or corrupted.
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure what "these teams" refers to. Also, this makes it sound like the release team are the only folks who can cut releases. But the language above suggests that the release team only manages the group of people who can cut releases (which is a separate team). Part of the reason we should clarify this is that our different repos in the JupyterLab org often have different groups of people who release them.

Copy link
Member Author

Choose a reason for hiding this comment

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

Wording update for clarification.

I did not mention an explicit list of packages. But the pratical consequence of what is described here is that release team member will be able to release jupyterlab but also jupyterlab-git or the Jupyter renderers as those packages are officially supported as JupyterLab extensions. But it is true that there is a gray area for repository such as jupyterlab-latex, jupyter-ai or jupyterlab-hdf5.

docs/team/becoming-member.md Outdated Show resolved Hide resolved
@fcollonval
Copy link
Member Author

fcollonval commented Aug 9, 2023

Thanks @ellisonbg for bringing your suggestions. I agree that removing the inactive status of JupyterLab council membership makes sense.

I want to highlight that in this comment for others to voice for or against it.

Happy to get it removed in this proposal.

Vote will take place in the private council repo for security reasons
@isabela-pf
Copy link
Contributor

Thanks to @fcollonval being insistent about bringing this up during JupyterLab calls; this kept getting moved to the bottom of my list. I appreciate the reminders.

Most of this is roughly what I expected based on prior discussions, but I do have questions about what happens with removed council members. I assume they are removed from the GitHub organization and the mailing list and the like. Does being removed do anything else? Like disqualify them from rejoining again after or in the future? Please let me know if these are out of scope and/or detailed elsewhere.

@fcollonval
Copy link
Member Author

Thanks for the questions @isabela-pf

Most of this is roughly what I expected based on prior discussions, but I do have questions about what happens with removed council members. I assume they are removed from the GitHub organization and the mailing list and the like.

If a JupyterLab council member steps down (or is assumed too by lack of response when solicited), indeed it will be remove from the GitHub organization team and the mailing list.

Does being removed do anything else?

No (except if the member was also part of the smaller sub group with additional rights on PyPI and NPM for example).

Like disqualify them from rejoining again after or in the future?

No, they can ask to rejoin at any time. But the new application will go trough a vote like any new members.

Please let me know if these are out of scope and/or detailed elsewhere.

I can clarify that point in the document. I don't recall seeing that any where else.

@fcollonval fcollonval added the seeking consensus Issue to discuss a topic seeking consensus among the council label Aug 22, 2023
@fcollonval fcollonval added vote and removed seeking consensus Issue to discuss a topic seeking consensus among the council labels Sep 7, 2023
Co-authored-by: Michał Krassowski <[email protected]>
docs/team/member-guide.md Outdated Show resolved Hide resolved
@ivanov
Copy link
Member

ivanov commented Sep 8, 2023

I pushed up some typo fixes, 👍

@fcollonval
Copy link
Member Author

Thanks a lot for all comments and for voting.

The changes have passed with 18 Yes and 3 unexpressed vote.

@fcollonval fcollonval merged commit 17a9bf9 into main Oct 4, 2023
1 check passed
@welcome
Copy link

welcome bot commented Oct 4, 2023

Congrats on your first merged pull request in this project! 🎉
congrats
Thank you for contributing, we are very proud of you! ❤️

@fcollonval fcollonval deleted the 204-council-membership-and-release-rights branch October 4, 2023 15:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Council membership and release rights
9 participants