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

Add scope of responsibility for TSC ("Define Node Core" cont.) #144

Closed
wants to merge 4 commits into from

Conversation

rvagg
Copy link
Member

@rvagg rvagg commented Sep 22, 2016

Continuing on from #84 and #113. Here's my proposal for some wording to pin this stuff down. Fire away.

Copy link
Member

@jasnell jasnell left a comment

Choose a reason for hiding this comment

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

Generally LGTM with a couple of nits

* https://github.com/nodejs/benchmarking
* https://github.com/nodejs/readable-stream
* https://github.com/nodejs/secrets (private, administered by build)
* https://github.com/libuv/libuv (currently under Incubation)
Copy link
Member

Choose a reason for hiding this comment

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

nit: alphabetical order? Will make the list easier to curate later.

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

* https://github.com/nodejs/nan
* https://github.com/nodejs/nodereport
* https://github.com/nodejs/node-gyp

Copy link
Member

Choose a reason for hiding this comment

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

Where do repositories such as node-chakracore and http2 fit in? I'm thinking they should be handled as dependent projects.

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, tried to be pretty exhaustive in latest version


### Responsibilities

In being responsible for these projects and resources, the TSC exercises autonomy to set up management and administrative structures for the purpose of:
Copy link
Contributor

@nebrius nebrius Sep 22, 2016

Choose a reason for hiding this comment

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

We should also add a bullet point on community management that clarifies we have the ability to a) moderate harmful actions/spam/etc and b) elect people of our choosing to be collaborators/CTC members/TSC members/etc. Right now, I don't think either of these fall under the below points, and I don't think we want to surrender that autonomy.

Copy link
Contributor

Choose a reason for hiding this comment

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

Agreed. I was curious about adding something about the Moderation repo. Maybe we don't want to broadcast it's existence though.

Copy link
Contributor

Choose a reason for hiding this comment

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

I would prefer to avoid mentioning the moderation repo specifically, if only because we may switch to some other mechanism in the future that involves a different repo or something.

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, sort of, see latest version and let me know if you're happy with the wording

@Fishrock123
Copy link
Contributor

Fishrock123 commented Sep 22, 2016

Seems good to me.

(Minus aforementioned nits)

Copy link
Contributor

@williamkapke williamkapke left a comment

Choose a reason for hiding this comment

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

Wow @rvagg this is great work. I really like it.


Additional projects fall within the TSC's scope of responsibility which are dependents of Node.js Core in that they are required to plan, test, build, document and ship Node.js releases, yet _are significant enough to require independent management and administration_. These projects are located in the following repositories:

* https://github.com/nodejs/nodejs.org
Copy link
Contributor

Choose a reason for hiding this comment

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

In my ongoing quest make sure the I18N groups get recognition for their hard work, can we add something like this to the end of this line: "and all the i18n sites"

Copy link
Member Author

Choose a reason for hiding this comment

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

they're not strictly i18n groups, some of them are just language interest groups, but I've worked that into the latest version

@mhdawson
Copy link
Member

LGTM from me.

@@ -6,7 +6,61 @@ For more details read the [TSC Charter](https://github.com/nodejs/TSC/blob/maste

If your project is interested in joining the Node.js Foundation please read the [Project Lifecycle.md](./Project-Lifecycle.md) documentation.

## TSC Scope of Responsibility

**The TSC is responsible for Node.js Core project, a number of projects depended upon by Node.js Core and a number of projects adjacent to Node.js Core.**
Copy link
Contributor

Choose a reason for hiding this comment

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

, and?

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


### Node.js Core

Node.js Core is defined as the code project existing in the repository located at <https://github.com/nodejs/node> _minus_ the vendored projects included in the codebase, specifically those located in the [deps](https://github.com/nodejs/node/tree/master/deps) and [tools](https://github.com/nodejs/node/tree/master/tools) directories that are copied in from externally maintained repositories.
Copy link
Contributor

Choose a reason for hiding this comment

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

(which the node executable is built from)

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

@Fishrock123
Copy link
Contributor

lgtm with nits, let's do the "take it to the board thing" next board meeting!

@williamkapke
Copy link
Contributor

williamkapke commented Nov 17, 2016

@rvagg the Sept 22nd meeting, was the last time this was discussed which just said "we can work out the rest of the details on GitHub and then take it to the board."

Can you incorporate the nits and collect the final signoffs? We have started to say this has been finished-- but it isn't. :/

When is the next opportunity to take to the board then?

* https://github.com/nodejs/docker-node
* https://github.com/nodejs/benchmarking
* https://github.com/nodejs/readable-stream
* https://github.com/nodejs/secrets (private, administered by build)
Copy link
Contributor

Choose a reason for hiding this comment

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

by build the Build Working Group.

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

@rvagg
Copy link
Member Author

rvagg commented Nov 17, 2016

Ah yes, I had planned on finishing this off before today's TSC meeting but I've failed .. again. Next board meeting is at Node Interactive, let's shoot for that.

@rvagg
Copy link
Member Author

rvagg commented Nov 23, 2016

@nodejs/tsc see my latest revision, I did some reworking in ebd9d11. Mainly I tried to be pretty exhaustive in listing repos that we have, I've skipped a few that are in limbo and I'm unsure if we really want to list everything because some repos are obviously temporary or testing-grounds. I've got almost all of them now though. I've also listed how responsibility is delegated to the various groups, leaving the TSC with very little that it's directly responsible for (good!).

I got rid of an awkward category of project, the distinction was supposed to be "these projects are dependencies of core but don't have management structures around them" and "these projects are dependencies but they do have their own management structures". The line was a bit too hard to draw nicely so they're just in two categories now: "dependencies" and "adjacent projects" (i.e. everything else). Seems much more obvious now.

In the list of responsibilities I've added a couple of items in response to @nebrius' suggestions for moderation and managing governance/group-membership.

I'm going to get this onto the board meeting agenda for next week, I'll hand this version off for the preliminary meeting deck but will send an updated version before the meeting. So @nodejs/tsc, you have a few days to give feedback on this and sign-off! Then we can move forward, finally. /cc @Trott @williamkapke @joshgav @addaleax @mhdawson and anyone else who maintains an interest in these things (sorry if I've left you off the list!).

Copy link
Member

@bnoordhuis bnoordhuis left a comment

Choose a reason for hiding this comment

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

Basically LGTM.

* https://github.com/nodejs/Intl — administration delegated to the Intl Working Group
* https://github.com/nodejs/llnode — administration delegated to the Core Technical Committee
* https://github.com/nodejs/nan — administration delegated to the Addon API Working Group
* https://github.com/nodejs/node-addon-examples — administration delegated to the Addon API WorkingGroup)
Copy link
Member

Choose a reason for hiding this comment

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

Typo: s/WorkingGroup)/Working Group/

* https://github.com/nodejs/education
* https://github.com/nodejs/email — administration delegated to the Build Working Group
* https://github.com/nodejs/evangelism — administration delegated to the Evangelism Working Group
* https://github.com/nodejs/github-bot — administration delegated to the Core Technical Committee
Copy link
Contributor

Choose a reason for hiding this comment

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

It is delegated to the GitHub Bot Team ... but officially the TSC according to GOVERNANCE.md since it can cover more areas than the CTC does.

Copy link
Contributor

Choose a reason for hiding this comment

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

I would argue that this one is quickly becoming a dependent project if not already when you consider the labeling and backport work it does. It's valuable similar to how citgm is.

* https://github.com/nodejs/email — administration delegated to the Build Working Group
* https://github.com/nodejs/evangelism — administration delegated to the Evangelism Working Group
* https://github.com/nodejs/github-bot — administration delegated to the Core Technical Committee
* https://github.com/nodejs/help — administration delegated to the Core Technical Committee
Copy link
Contributor

Choose a reason for hiding this comment

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

This comment says Help belongs to the Evangelism Working Group

Copy link
Member Author

Choose a reason for hiding this comment

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

@williamkapke is this based on how it's managed? I haven't paid close attention to who actively administers it.

These projects are located in the following repositories:

* https://github.com/nodejs/build — administration delegated to the Build Working Group
* https://github.com/nodejs/citgm — administration delegated to the Core Technical Committee
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 probably wrong here- but I thought this was delegated to the Build Working Group

Copy link
Member Author

Choose a reason for hiding this comment

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

Ambiguous so I said CTC, could be Build, could be Testing, could even be LTS or it a whole new Smoke Testing group!

@thealphanerd what say you?

* https://github.com/nodejs/CTC — administration delegated to the Core Technical Committee
* https://github.com/nodejs/docker-node — administration delegated to the Docker Working Group
* https://github.com/nodejs/http-parser — administration delegated to the Core Technical Committee
* https://github.com/nodejs/LTS — administration delegated to the LTS Working Group
Copy link
Contributor

Choose a reason for hiding this comment

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

LTS isn't a Working Group ...yet

* https://github.com/nodejs/testing — administration delegated to the Testing Working Group
* _And_ various language and resource translation groups under https://github.com/nodejs/

### Responsibilities
Copy link
Contributor

Choose a reason for hiding this comment

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

The is a bit confusing with the "## TSC Scope of Responsibility" section above. Consider consolidating.

Copy link
Member Author

Choose a reason for hiding this comment

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

Changed titles to be more clear

* Creating new repositories and projects under the _nodejs_ GitHub organization as required
* Setting overall technical direction for the Node.js Core project, including high-level goals and low-level specifics regarding features and functionality
* Setting and maintaining appropriate standards for community discourse via the various mediums under TSC control
* Setting and maintaining governance rules for the conduct and make-up of the TSC, CTC, Working Groups and other bodies under the TSC
Copy link
Contributor

Choose a reason for hiding this comment

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

To avoid the Top Down view of the Org- we could try to avoid the word "under"... instead use "within the TSC's domain" or similar.

Copy link
Contributor

@joshgav joshgav left a comment

Choose a reason for hiding this comment

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

LGTM, thank you for collecting and organizing this Rod. One minor comment on delegation of llnode.

* https://github.com/nodejs/iojs.org — administration delegated to the Website Working Group
* https://github.com/nodejs/installer — administration delegated to the Core Technical Committee
* https://github.com/nodejs/Intl — administration delegated to the Intl Working Group
* https://github.com/nodejs/llnode — administration delegated to the Core Technical Committee
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this is managed by the Post-Mortem WG.

Copy link
Member Author

Choose a reason for hiding this comment

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

Can y'all clarify this please, /cc @indutny
I see it in GOVERNANCE.md (LICENSE.md says nodereport btw) but the GitHub permissions suggest that it's its own group. Should we fix GitHub to be nodejs/port-mortem? Or are there extra people involved in this that aren't in post-mortem?

* https://github.com/nodejs/promises — administration delegated to the Promises Working Group
* https://github.com/nodejs/readable-stream — administration delegated to the Streams Working Group
* https://github.com/nodejs/summit
* https://github.com/nodejs/testing — administration delegated to the Testing Working Group
Copy link
Member

Choose a reason for hiding this comment

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

probably need to add

https://github.com/nodejs/abi-stable-node - administration delegated to the API Working Group
https://github.com/nodejs/abi-stable-node-addon-examples - administration delegated to the API Working Group

@rvagg
Copy link
Member Author

rvagg commented Nov 30, 2016

Hey all, I presented this to the board yesterday and it went down really well. We're all nicely aligned on everything.

The only thing that came up was the case of a project that the board wants to bring in and how that might be handled. An example of this right now is the Node.js Security Project, which has been largely negotiated by the executive on behalf of the board and we're just adopting it by default (we should formally sign off on that as a TSC assuming there are no disagreements!). If you think larger than that, though, things get interesting. There may be a situation where the Board wants to expand technical scope of the foundation but the existing TSC doesn't want to expand in that way.

So we have three obvious possible outcomes of a scope-expanding project coming in via the Board:

  • TSC agrees and expands its scope
  • TSC disagrees and Board doesn't force it
  • TSC disagrees and a new technical body is set up with its own TSC reporting directly to the board

I don't think that anything we have in this PR conflicts with any of that but I think it's worth noting at least that scope expansion can also happen at the instigation of the board and approval of the TSC.

@Fishrock123
Copy link
Contributor

Sounds good, do we just need to sign off on this now?

@rvagg
Copy link
Member Author

rvagg commented Nov 30, 2016

@Fishrock123 yes, in our hands. I have some nits to finish off here but can't do that today but we can get this closed and move.

@rvagg
Copy link
Member Author

rvagg commented Jan 12, 2017

pushed a new commit with outstanding nits addressed and a line that says: "If the Node.js Foundation Board wishes to adopt an existing project, it must seek agreement from the TSC that such adoption is appropriate and that any changes to scope that it entails are acceptable."

Ready for merging if everyone agrees with the current state.

@@ -24,10 +24,10 @@ These projects are located in the following repositories:

* https://github.com/nodejs/build — administration delegated to the Build Working Group
* https://github.com/nodejs/citgm — administration delegated to the Core Technical Committee
* https://github.com/nodejs/CTC — administration delegated to the Core Technical Committee
* https://github.com/nodejs/CTC — administration delegated to the Core Technical Committee, managed by the Smoke Testing Team
Copy link
Contributor

@williamkapke williamkapke Jan 12, 2017

Choose a reason for hiding this comment

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

Maybe this change was supposed to be 1 line up (on CitGM)?

Yeah- I see the prior comment now. This needs to move up to CitGM.

* https://github.com/nodejs/evangelism — administration delegated to the Evangelism Working Group
* https://github.com/nodejs/github-bot — administration delegated to the Core Technical Committee, managed by the GitHub Bot Team
* https://github.com/nodejs/help — administration delegated to the Evangelism Working Group
* https://github.com/nodejs/http — administration delegated to the HTTP Working Group
Copy link
Member

Choose a reason for hiding this comment

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

HTTP WG has been dechartered. This should fall back to CTC

Copy link
Contributor

@nebrius nebrius left a comment

Choose a reason for hiding this comment

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

LGTM

@rvagg
Copy link
Member Author

rvagg commented Jan 12, 2017

remaining nits fixed, last chance for review or this will land after the weekend, agreed in TSC meeting

Copy link
Member

@mhdawson mhdawson left a comment

Choose a reason for hiding this comment

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

LGTM

@williamkapke
Copy link
Contributor

Please add node-inspect to the list now that it has been accepted

@williamkapke
Copy link
Contributor

Also: they're working to rename nodereport to node-report.

nodejs/node-report#35

* https://github.com/nodejs/nodejs.org — administration delegated to the Website Working Group
* https://github.com/nodejs/secrets — _private_, administration delegated to the Build Working Group
* https://github.com/libuv/libuv — currently under Incubation

Copy link
Contributor

Choose a reason for hiding this comment

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

Per #190 need to add: https://github.com/nodejs/node-inspect - administration delegated to the Diagnostics Working Group

rvagg added a commit that referenced this pull request Jan 26, 2017
@rvagg rvagg closed this Jan 26, 2017
@rvagg rvagg deleted the core-scope branch January 26, 2017 12:46
@rvagg rvagg removed the tsc-agenda label Jan 26, 2017
@joshgav
Copy link
Contributor

joshgav commented Jan 26, 2017

🎉 🎉 🎉

FYI for others: landed in 18e478d

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.

9 participants