joyent / nodejs-advisory-board

Meeting Minutes and Working Group Discussions
http://nodeadvisoryboard.com
MIT License
158 stars 22 forks source link

Community Representation on Node.js Advisory Board #1

Open dshaw opened 9 years ago

dshaw commented 9 years ago

Scott Hammond, Joyent’s new CEO, has outlined a plan for the Node.js Advisory Board. If you haven’t had the opportunity to digest this plan, please take a moment to do so.

The advisory board charter defines 13 seats represented as follows:

An advisory board membership term lasts for 12 months. With the exception of the Project Lead, all members can serve a maximum of two consecutive terms.

The interim advisory board is tasked with the job of replacing itself. One key concern that has been raised since the first advisory board meeting is how to better engage the broader community interests in the Advisory Board process. The Advisory Board charter defines “user” seats as:

These seats are for organizations that are using Node.js. To be nominated, an end-user company must currently be using Node.js in production and have published a use case on the Node.js website. Once nominations have been closed, selection will be made by a vote by eligible contributors. Eligible contributors are those who are currently active and have had at least one non-trivial pull request merged to master in the past six months.

The concern here is that this marginalizes the broader Node Community by defining community as only represented by companies. The purpose of this issue is to collect feedback and potentially prepare an alternative representation model.

Your feedback is crucial here:

  1. What are the community representation models we can draw inspiration from?
  2. How many seats should community representatives hold?
  3. How do we define which ecosystems should be represented?
  4. Who would you nominate to represent you?
junosuarez commented 9 years ago

Additional questions:

max-mapper commented 9 years ago

I have a basic question which is: who wrote http://nodejs.org/about/advisory-board/, is it in source control, and if we have questions about the text there who can we hold accountable to get official, public clarification from on behalf of Joyent?

dshaw commented 9 years ago

@jden Great questions, though I would encourage exploring corporate representation in a separate issue.

rvagg commented 9 years ago

@maxogden https://github.com/joyent/node-website/tree/master/doc/about/advisory-board

max-mapper commented 9 years ago

@rvagg cheers m8!

voodootikigod commented 9 years ago

@rvagg so quick on the draw!

dshaw commented 9 years ago

@maxogden It is in source control under https://github.com/joyent/node-website. It was added by @tjfontaine on October 22nd. https://github.com/joyent/node-website/commit/cce2b8c632c4f6a974a3687e21ec4c7fa5085502

max-mapper commented 9 years ago

@dshaw thanks, I just made a PR with that info https://github.com/joyent/node-website/pull/55

rvagg commented 9 years ago

I'd like to see the "project leader" and "curator" seats merged in to one seat, properly called something like a "facilitator". The current model simply reinforces the BDFL model which everyone, including Joyent, have stated their desire to step away from. I'd also like to see this seat become non-permanent too, again it reinforces the wrong leadership model.

The leadership this board needs is simply to facilitate meetings, make sure the agenda is sorted, minutes are taken, make sure action items are created and passed out and make sure that the board is sticking by its stated purpose.

rockbot commented 9 years ago

I'd like to see at least one user seat given to someone who represents the general, non-company-based user base. i.e. someone who doesn't represent a company (even if they get paid to do node.js full time). There are a LOT of folks who write node for fun, on the weekends/evenings/etc who care about where node as a project is going, even if they're not necessarily profiting from it.

voodootikigod commented 9 years ago

@rvagg

The curator role is mainly just making sure the events happen, meeting minutes recorded, and everyone acts with the appropriate decorum and conduct during the meetings (much like you have outlined). The role attempts to ensure that the schedule is adhered to while still allowing for the natural ebb and flow of conversation and encourage new voices. I, personally, -- especially being in the role now -- view this very much as temporal and not permanent by any means. My goal is to make it and all roles within the advisory temporal in order to allow different voices and ideas to flow through the project.

In terms of project lead, I - again personal opinion - view this as a far more technical role with the curator/moderator being a far more human role.

rockbot commented 9 years ago

I'd also like some official wording that discusses how the committee will ensure that it has the most diverse advisory board possible. I'm not just talking about race/gender, but also profit/non-profit, hobby/corporate, academic/non-academic, etc.

Ideally, this would mean having equivalent representation on the board as the user base, so if 40% of node users work at node-based companies, then 40% of the board consists of company-based representatives. I don't know how you'd get those numbers necessarily, but at least that way we'd all feel more comfortable knowing that the group truly represents userland as a whole and not just corporate interests.

rvagg commented 9 years ago

@rockbot there are supposed to be 4 seats for "users" but it's a little vague on how these will be chosen. I have concerns about trying to solidify this concept of a "user base" or even "community", it's impossible to pin down exactly what that is when we need to be formal about it. I guess a process of self-nomination and then voting by the TC or other existing body would make sense but the risk is in reinforcing the ownership of the process by the "Node elite" (which, sadly, is a bit easier to pin down and probably includes you and me). Some kind of process that invites and encourages involvement by a very broad base of Node consumers and people around those consumers (including educators, evangelists, etc.), even the ones we need see or hear from on Twitter or Github, would be ideal. I'm just not sure how you formalise that for the purposes of this process.

junosuarez commented 9 years ago

@dshaw ah, good point, I'll open separate issues :)

dshaw commented 9 years ago

Cross posting @isaacs from the Advisory Board mailing list:

Please take a moment to read this: http://rubini.us/2014/11/10/rubinius-3-0-part-1-the-rubinius-team/

In this post, Rubinius is doing a great job articulating what many of us would like from a dedicated consensus-seeking TC and an "OPEN open" project commit policy.

An inclusive Code of Conduct is essential to making this sort of system healthy. There are several problematic issues in the past that could have been avoided if we'd had such a policy in place.

Since most Node.js users are also npm users, perhaps it's worth adopting the npm Code of Conduct for the Node.js project as well: http://www.npmjs.com/policies/conduct

dshaw commented 9 years ago

Per 1., here's some great feedback from the way the Drupal community is managed:

The Drupal Association (DA) does have a Board of Directors. The DA is, by charter, barred from having any say in the roadmap of the technology. The DA's role is centered on community; to maintain the infrastructure (e.g. drupal.org) and produce the conferences. It also handles the legal issues, such as trademark and licensing issues.

The roadmap for the project is still managed by the BDFL, but he delegates a lot of it to contributors, many of whom are outside his company. This has taken the form of a formal lieutenant model... the BDFL chooses individuals to lead particular subsystems. These leaders come up with roadmaps for their subsystems and manage the execution. Again, these leads are mostly chosen from outside of the BDFL's company. But generally, Drupal is a "do-ocracy", which means that those who put the most time in have the most influence, regardless of their position in the formal hierarchy. In some respects, this style of organization has failed, and there's currently a lot of discussion about it [1] [2] [3].

The BDFL also has something called Large Scale Drupal. In some ways, I think this functions like the [Node.js Advisory Board] might. It brings together the big-corporation folks. I think companies have to pay some fee to be part of it (or they voluntarily chip in), and that money is used to pay specific contributors to focus on parts of the system which they deem important. For example, work on REST and serialization was funded by LSD. These paid contributors report to the BDFL's company and their work is prioritized in the commit queue.

subfuzion commented 9 years ago

@rvagg -- those are great points wrt the user community. Perhaps a pool of qualified node users that receive a few nominations and then a completely random lottery process for final selection...?

smikes commented 9 years ago

+1 to @rockbot

I'd like to see at least one user seat given to someone who represents the general, non-company-based user base. i.e. someone who doesn't represent a company (even if they get paid to do node.js full time). There are a LOT of folks who write node for fun, on the weekends/evenings/etc who care about where node as a project is going, even if they're not necessarily profiting from it.

Fishrock123 commented 9 years ago

Also +1 to @rockbot

I'd like to see at least one user seat given to someone who represents the general, non-company-based user base. i.e. someone who doesn't represent a company (even if they get paid to do node.js full time). There are a LOT of folks who write node for fun, on the weekends/evenings/etc who care about where node as a project is going, even if they're not necessarily profiting from it.

I know a lot of people like this.

mikeal commented 9 years ago

I've taken the Node Forward governance, contribution policy, and code of conduct and adapted for use by the Advisory Board.

https://github.com/joyent/nodejs-advisory-board/pull/11

I think it covers all of the concerns brought up in this thread. If not please comment there and I'll adapt it to address them.