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: add initial version of values and prios doc #11

Merged
merged 40 commits into from
Sep 9, 2020
Merged
Changes from 13 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
2a79cc9
doc: add initial version of values and prios doc
mhdawson Aug 12, 2020
18c3d7b
squash: formatting fixup
mhdawson Aug 12, 2020
a2827f0
Formatting fixup
mhdawson Aug 12, 2020
ace698b
squash: add some clarification on priorities
mhdawson Aug 12, 2020
0101bc8
Update VALUES_AND_PRIORITIZAION.md
mhdawson Aug 18, 2020
f424184
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
88e73a8
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
29b4066
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
15d6f57
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
83bd288
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
b8c6cba
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
6e6dc43
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
03180ce
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
1b9add1
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
4ca03bd
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
a9b1572
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
5cd7b42
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
0c5a689
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
430ff3d
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
d969782
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
0ffe41b
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
fd78408
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
eb154e6
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
bed1422
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
a3920d7
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
0e7f503
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
b10b7e2
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
0ecf049
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
da15225
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
d7823b9
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
ade5e1d
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
c295415
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
79e1547
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
523199a
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 2, 2020
9705794
address comments
mhdawson Sep 2, 2020
994da56
address comments
mhdawson Sep 2, 2020
7bded33
fix up bullet formatting
mhdawson Sep 2, 2020
34690ea
fixup
mhdawson Sep 2, 2020
324a474
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 4, 2020
411d080
Update VALUES_AND_PRIORITIZAION.md
mhdawson Sep 4, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions VALUES_AND_PRIORITIZAION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Values and Priorities

> Document Status: Proposal, Work In Progress

## Context

Define the `Technical` values shared by the project and their relatively priority
trivikr marked this conversation as resolved.
Show resolved Hide resolved
that are applied when making tradeoffs.
mhdawson marked this conversation as resolved.
Show resolved Hide resolved


## Values and priority level

This is only a subset of the overall prioties, listing only those which are at the
mhdawson marked this conversation as resolved.
Show resolved Hide resolved
top of the priority list. Anything on this list is very important for the project
despite the relative priorities shown.

- Prio 1 - Developer experience
- Prio 2 - Stability
- Prio 3 - Operational qualities
- Prio 4 - Node.js maintainer experience
- Prio 5 - Technology and API Currency
mhdawson marked this conversation as resolved.
Show resolved Hide resolved

Choose a reason for hiding this comment

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

Suggested change
- Prio 1 - Developer experience
- Prio 2 - Stability
- Prio 3 - Operational qualities
- Prio 4 - Node.js maintainer experience
- Prio 5 - Technology and API Currency
- Priority 1 - Developer experience
- Priority 2 - Stability
- Priority 3 - Operational qualities
- Priority 4 - Node.js maintainer experience
- Priority 5 - Technology and API Currency


## Value descriptions

### Developer Experience
We value ensuring that developers are productive and enjoy developing with Node.js. Some key elements of this include:
- Approach-ability (both technical and community)
mhdawson marked this conversation as resolved.
Show resolved Hide resolved
- Great Documentation
- Bundling API/components which reduce the friction of using them, even though they could be external
mhdawson marked this conversation as resolved.
Show resolved Hide resolved
- Enabling/supporting external packages to ensure overall developer experience

Choose a reason for hiding this comment

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

It's kind of unclear what is meant by this

Copy link
Member Author

Choose a reason for hiding this comment

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

What we were trying to say was that developer experience for the Node.js ecosystem is not only about the APIs provided directly by Node.js itself but also those provided by external packages as well. In that context it is important to provide APIs, or whatever else is needed to support external packages in helping the overall developer experience.

Any suggestions on how to better capture that that they short version we had?

Choose a reason for hiding this comment

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

maybe something like "Enable better developer experiences in packages and applications built upon Node.js"?


### Stability
We value keeping Node.js stable and consistent across releases versus introducing breaking changes that require churn in the ecosystem. Some key elements of this include:
mhdawson marked this conversation as resolved.
Show resolved Hide resolved
- Backwards compatibility
- Predictable and stable releases
- A strong safety net (testing etc.)

Choose a reason for hiding this comment

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

(if this is indeed what you mean):

Suggested change
- A strong safety net (testing etc.)
- A strong safety net--explicitly testing how changes in Node.js affect userland packages

Copy link
Member Author

Choose a reason for hiding this comment

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

@boneskull how about

A strong safety net, including explicitly testing how changes in Node.js affect userland packages.

Choose a reason for hiding this comment

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

sure

- Careful consideration of what goes into LTS releases

### Operational Qualities
We value keeping Node.js safe, performant and light weight as well as the ability to investigate and debug problems in development and production. Some key elements of this include:
mhdawson marked this conversation as resolved.
Show resolved Hide resolved
- throughput(speed)
- startup time
- binary size
- memory footprint
- Debug tooling (debugger)
- Diagnostic tooling (profilers, heapdumps, coredumps, etc.)
mhdawson marked this conversation as resolved.
Show resolved Hide resolved

### Node.js maintainer experience
mhdawson marked this conversation as resolved.
Show resolved Hide resolved
We value ensuring that Node.js maintainers are productive and enjoy maintaining Node.js and related components. Some key elements of this include:
mhdawson marked this conversation as resolved.
Show resolved Hide resolved
- Approach-ability of the code base
mhdawson marked this conversation as resolved.
Show resolved Hide resolved
- Good internal documentation and guides
- Low friction policies and processes
mhdawson marked this conversation as resolved.
Show resolved Hide resolved
- Good CI and tooling to make maintainers productive

mhdawson marked this conversation as resolved.
Show resolved Hide resolved
### Technology and API currency
mhdawson marked this conversation as resolved.
Show resolved Hide resolved
mhdawson marked this conversation as resolved.
Show resolved Hide resolved
We value providing developers with modern APIs and technologies following existing standards whenever possible. Some key elements of this include:
mhdawson marked this conversation as resolved.
Show resolved Hide resolved
- participating in standards work and organizations
- web API compatibility
- supporting new technologies and standards and exposing them early in their life-cycle
mhdawson marked this conversation as resolved.
Show resolved Hide resolved

## References

[First pass at list of values](https://github.com/nodejs/next-10/issues/5)
[Original priorities brainstorm document](https://docs.google.com/document/d/1sbO_zCn9n_JH2zuGtqNAahUhA_mGFA89DdAme8nEdsw)