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

Board representative for Node.js #364

Closed
mhdawson opened this issue May 15, 2019 · 33 comments
Closed

Board representative for Node.js #364

mhdawson opened this issue May 15, 2019 · 33 comments

Comments

@mhdawson
Copy link
Member

Now that the CPC has been fully bootstrapped its probably time to discuss how to elect the board representative for Node.js. As per the CPC charter (https://github.com/openjs-foundation/cross-project-council/blob/master/CPC-CHARTER.md#section-8-board-representation)

For the first year after the formation of the OpenJS Foundation, the processes for filling this seat will be as follows:

As a constellation member of the OpenJS Foundation, the Node.js project will elect one Board representative from either the Technical Steering Committee (TSC) or Community Committee (CommComm). The representative will be selected according to a process defined by the TSC and CommComm.

Since this is a single board representative from across the project, both the TSC and CommComm need to agree on how we want to elect that representative.

@nodejs/tsc , @nodejs/community-committee any volunteers to take a first cut at documenting the process we'll follow?

@jasnell
Copy link
Member

jasnell commented May 15, 2019

Let's keep it simple... Open a nomination period where any @nodejs/tsc or @nodejs/community-committee member may self-nominate for the position, followed by a vote conducted the same way we've done previously.

@cjihrig
Copy link

cjihrig commented May 15, 2019

I like @jasnell's suggestion ^

@MylesBorins
Copy link
Contributor

MylesBorins commented May 16, 2019 via email

@keywordnew
Copy link
Contributor

keywordnew commented May 16, 2019 via email

@danbev
Copy link

danbev commented May 16, 2019

+1 to @jasnell's suggestion

@Trott
Copy link
Member

Trott commented May 16, 2019

Let's keep it simple... Open a nomination period where any @nodejs/tsc or @nodejs/community-committee member may self-nominate for the position, followed by a vote conducted the same way we've done previously.

We can't do "a vote conducted the same way we've done previously" because both committees have to agree on a single representative. Unless I'm mistaken, we've never had a combined-vote for a single candidate. The obvious options are:

  • each committee has equal voice

OR:

  • each member of each committee gets one vote

If we do one-vote-per-member, it favors TSC because TSC is larger. That doesn't seem fair to me (which I say as a TSC member).

But if the committee's are weighted equally, the TSC can vote and pick someone, and CommComm can vote and pick someone. What do we do if they don't pick the same person? Have a plenary session and hope we can hash it out?

@hackygolucky
Copy link
Contributor

hackygolucky commented May 16, 2019

A lot of feels here because we've seen elections at various levels play out in weird ways over the years in Node.js. Outside of very special circumstances unrelated to electing a liaison to the Board, as @Trott said we've never actually had to elect a single person together to represent all of our work/needs on a Board. It's why we eventually broke out Community Committee into a top-level committee.

Elections with one vote to person ends up causing some hazardous behavior in trying to fluff numbers to get representation(this also assumes people actually try to do this and it's a LOT of work and obviously causes complications at the committee level but you do you and assumes we aren't all acting in good faith). I'd also like us to avoid popularity contests whether as people or single-issues, which was expressed as a serious issue in the Individual Membership elections in some years.

We've used a number of systems between TSC and CommComm. Helios(Individual Membership prior), decing.com, CIVS.

My recommendation here is using a system like decing.com or CIVS with the settings that allow for each voting member to vote(their vote gets counted as equally weighted to others voting) by stack ranking nominees.

Thoughts?

I also recommend a subgroup that helps make sure we've messaged what the role of this person on the Board would be, as I've stated previously, Board work is a very particular beast that is pretty different skills-wise than most work we do in the project and even amongst the projects in OpenJS.

@hackygolucky
Copy link
Contributor

I would go so far as to argue that prior Board representation should draft this work given the information we know about the experience @MylesBorins, @williamkapke. @jasnell , Rod, Feross, and Ashley.

@MylesBorins
Copy link
Contributor

I will definitely be making myself available to help support the incoming community board member. Drafting the work and expectations is a great idea. One thing that may be helpful is getting the committees to document what their need / expectations are as well.

+1 to CIVS, we've used it before and it works. TBH we could potentially start getting volunteers to raise their hands in advance... if we don't have multiple candidates (which was the case in past elections) we may not even need a vote.

@mcollina
Copy link
Member

mcollina commented May 17, 2019 via email

@jasnell
Copy link
Member

jasnell commented May 19, 2019

I'm not particularly concerned with the actual voting process. While we determine that, however, we should start soliciting self-nominations.

@jasnell
Copy link
Member

jasnell commented May 23, 2019

@nodejs/tsc @nodejs/community-committee ... ping. Just want to make sure this continues moving forward.

Disclaimer: I will be putting my name into the hat for consideration as the board representative so I'd like to get an idea of when the nomination period will be opened.

@mhdawson
Copy link
Member Author

mhdawson commented May 24, 2019

[Edited to fix suggested date] Given that many people will be travelling for the Collab Summit and JSConfEU next week what I'd suggest is that we open nominations June 4 and leave them open for a week. This will let us publicize at the Collab summit and give people some time to consider if they'd like to volunteer.

I'll also add a Disclaimer since James has that I'm also considering putting my name into the hat for consideration.

@jasnell
Copy link
Member

jasnell commented May 24, 2019

I assume s/May 4/June 4 ? ;-)

@mhdawson
Copy link
Member Author

@jasnell oops, yes, will edit above.

@jasnell
Copy link
Member

jasnell commented Jun 6, 2019

@nodejs/tsc and @nodejs/community-committee ... @mhdawson put out an official call for self-nominations via email this morning. I want to formally put my name in the hat. My primary interest in representing the project on the Board at this time is to ensure that the overall direction that the Foundation is taking represents the best interests of the project as a whole. There are several initiatives, just as the long awaited Certification, the Interactive event, and travel fund, as well as ecosystem wide concerns such as package maintenance and sustainability that require champions on the Board. The more we have, the better.

@mhdawson
Copy link
Member Author

mhdawson commented Jun 7, 2019

I'd like to add my name to the hat as well.

I'm interested in representing the Node.js project on the Board and think I'm well positioned to be able to do that effectively. I'm on both the TSC and Community Committee which will make reporting/gathering requests easier. I'm also active across a good number of the teams and working groups which will make it easier for me to reflect the needs of those teams as well.

My goal as a board member would be to:

  • ensure the needs of the Node.js project are considered in the decisions that are made;
  • help the board understand and incorporate any issues raised within the project; and
  • help champion some of the broader/longer term initiatives that are important to the success of the
    project in the long run.

It's also a growth opportunity for me as even though I've worked with the Foundation staff and board members on some initiatives, I've not been part of a board for a project like this and am interested building my expertise in this area.

@mhdawson
Copy link
Member Author

@nodejs/TSC, @nodejs/community-committee a reminder that the period for nominations for Node.js board directory ends tomorrow based on the proposal in #364 (comment). If you are interested please dd your nomination to the issue.

@mhdawson
Copy link
Member Author

Next step is to figure out how to run the election. I'd like to abstain from that to avoid any perceived potential conflict of interest.

@joesepi, @mcollina as our CPC reps would one of you two be able to push it forward?

@bnb
Copy link
Contributor

bnb commented Jun 13, 2019

I'd like to suggest https://civs.cs.cornell.edu/. It just works in most cases 😄

@Trott
Copy link
Member

Trott commented Jun 13, 2019

I'd like to suggest https://civs.cs.cornell.edu/. It just works in most cases 😄

Tools are nice and everything, but before I think we first need to make the important, urgent, and fundamental decision about how votes are to be counted.

One person = one vote? Lots of upsides, but the potential downside is that it significantly favors the TSC because the TSC has more members.

Each committee selects their preferred candidate? Big downside is we basically have to hope that both committees select the same person because otherwise, we probably end up deciding with a coin flip or something arbitrary like that.

Something else? Big downside is that there isn't an obvious "something else".

@bnb
Copy link
Contributor

bnb commented Jun 13, 2019

ah apologies. Read @mhdawson's comment independently of the rest of this thread ❤️

I do not personally mind if 1 person = 1 vote. Contributors are all humans, and all contribute to the project at the highest level – in the end, we're one team.

Dividing a line of "these committees are equal regardless of the individuals working in them" pushes the concept that the teams have independent and unique goals, rather than the same goals. We do work on different things, yes, but those things are all working toward the same goal.

This individual representative from Node.js to the OpenJS Foundation Board will be the one representing that shared goal from the project. IMO, every one of us is responsible for picking the most effective individual to represent that goal to the Foundation.

@bnb
Copy link
Contributor

bnb commented Jun 13, 2019

Also to address the "something else" point: there's a tool we used previously in CommComm votes that allowed vote weighting. Highly manual data entry and voting but it could be used to weight CommComm and TSC votes to be equal as whole committees.

That said, I'm in favor of the simpler and more community-centric approach.

@Trott
Copy link
Member

Trott commented Jun 13, 2019

ah apologies. Read @mhdawson's comment independently of the rest of this thread ❤️

I do not personally mind if 1 person = 1 vote. Contributors are all humans, and all contribute to the project at the highest level – in the end, we're one team.

Dividing a line of "these committees are equal regardless of the individuals working in them" pushes the concept that the teams have independent and unique goals, rather than the same goals. We do work on different things, yes, but those things are all working toward the same goal.

This individual representative from Node.js to the OpenJS Foundation Board will be the one representing that shared goal from the project. IMO, every one of us is responsible for picking the most effective individual to represent that goal to the Foundation.

I find this reasoning compelling and am currently +1 on one-person = one-vote. I also think it's just better than the alternative, even if you think it's imperfect. It's also somewhat simpler.

@MylesBorins
Copy link
Contributor

MylesBorins commented Jun 13, 2019 via email

@joesepi
Copy link
Member

joesepi commented Jun 13, 2019

Let's have a vote on how to vote and then proceed.

Please respond to this comment with your vote:
🚀- 1 person 1 vote
🎉- some sort of weighted voting system

@joesepi
Copy link
Member

joesepi commented Jun 17, 2019

There seems to be no objection, so I will move forward with creating an election using CIVS where 1 person = 1 vote.

@mcollina or I will respond soon with details and such. Thanks.

@joesepi
Copy link
Member

joesepi commented Jun 17, 2019

Hey yall. Just some housekeeping here on the election.

  • I'll use the CIVS system for this election
  • I will try to get this election up and running today or tomorrow.
  • I will set the election to last 2 weeks from the start date
  • I will add each member of the tsc and comm comm to the private election "poll" and the system should email each of you a unique URL
  • The two nominees are James Snell and Michael Dawson
  • I'll open an issue for each nominee in this admin repo where a candidate's statement can be added and any Q&A can be directed

Am I missing anything? Any objections, questions, comments to the above?

Thanks.

cc/ @mcollina @jasnell @mhdawson

@mhdawson
Copy link
Member Author

Looks good to me. I think we may have only had the elections open for 1 week in the past but I'm also ok with 2.

@joesepi
Copy link
Member

joesepi commented Jun 21, 2019

The election for a Node.js board seat on the OpenJS Foundation's Board of Directors is underway!

I've created the private election poll in CIVS. A unique URL to vote in this election should have been sent to each email address in these two lists:
https://github.com/nodejs/node#tsc-technical-steering-committee
https://github.com/nodejs/community-committee#community-committee-members

I've also created two issues in this nodejs/admin repo for each of the candidates. Each issue has the candidate's statement as submitted above and is open to Q&A. Candidates, if you'd like to update your statement, I'm happy to assist if needed.

I've set the voting to end two weeks from today at 5pm EST. (July 5, 2019, 17:00 EST)

To be fully transparent: I have been working with Matteo Collina on this election and we have been reviewing and approving each others steps through the process. Any questions, comments or concerns, please feel free to reach out to us @joesepi & @mcollina

Happy Voting! 🎉

/cc @nodejs/tsc @nodejs/community-committee

@joesepi
Copy link
Member

joesepi commented Jul 3, 2019

Reminder that the voting ends this Friday 5pm EST. (July 5, 2019, 17:00 EST)

So far, only half of the folks able to vote have voted.

@nodejs/tsc @nodejs/community-committee

@joesepi
Copy link
Member

joesepi commented Jul 7, 2019

The election for the Node.js seat on the OpenJS Foundation board has concluded.

Matteo (@mcollina) and I would like to thank both candidates for stepping up to represent Node.js in this capacity. Both candidates are respected leaders in the community and we greatly appreciate their past and future work.

The person with the most votes is Michael Dawson.

Thanks to everyone who participated and thanks to Matteo for working with me on the election.

Details:

Candidates: James Snell (@jasnell), Michael Dawson (@mhdawson)
Private poll
Authorized voters: 30 (Node.js TSC + Community Committee)
Actual votes cast: 21
Election open for 2 weeks.

@nodejs/tsc @nodejs/community-committee

@mcollina
Copy link
Member

Closing because the 2019 election happened.

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

No branches or pull requests