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 all 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

Prioritize the **Technical** values shared by the project and use these to guide us when making tradeoffs.


## Values and priority level

This is only a subset of the overall priorities, listing only those which are at the
top of the priority list. Anything on this list is very important for the project
despite the relative priorities shown.

- 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:
- Approachability (both technical and community)
- Great Documentation
- Bundling friction-reducing APIs and components, even though they could be provided externally
- Enabling/supporting external packages to ensure overall developer experience

### Stability
To avoid introducing churn into Node.js' ecosystem, we value stability and consistency across releases and avoid breaking changes. Some key elements of this include:
- Backwards compatibility
- Predictable and stable releases
- A strong safety net, including explicitly testing how changes in Node.js affect userland packages.
- Careful consideration of what goes into LTS releases

### Operational Qualities
We value keeping Node.js safe, performant and lightweight as well as the ability to investigate and debug problems in development and production. Some key elements of this include:
- Throughput (speed)
- Startup time
- Binary size
- Memory footprint
- Debug tooling (debugger)
- Diagnostic tooling (profilers, heapdumps, coredumps, etc.)
- Addressing security vulnerabilities in a responsible manner

### Node.js Maintainer Experience
We value the productivity and happiness of Node.js' maintainers. Some key elements of this include:
- Approachability of the codebase
- Good internal documentation and guides
- Low-friction policies and processes
- Good CI and tooling to make maintainers productive

### Providing modern APIs and Technologies
We value providing developers with modern APIs and technologies following existing standards whenever possible. Some key elements of this include:
- Participating in standards work and organizations
- Web API compatibility
- Supporting and exposing new technologies and standards through early adoption

## 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)