nodejs / board

The Node Foundation Board of Directors

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Q&A w/ @ashleygwilliams on Individual Membership Candidacy

mikeal opened this issue · comments

This thread is for asking @ashleygwilliams questions regarding her run
for the Node.js Foundation Board of Directors.

Hi @ashleygwilliams! Thanks for applying for Individual Membership. I read your application and I was very happy to see that you're interested in improving three areas I care deeply about: documentation, education, and inclusivity. I've seen / been following your work on npm docs as well as your work with the @nodejs/inclusivity WG, however, I'm not as familiar with your education background and ideas.

I was hoping you could expand a bit more on how you think NodeJS as an organization can be more welcoming to new users/developers and help educate them. In particular, as a meetup organizer/volunteer (BayNode, Philly Nodeschool, Philly Microservices) I wonder how you see local events fitting into the larger NodeJS ecosystem and how they & NodeJS might be able to work closer together.

(A) If elected, what do you envision would be three most important issues that need to be addressed and how would you go about advocating for / resolving those?

(B) In a single sentence, how would you describe the role of the person elected to the board?

  1. What do you see as the most significant obstacle to node.js's continued growth?
  2. What do you think the node.js foundation can do to address your answer to #1?

hey ya'll! i'll answer these questions in the order they arrived :)

@rosskukulinski
glad to hear you are also interested in documentation, education, and inclusivity. i care a lot about these things.

re: my thoughts on education:

for starters it is probably worth mentioning that i was a middle school science teacher in harlem for 3 years after graduating from college with a degree in philosophy and neuroscience (where i spent a lot of focus on how the brain recognizes and categorizes things). to get a sense of my ideas on pedagogy you should consider watching my JSConf US 2015 talk.

there are several things i think we can do to make node more approachable for beginners:

  1. improve the environment setup experience:
    we lose most new users at the moment when they are trying to get setup. node has an installer that works pretty well, but node isn't the only thing you need to be up and running with node. providing a holistic tutorial that includes git, npm, and version mgmt will reduce the number of people who we lose to frustrating early experiences. this is a particularly big deal for people on windows.
  2. more integrated guides:
    javascript is the wild wild west: we have very little opinions, in both our language and our tooling. this can be great for advanced users, but it is terrible for beginners. guides that help explain the thinking behind how programs are structured, how modules are put together to create stacks, i.e. the "glue", will give people who would otherwise struggle with early application decisions a platform to start with.
  3. safe spaces:
    the node community is full of extremely intelligent and opinionated people who are not afraid to share their ideas. this is awesome, however, can be extremely intimidating for beginners. we need spaces where asking questions and being unsure won't turn into a forum where the beginner watches a large selection of people argue with each other about how something should be solved. people over pedantry, as i like to say.

i think node is well on its way re: all 3 of these points thanks to the awesome nodeschool program, however, it saddens me that so many people don't know about it.

were i to be elected to the board, i would push for expansion of the node school program:

  1. more support for local communities trying to start their own programs. here, support could mean trained mentors + their travel, mentor training programs, or $$$ for space+food+computers for participants.
  2. the establishment of node school + an "install fest" as a pre-conference educational program, a la Rails Girls*, with the funding for trained mentors + their travel and $$$ for space+food+computers.
  3. marketing to increase awareness of the program.

i think local user groups have a ton to do with this, as ya'll are/will be the source of mentors for these types of programs. but it is very hard to pull off alone. i think it is the responsibility of the node foundation to help support and train members of local user groups in order to accomplish this. the node foundation should be a source of support and resources to local user groups.

*i would not restrict this program's participants on gender. it would be for ALL beginners, with a focus on underrepresented groups, i.e. many more axis than just gender identity, including race+ethnicity.

@jasnell

(A) If elected, what do you envision would be three most important issues that need to be addressed and how would you go about advocating for / resolving those?

  1. moderation and communication policies:

    as i stated above, the node community is full of very smart, opinionated people who enjoy sharing their opinions. however, this often gets out of control. i think there is a tension right now in the way the node community communicates with each other that gets in the way of accomplishing things. additionally, it is extremely intimidating to newcomers, both beginners and experienced developers.

    to address this, i would continue to develop policy around how conversations are moderated. i would also recommend more documentation around communication and expectations around contributing to node, including but not limited to:

    • what to read to get up and running
    • issue structure, how to focus feedback
    • general open source etiquette
    • good beginner/first-contribution tasks
  2. education + documentation

    i think that the node community would benefit greatly from improved educational resources and documentation. beyond supporting the extreme rush of beginners, official tutorials and expanded guides would also help more companies feel comfortable adopting node in the enterprise. currently, many companies transitioning to node have to hire third-party consultants (i know, i've been one of these consultants) who have proprietary curriculum over which there is no quality guarantee.

    my answer above details many ways i would address this.

  3. inclusivity

    a diversity of voices and perspectives leads to the best, most creative outcomes. currently the node community is very homogenous on several axis, most notably gender identity and race.

    the work i've done in reviving and leading the inclusivity working group details the ways i would address this.

(B) In a single sentence, how would you describe the role of the person elected to the board?

the individual membership representative on the node foundation board of directors advocates for the members of the node foundation, and the surrounding community, by communicating their values, needs, and concerns and proposing/supporting initiatives that further those values or satisfy those needs and concerns.

@jden

What do you see as the most significant obstacle to node.js's continued growth?

Community Management

What do you think the node.js foundation can do to address your answer to #1?

The three points I give in my answer to @jasnell's question would be how I would structure my approach. In summary:

  1. Improve community interactions via moderation and documention
  2. Improve current documentation and create new educational resources
  3. Improve inclusivity and outreach to underrepresented people

Thanks for your excellent response, @ashleygwilliams.

Hi @ashleygwilliams,
Reading through other candidates' proposals, I see a common concern about the fact that npm is now a for-profit corporation. Given that your day job is at npm, Inc. how would you address the fact that your being on the board could be seen by some as a conflict-of-interests?
(btw, this isn't a passive-aggressive question, or anything like that. I'm genuinely interested in hearing your thoughts on both the concern raised by the other folks re: npm, Inc, and your role in it).

hi @lmarkus!

i don't see my employment at npm, Inc as a conflict of interest. the npm CLI (which is, and will remain non-profit) is moving to a Foundation within the year. it is decoupled from our paid products, so the association of Node.js and npm, Inc's for-profit endeavors is nil.

my role at npm is developer community and content manager-- i write documentation, manage open source communities, speak at conferences, and organize events that help educate people about npm and Node.js. the marketing strategy i'm currently following is based on the idea that the most educated consumer can make the best decision, which also does not strike me as a conflict of interest, but rather, well aligned with the goals that the Node.js Foundation has in general.

if at any point, were i to be elected to the Board, and a motion came up about unbundling npm from Node.js i think i would be very open to hearing the reasons and motivations. i would also recuse myself if people requested. my current position is that bundling npm with Node.js has greatly improved the beginner experience and the community as a whole. i have strong reason to believe that there are plenty of people who don't work at npm who also hold that same belief, which is to say, i don't think working at npm has greatly affected my opinion about npm.

i searched other candidate's Q&A for statements/questions about npm and found none-- could you please be more specific?

Hi @ashleygwilliams - I think @lmarkus is referring to this comment: #29 (comment). Specifically, the section "NPM and Licensing"

thanks @rosskukulinski ! taking a look now :)

ah yes, ok, so. @rosskukulinski and @lmarkus the key thing here is that the CLI is moving to a Foundation. while the registry will still be property of a for profit-org (npm, Inc), there is no reason one cannot use the bundled CLI with another registry if so desired. this means that there will be no for profit entity bundled with Node.js.

that being said, i welcome suggestions about managing the relationship between npm and Node.js and certainly wouldn't shy away from discussing a more decoupled solution. at the moment i, personally, believe the concerns and fears are generally unwarranted and represented a very small fraction of the community. the value that npm provides for both the beginner and established Node.js user is very large and there is little to no legal or corporate cost to the user. that is not to say that i think we should ignore it, but rather that there are many other significantly more important problems to solve and i think the community at large would prefer we spend our efforts there.

additionally, if we need to discuss legalities, we/the Board should bring in lawyers, not engineers. it strikes me as extremely wasteful when i see the energy that is spent by developers armchair philosophizing on efforts in which they have no credentials or expertise. if this was truly a community concern, i would happily recommend that the Board hire lawyers to investigate it.

[...] the key thing here is that the CLI is moving to a Foundation. while the registry will still be property of a for profit-org (npm, Inc), there is no reason one cannot use the bundled CLI with another registry if so desired.

@ashleygwilliams Out of curiosity, will the code/setup/documentation for a registry move to the foundation as well? I've setup a registry for the company I work for, and I remember that it was extremely difficult to get going without finding a few helpful blog posts. (This was about three years ago, though.) I could see a concern that even though the npm CLI can be pointed to any repository, if the structure for setting one up is not also made open/available, that ability is moot.

additionally, if we need to discuss legalities, we/the Board should bring in lawyers, not engineers. it strikes me as extremely wasteful when i see the energy that is spent by developers armchair philosophizing on efforts in which they have no credentials or expertise.

I completely agree.

For me, on the npm topic, the only concern at all is that without some agreement between the Node foundation and NPM, Inc. the main npm repository could (not saying it ever would) either stop existing, or get put behind a paywall. Perhaps the public repository needs to move to the NPM Foundation as well, if not the Node Foundation proper. But, if you asked for my top 5 concerns regarding Node, it would be towards the bottom, if it was on the list at all.

Just to follow up on and support @ashleygwilliams' comments here: the question over whether or not npm continues to be bundled with node falls under the responsibility of the Node.js TSC to decide and is not fall under the role of the Board. Likewise any issues pertaining to the licensing of the npm client, etc. Also, keep in mind that npm, as a corporation, is already involved in the Foundation as a Silver level member and there are many other companies there that have similar commercial interests in the Node ecosystem. Things are set up the way they are at the Foundation level to ensure that no single company can have any undue influence over the process here and npm has been an invaluable member of the community for quite some time.

Personally... I would not anticipate there being any conflict of interest. While I don't have a lot of experience working with @ashleygwilliams directly, from the interactions I have had with her and based on everything I've seen and heard, I completely trust that she would be capable of maintaining the appropriate objectivity should any issues arise.

Thanks @ashleygwilliams and others who chimed in.
It was mentioned in #29 as Ross pointed out, in #24 (under ecosystem support), and it has also been a topic of discussion in other channels.
Thanks for sharing your take on it, and I'm very happy to hear you think along these lines:

if we need to discuss legalities, we/the Board should bring in lawyers, not engineers.

@Morgul

a concern that even though the npm CLI can be pointed to any repository, if the structure for setting one up is not also made open/available, that ability is moot.

the npm cli has great support for git-based registries, so no special software is required beyond a git+ssh or git+http server to take advantage of the npm cli's great dependency management functionality. As far as having a centralized public registry, most other programming communities I can think of have the same, like rubygems.org, PyPI, etc.

@scriptjs This election is for someone to represent the Individual Membership. The position is "at-large" meaning that the employer of the candidate is not a factor, they are representing the community and the Individual Members, not their employer, and as such their seat is guaranteed for the duration of their term regardless of that employer.

You are obviously very passionate about this particular npm issue but there are several other threads where the technical and legal aspects of that are being discussed that you are involved with.

It is not appropriate in this context to attack npm as the employer of this candidate because this election is for this candidate to represent the broader community, not their employer, so I would appreciate it if you could scope your comments to this individual and their work/role in the community rather than issues this candidate has had no involvement in to my knowledge.

hello @scriptjs. if you have a question for me i am happy to answer.

i will not respond to your statement, however, which i think is inappropriate on a Q&A forum as it contains not a single question. i have moved that it be moderated.

@scriptjs your post goes far beyond a response to this candidates answer to a previous question and is just a general rant about npm.

fwiw i would like to state that, at any time, if i believe npm's interests are not fully aligned with those of the open source community, i will leave npm immediately. this is, and continues to be, a critical condition that i fully communicated at the time of my employment. my public presence on twitter and github can confirm this. further interrogation of this subject will yield this same response.

also: my employer (npm) is fully aware of this. cc @isaacs @kaseybyrne

all this being said, i do not anticipate that this is a likely, or even close to probable, scenario.

Thanks taking the time to provide extensive answers @ashleygwilliams, great to have you nominating for this!

Note to others reading this thread that may be confused by some of the responses to ghost posts: some unhelpful and completely off-topic comments have been moderated.

Election is over, results are posted.

Congratulations @ashleygwilliams - let me know if there's anything I can do to help you in your role.