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

doc: expections on leadership committees #339

Closed
wants to merge 3 commits into from

Conversation

mhdawson
Copy link
Member

@mhdawson mhdawson commented Sep 8, 2017

Document expectations on members of the TSC and CommComm beyond
following the Code of Conduct.

Likely to be lots of discussion and differing views, but some initial text that can be refined.

A follow on step would be to define/document the process for reporting/remediation
when members don't meet this standard.

Document expectations on members of the TSC and CommComm beyond
following the Code of Conduct.
@mhdawson
Copy link
Member Author

mhdawson commented Sep 8, 2017

Based on discussion in #311

@mhdawson
Copy link
Member Author

mhdawson commented Sep 8, 2017

@nodejs/tsc @nodejs/community-committee, please review/comment and make suggestions. I know from past issues/discussion we don't yet have consensus on setting a higher standard for members of the TSC and community-committee but hopefully this is something concrete so we can discuss specific parts that may be of concern.

@jakeNiemiec
Copy link

(note: I am not in either of those groups, so I am unsure if my input is valid or wanted)

Critique ideas rather than individuals, discussing any concerns in person whenever possible.

Speaking as someone who contacted (and was contacted by) both TSC & CommComm members over the past month: any 'assumed negativity/trolling' was diffused by polite 1:1 discussion. I also felt that both parties left with a better understanding of where the other was coming from.

I think this is a critical thing for internet strangers working together to acknowledge. Public criticism is too often misinterpreted as `fighting words` or a personal attack, most elements of tone and demeanor are lost in faceless text.

This feels like a breath of fresh air after a trying month of uncertainty. I look forward to seeing what others think.

set of standards. Everyone gets to speak up.
- Deal with issues directly with the person in question. Resist complaining
about others in the project in a public sphere.
- Keep your promises. Your word is your bond. Commit to anything you can
Copy link
Contributor

Choose a reason for hiding this comment

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

The second sentence doesn't parse too well for me. Commit only to things you can deliver upon?

More generally, I am not sure if this one really fits in here. Is this a statement about deliverables (concrete work)? If so, given that many/most are working on a volunteer basis, this is basically encouraging people to not sign up for anything unless they can guarantee they will come through.

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 did not read it as meaning concrete deliverables, but I can see how that it could be read this way. I'll think about it and @hackygolucky might have suggestions for better wording as well.

Copy link
Member

Choose a reason for hiding this comment

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

Maybe If you commit to something, deliver it.

Copy link
Contributor

Choose a reason for hiding this comment

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

This is not about deliverables though (but I am not entirely what a promise in a non-deliverable sense would mean).

@@ -0,0 +1,58 @@
It is important that members of our leadership groups (TSC, CommComm) act
in a way that not only complies with the code of conduct but that supports
the vision, mission and operating principles of the Node.js project.
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we have all these documented somewhere?

Choose a reason for hiding this comment

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

It might also be helpful if those were links to the supporting documents, eg:

in a way that not only complies with the code of conduct but that supports the vision, mission and operating principles of the Node.js project.

Copy link
Member Author

Choose a reason for hiding this comment

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

+1

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm up for putting together a first pass on a values document

the vision, mission and operating principles of the Node.js project.

While members have the right and responsibility to exercise independent
judgment and to express dissenting opinions during discussions within
Copy link
Contributor

Choose a reason for hiding this comment

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

judgement

Copy link
Member

Choose a reason for hiding this comment

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

judgement is the British spelling, but Americans prefer judgment. In the main repo, the style guide indicates that American spellings are preferred, so if that applies here, judgment is the better choice. There's also a behaviour later in the doc that should be changed to behavior if the American English thing applies to all our docs.

Copy link
Member Author

Choose a reason for hiding this comment

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

agreed, spelling was never my strong point and I often mix Canadian and US spelling, will fix up.

or current team value may express the member's opposition within
the team in an appropriate manner, but must not take actions publicly
that have the purpose or result of undermining the decisions, values
or actions of the team. Accordingly, a member who itends to publicly
Copy link
Contributor

Choose a reason for hiding this comment

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

intends


- Serve as ambassadors of the vision, mission and operating
principles of the Node.js project.
- Treat all community members as professionals. with respect, consideration,
Copy link
Contributor

Choose a reason for hiding this comment

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

Comma after professionals?

Copy link
Member

Choose a reason for hiding this comment

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

Or maybe a colon?:

Treat all community members as professionals: with respect, consideration, and using the highest standards of ethical conduct.

Another option is to simplify it:

Treat all community members with respect, consideration, and the utmost ethical conduct.

the highest standards of ethical conduct.
- Remediate quickly when you realize you made a mistake. Leaders are human,
and they will make mistakes - however they should act swiftly to
acknowlege mistakes and correct them. Most often this can mitigate
Copy link
Contributor

Choose a reason for hiding this comment

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

acknowledge

Copy link
Member

Choose a reason for hiding this comment

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

I'm glad somebody runs a spell checker on these docs. :-D

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 could use a spellchecker for markdown :)

Copy link
Contributor

Choose a reason for hiding this comment

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

There is a trick which I use. Whenever I read a sentence, I'll read it forward once and backward once. When I read it backwards I catch most of the spelling mistakes. Reading forward is to understand what is written :D

@brodycj
Copy link
Contributor

brodycj commented Sep 8, 2017 via email

While members have the right and responsibility to exercise independent
judgment and to express dissenting opinions during discussions within
the organization, members also have the obligation outside the
organization (twitter, reddit, etc.) to respect and support decisions
Copy link
Member

Choose a reason for hiding this comment

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

twitter, reddit, etc. → social media?

Copy link
Contributor

Choose a reason for hiding this comment

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

+1

Copy link
Member Author

Choose a reason for hiding this comment

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

agreed

or current team value may express the member's opposition within
the team in an appropriate manner, but must not take actions publicly
that have the purpose or result of undermining the decisions, values
or actions of the team. Accordingly, a member who itends to publicly
Copy link
Member

Choose a reason for hiding this comment

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

I think this casts a very wide net, and we should be more specific as to what decisions we refer to. I don’t think anybody should resign because they had a different opinion on what we should do with the Buffer constructor, for example.

Copy link
Contributor

@MylesBorins MylesBorins Sep 11, 2017

Choose a reason for hiding this comment

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

I agree with @addaleax here.This is beginning to read like a general gag order on discourse, which I don't think is the exact intention.

Expressing disagreement when done in a respectful way that doesn't undermine the project should be possible.

I am also not super keen on the choice of the term dissenting. Here is an alternative pass to this paragraph, feel free to cherry pick bits you like or take it wholesale

Members are encouraged to have individual opinions and are encouraged
to express those opinions during discussions within the organization. While
discourse is encouraged internally members also have the obligation outside
of the organization (social media) to be respectful of the decisions and values
of the majority. A member who does not support a team decision or current
team value may express the member's opposition within the team in an appropriate manner, but must be extremely careful when expressing the opinion externally.
External communication must not be done with the intent of undermining a decision, project values, or actions of the team. If another team member expresses that they believe
external communications appear to have the intent to undermine the committee
it is the responsibility of the individual expressing their opinions to rectify
the situation immedietely. If a member feels that there is no recourse aside
from going publicly regarding extremely contentious issue they should
resign from the team before doing so.

Copy link
Member Author

Choose a reason for hiding this comment

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

Seems reasonable to me will incorporate in next pass.

Copy link
Contributor

@MylesBorins MylesBorins 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 putting this together Michael... a lot of thought went into this and it is greatly appreciated

@@ -0,0 +1,58 @@
It is important that members of our leadership groups (TSC, CommComm) act
in a way that not only complies with the code of conduct but that supports
the vision, mission and operating principles of the Node.js project.
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm up for putting together a first pass on a values document

While members have the right and responsibility to exercise independent
judgment and to express dissenting opinions during discussions within
the organization, members also have the obligation outside the
organization (twitter, reddit, etc.) to respect and support decisions
Copy link
Contributor

Choose a reason for hiding this comment

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

+1

ownership and stewardship that everyone can follow to success.
- Commit to ongoing development and learning best practices for governing.
- Critique ideas rather than individuals, discussing any concerns in person
whenever possible, and taking responsibility for our statements by
Copy link
Contributor

Choose a reason for hiding this comment

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

seems to be two spaces after and

- Remediate quickly when you realize you made a mistake. Leaders are human,
and they will make mistakes - however they should act swiftly to
acknowlege mistakes and correct them. Most often this can mitigate
any damage done.
Copy link
Contributor

Choose a reason for hiding this comment

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

This point should be at the top of the list imho

Copy link
Member Author

Choose a reason for hiding this comment

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

moved

- Aim to remediate first and then discuss. If other members of the
team express concerns about actions, acknowledge their concerns by
stopping the actions in question and then discuss within the team
to come to a common agreement.
Copy link
Contributor

Choose a reason for hiding this comment

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

This one should be at the top as well

Copy link
Member Author

Choose a reason for hiding this comment

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

Moved,although I'm a bit worried it leads off with a bit of a negative tone.

or current team value may express the member's opposition within
the team in an appropriate manner, but must not take actions publicly
that have the purpose or result of undermining the decisions, values
or actions of the team. Accordingly, a member who itends to publicly
Copy link
Contributor

@MylesBorins MylesBorins Sep 11, 2017

Choose a reason for hiding this comment

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

I agree with @addaleax here.This is beginning to read like a general gag order on discourse, which I don't think is the exact intention.

Expressing disagreement when done in a respectful way that doesn't undermine the project should be possible.

I am also not super keen on the choice of the term dissenting. Here is an alternative pass to this paragraph, feel free to cherry pick bits you like or take it wholesale

Members are encouraged to have individual opinions and are encouraged
to express those opinions during discussions within the organization. While
discourse is encouraged internally members also have the obligation outside
of the organization (social media) to be respectful of the decisions and values
of the majority. A member who does not support a team decision or current
team value may express the member's opposition within the team in an appropriate manner, but must be extremely careful when expressing the opinion externally.
External communication must not be done with the intent of undermining a decision, project values, or actions of the team. If another team member expresses that they believe
external communications appear to have the intent to undermine the committee
it is the responsibility of the individual expressing their opinions to rectify
the situation immedietely. If a member feels that there is no recourse aside
from going publicly regarding extremely contentious issue they should
resign from the team before doing so.

@@ -0,0 +1,58 @@
It is important that members of our leadership groups (TSC, CommComm) act
in a way that not only complies with the code of conduct but that supports
Copy link
Member

Choose a reason for hiding this comment

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

s/code of conduct/Code of Conduct, and make this a link to the doc

Copy link
Member Author

Choose a reason for hiding this comment

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

done

judgment and to express dissenting opinions during discussions within
the organization, members also have the obligation outside the
organization (twitter, reddit, etc.) to respect and support decisions
and values of the majority, even when a member dissented from
Copy link
Member

Choose a reason for hiding this comment

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

This respect and support decisions of the majority view is problematic. Perhaps respect and support decisions made within the project's documented processes or something similar.

@williamkapke
Copy link
Contributor

This is a good start. My overall feedback is that it seems to emphasize publicly supporting the decisions of the teams/project and only mentions upholding values-- which is the heavier pain point for the project right now.

@MylesBorins volunteered (TY!) to create something outlining those values- I think it will need to be approved first OR in conjunction with this.

@williamkapke
Copy link
Contributor

Also: Should this be a Community Committee document as this covers more than just the technical aspects of the project?

Should this and the values extend beyond the Node Core project? (Remember, the Foundation COULD have additional Top Level Projects)

@mhdawson
Copy link
Member Author

Pushed update to address initial comments.

@mhdawson
Copy link
Member Author

@williamkapke I believe this needs to apply across at least the TSC and CommComm just did not want to wait to figure out where it should go to do that before starting the discussion.

set of standards. Everyone gets to speak up.
- Deal with issues directly with the person in question. Resist complaining
about others in the project in a public sphere.
- Built trust by keeping your promises.
Copy link
Contributor

Choose a reason for hiding this comment

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

Built > Build

team express concerns about actions, acknowledge their concerns by
stopping the actions in question and then discuss within the team
to come to a common agreement.
- Treat all community members with respect, consideration, and highest
Copy link
Contributor

Choose a reason for hiding this comment

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

I 100% agree with this line, but it's a highly subjective and abstract statement. My idea of respect, consideration, and ethical conduct may vary from yours. Should this line mention something to this effect?

Copy link
Contributor

Choose a reason for hiding this comment

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

perhaps explicit language that you are expected to correct if others feel behavior falls outside that norm

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 think we already have this covered in the bullet about about remediate first.

speaking as much as possible
in the first person (.I. statements) rather than in the third person.
- Collectively and as an individual serve as a role model to demonstrate
the highest standards of ethical conduct.
Copy link
Member

Choose a reason for hiding this comment

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

Collectively and as an individual serve as a role model to demonstrate the highest standards of ethical conduct.

is a double of

Treat all community members with respect, consideration, and highest standards of ethical conduct.

I prefer putting the focus of treating everyone with high respect is more important than (aspiring) to be role models. I do not think one can decide to be "a role model", it's the action of others that decide that you are.

it is the responsibility of the individual expressing their opinions to rectify
the situation immediately. If a member feels that there is no recourse aside
from going public regarding an extremely contentious issue then they should
resign from the team before doing so.
Copy link
Member

Choose a reason for hiding this comment

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

I think we should note that is fine in disagreeing.
One can be 100% against promises, say it publicly and still respect the decision-making process.

It is important that members of our leadership groups (TSC, CommComm) act
in a way that not only complies with the
[Code of Conduct](https://github.com/nodejs/TSC/blob/master/CODE_OF_CONDUCT.md)
but that supports the vision, mission and operating principles of the Node.js project.
Copy link
Member

Choose a reason for hiding this comment

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

Is the vision, mission and operating principles something that is going to be written down?

Copy link
Member Author

Choose a reason for hiding this comment

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

It would be a good idea, but I think in order to avoid delaying this too long they could come afterwards.

but that supports the vision, mission and operating principles of the Node.js project.

Members are encouraged to have individual opinions and are encouraged
to express those opinions during discussions within the organization. While
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 not so much that we are "encouraged" to have individual opinions, it's more that we recognize that each of us has individual opinions and will express those. It's a subtle but important difference. I do not need the projects permission or encouragement to bring my own point of view.

to express those opinions during discussions within the organization. While
discourse is encouraged internally, members also have the obligation outside
of the organization (for example in social media) to be respectful of the
decisions made within the projects's documented processes. A member who does
Copy link
Member

Choose a reason for hiding this comment

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

I would put this differently: Members have an obligation to be respectful of the documented processes they voluntarily agreed to follow, including the results of those processes even (and especially) if the results run counter to their personal point of view. In other words, if you've agreed in advance to the process, you have an obligation to abide by it.

from going public regarding an extremely contentious issue then they should
resign from the team before doing so.

In addition to being willing to act as a team player, members of our
Copy link
Member

Choose a reason for hiding this comment

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

Ugh... can we not use the "team player" terminology.

@jasnell
Copy link
Member

jasnell commented Sep 13, 2017

@williamkapke :

Should this be a Community Committee document as this covers more than just the technical aspects of the project?

I don't believe it should, but it would be good for CommComm to adopt a similar document.

@hackygolucky
Copy link
Contributor

@jasnell @williamkapke I think this is a perfect fit for the nodejs/admin repo since that is a jointly bound repo in responsibilities and we should be united in the expectations of leaders across the project.

@MylesBorins
Copy link
Contributor

should we close this and open a new PR with the current content over on admin?

@jasnell
Copy link
Member

jasnell commented Sep 14, 2017

So long as the feedback raised here still gets addressed, I'm ok with that.

@Fishrock123
Copy link
Contributor

I don't really this has significant value at the current time because neither of the following things actually exist...

  • a Node "vision" / "mission"
  • any set of "Node values"

IMO, it would be useful to actually have "Node values" first.

@jasnell
Copy link
Member

jasnell commented Sep 18, 2017

IMO, it would be useful to actually have "Node values" first.

Cool. Do you have an initial draft or starting point? A PR would definitely be most helpful.

@jasnell
Copy link
Member

jasnell commented Sep 18, 2017

@hackygolucky ... I'm +1 for moving this over to the admin repo if the commcomm wants to adopt this also.

@mhdawson
Copy link
Member Author

Ok, I'll incorporate the feedback and open a new PR in the admin repo in the next day or so.

@mhdawson
Copy link
Member Author

Pushed updates and the moved over to nodejs/admin#12

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.