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

Name initial core team and add documentation about roles #14

Merged
merged 24 commits into from
Jan 13, 2022

Conversation

Zsailer
Copy link
Member

@Zsailer Zsailer commented Dec 15, 2021

Follow up to #5.

Names the core team based on responses from #5. Adds a set of MyST pages and config for rendering via readthedocs.

The pages define the responsibilities and privileges of a team member. This is almost entirely borrowed from the JupyterHub/Binder Team Compass repo.

Copy link
Contributor

@blink1073 blink1073 left a comment

Choose a reason for hiding this comment

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

Thank you!

docs/team/governance.rst Outdated Show resolved Hide resolved
docs/team/governance.rst Outdated Show resolved Hide resolved
@vidartf
Copy link
Member

vidartf commented Dec 16, 2021

Was the .DS_store meant to be committed?

docs/team/governance.rst Outdated Show resolved Hide resolved
@Zsailer
Copy link
Member Author

Zsailer commented Dec 30, 2021

I've removed myself from "Lead" to Red Team for this PR. I think it's most appropriate to nominate a Team Lead in its own PR and merge it after the initial team is formed. We can do this early in the new year.

This PR should be ready for final review.

@Zsailer Zsailer added the documentation Improvements or additions to documentation label Dec 30, 2021
Copy link
Member

@kevin-bates kevin-bates left a comment

Choose a reason for hiding this comment

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

The built output looks great @Zsailer - thank you!

@lresende
Copy link
Member

I know you are trying to follow the JupyterHub notion of team colors, but I would like to really ask yourself if this would introduce a barrier to growing the community. Most open-source projects today have a notion of committers/maintainers and core maintainers/PMC (or emeritus) which works without the need of a legend, which is not true for the "group colors". I also think the membership is based on trust, and we should not distinguish between red and blue teams, basically, you move a step on the latter based on your contributions, being those code or non-code... but I wouldn't argue about that.

Another issue is that, with the new governance, we are moving away from BDFL favoring consensus building with a process to reconcile disagreements via vote, and we should really avoid naming a team leader which implies that that person has a different level of power among the community members.

@lresende
Copy link
Member

Also, if the folks are planning to move Jupyter Enterprise Gateway to this org, I would consider adding @lresende and @kevin-bates as core-committers.

@echarles
Copy link
Member

Most open-source projects today have a notion of committers/maintainers and core maintainers/PMC (or emeritus) which works without the need of a legend, which is not true for the "group colors". I also think the membership is based on trust, and we should not distinguish between red and blue teams, basically, you move a step on the latter based on your contributions, being those code or non-code... but I wouldn't argue about that.

I agree with @lresende that I need the legend to make sense of the colors, and that I would feel more comfortable with Contributor/Committer/PMC/Chair/Emeritus status as I have been used when being a active Apache committer (https://people.apache.org/committer-index.html, maybe also influencing @lresende as being also a Apache committer).

This is a discussion that can anyway occur in the future in relationship what the other Jupyter projects are doing, and based on Board inputs, so for the sake of moving forward the team setup, I want to approve this PR, but will wait a bit to ensure @lresende is added to the Team.

Thx All!

@Zsailer
Copy link
Member Author

Zsailer commented Dec 30, 2021

Thank you for your feedback, @lresende and @echarles!

I broke up my response into two separate decisions to make:

  1. Committer/PMC/Emeritus model vs. Red/Blue/Green model
  2. Eliminate Team Lead Role (keep SSC representative role, of course)

Committer/PMC/Emeritus model vs. Red/Blue/Green model

Most open-source projects today have a notion of committers/maintainers and core maintainers/PMC (or emeritus) which works without the need of a legend, which is not true for the "group colors".

I think you're right. I think this terminology might be more broadly familiar in open-source. I'm happy to drop the team colors in favor of the committer, PMC, emeritus language if others agree..

this would introduce a barrier to growing the community

I'm not sure that I agree that this model introduces more of a barrier than the Apache model, except that people might be less familiar with the colors' meanings.

I think the intentions behind the Red/Blue/Green model from JupyterHub is that it encouraged a broader contributor community by recognizing non-code contributors as team members (with write access). In my experience the committer/PMC/emeritus model tends to select mostly for code contributors only.

we should not distinguish between red and blue teams, basically, you move a step on the latter based on your contributions, being those code or non-code... but I wouldn't argue about that.

Hm, isn't this similar to distinguishing between committer and PMC in Apache's model? I think the Blue -> Red transition is less restrictive, because it doesn't require a nomination from other Red members; rather you just re-label yourself based on your contributions. In Apache's model, you need to be nominated for committer, then nominated again, later, for PMC.

It's possible we are just discussing semantics here, but I think it's worth discussing.

Eliminate Team Lead Role

consensus building with a process to reconcile disagreements via vote, and we should really avoid naming a team leader which implies that that person has a different level of power among the community members.

This is a fantastic point, and I wholeheartedly agree. You'll see in #5 that I conflated the Software Steering Council (SSC) representative with the Team Lead role, and that was a mistake on my part.

I propose that we drop the notion of "Team Lead" altogether and just have a nominated SSC representative role. They don't have any decision making power; rather, they represent the Jupyter Server subproject in an SSC vote.

@Zsailer
Copy link
Member Author

Zsailer commented Dec 30, 2021

@lresende, I've added you to the team 😎.

@Zsailer Zsailer mentioned this pull request Jan 6, 2022
@Zsailer Zsailer mentioned this pull request Jan 6, 2022
@Zsailer
Copy link
Member Author

Zsailer commented Jan 6, 2022

We discussed this PR quite a bit in the Jupyter Server meeting today. I will be making several changes based on that conversation:

  • Absolve the team lead position
  • Eliminate the team colors.
  • Define two categories of team members, "active" and "not currently active". Active team members have voting rights and not active members do not.
  • Add description of SSC Representative to docs.

@Zsailer
Copy link
Member Author

Zsailer commented Jan 6, 2022

As a result, everyone who asked to be a red+blue team member will be added to the active list. Green members will be added to the "not currently active" list.

@Zsailer
Copy link
Member Author

Zsailer commented Jan 6, 2022

Okay, I've rewritten the docs quite extensively based on the feedback from today. Please feel free to review and leave feedback.

I've also changed the team to use Sphinx Book Theme, since that seems better for this type of documentation.

We can leave this PR open for one more week and merge it at next week's meeting. Thank you all for a super helpful discussion.

docs/team/member-guide.md Outdated Show resolved Hide resolved
docs/team/becoming-member.md Outdated Show resolved Hide resolved
4. **Let us know if you'll be unavailable** or out of town for an extended period
of time. It's no problem if you need to focus on other things for a bit, but it's
helpful for the team to know who will be around.
To do so, [open an issue in the team-compass](https://github.com/jupyter-server/team-compass/issues/new).

Choose a reason for hiding this comment

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

A shared calendar (e.g., on Google Calendar) might make it easier for people to see, at a glance, when team members are unavailable. Grant all team members permissions to add their own events to the calendar. At a previous company, our team used one for this purpose.

Copy link
Member

Choose a reason for hiding this comment

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

Is this implying that the team member will be transitioning to 'inactive'? Or just indicating they'll be away for a bit but intend to remain 'active'. Opening an issue to indicate they won't be at the next meeting or two (or very active in the org for a couple of weeks) seems a little heavyweight. I like @jweill-aws's suggestion of an internal calendar - available only to team members - for this purpose.

Copy link
Member

Choose a reason for hiding this comment

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

I have read a few durations (3 weeks, 1 year) regarding the expected period to declare being inactive. On my side, I'd prefer not having to ping-pong between active and inactive based on my schedule. I'd also prefer not to add yet another calendar to maintain. My previous experience at Apache is that once you get committer role, you get it for life, whatever happens. A committer can retire him self if he wants. The exception is the Apache membership where you are expected to participate to the yearly vote.

For here, I would prefer that we say to bump to inactive for year order of magnitude inactivity.

Copy link
Member Author

Choose a reason for hiding this comment

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

Let's drop the part where we say to open an issue. I agree, this is heavy handed. This can happen informally.

Really the goal here is to relieve a team member from feeling pressured to watch this repo for any formal votes that arise while they are out on leave/vacation etc.


This means an inactive team member can "reactivate" themselves at any time by publicly stating their change in status. This does not require a nomination from another team member.

For example, a team member who is going out on a long leave/vacation can temporarily move to the inactive team during their absence and immediately reactivate upon return.
Copy link
Member

Choose a reason for hiding this comment

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

what would be considered a long leave or vacation? It might help to state the duration or some kind of minimum threshold. (e.g. anything longer than 2 or 3 weeks)

Copy link
Member Author

Choose a reason for hiding this comment

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

Good question. Really, this is just a way for a team-member to say they wouldn't be available for any votes that arise during the period they are away.

Since voting cycles are about 2 weeks long (based on Jupyter governance), 2 weeks is probably an appropriate duration to use here.

I'm not sure we need to be this technical, but perhaps this would be a good guide.

Copy link
Member

@mwakaba2 mwakaba2 left a comment

Choose a reason for hiding this comment

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

looks great @Zsailer ! Thank you for putting this together!
I just had one question around what's considered a long leave or vacation.

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/member-guide.md Outdated Show resolved Hide resolved
Copy link
Member

@kevin-bates kevin-bates left a comment

Choose a reason for hiding this comment

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

Mostly nits. I also agree with previous comments.

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
4. **Let us know if you'll be unavailable** or out of town for an extended period
of time. It's no problem if you need to focus on other things for a bit, but it's
helpful for the team to know who will be around.
To do so, [open an issue in the team-compass](https://github.com/jupyter-server/team-compass/issues/new).
Copy link
Member

Choose a reason for hiding this comment

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

Is this implying that the team member will be transitioning to 'inactive'? Or just indicating they'll be away for a bit but intend to remain 'active'. Opening an issue to indicate they won't be at the next meeting or two (or very active in the org for a couple of weeks) seems a little heavyweight. I like @jweill-aws's suggestion of an internal calendar - available only to team members - for this purpose.

docs/team/becoming-member.md Outdated Show resolved Hide resolved
Zsailer and others added 10 commits January 12, 2022 09:07
Co-authored-by: Kevin Bates <kbates4@gmail.com>
Co-authored-by: Kevin Bates <kbates4@gmail.com>
Co-authored-by: Kevin Bates <kbates4@gmail.com>
Co-authored-by: Kevin Bates <kbates4@gmail.com>
Co-authored-by: Kevin Bates <kbates4@gmail.com>
Co-authored-by: Kevin Bates <kbates4@gmail.com>
Co-authored-by: Steven Silvester <steven.silvester@gmail.com>
Co-authored-by: Steven Silvester <steven.silvester@gmail.com>
Co-authored-by: Steven Silvester <steven.silvester@gmail.com>
Co-authored-by: Steven Silvester <steven.silvester@gmail.com>
docs/team/becoming-member.md Outdated Show resolved Hide resolved
docs/team/member-guide.md Outdated Show resolved Hide resolved
@Zsailer Zsailer merged commit 4503863 into jupyter-server:main Jan 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants