Skip to content

Commit c04fdfe

Browse files
authored
doc: add initial version of values and prios doc (#11)
* doc: add initial version of values and prios doc Signed-off-by: Michael Dawson <[email protected]>
1 parent d08cd77 commit c04fdfe

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

VALUES_AND_PRIORITIZAION.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Values and Priorities
2+
3+
> Document Status: Proposal, Work In Progress
4+
5+
## Context
6+
7+
Prioritize the **Technical** values shared by the project and use these to guide us when making tradeoffs.
8+
9+
10+
## Values and priority level
11+
12+
This is only a subset of the overall priorities, listing only those which are at the
13+
top of the priority list. Anything on this list is very important for the project
14+
despite the relative priorities shown.
15+
16+
- Priority 1 - Developer experience
17+
- Priority 2 - Stability
18+
- Priority 3 - Operational qualities
19+
- Priority 4 - Node.js maintainer experience
20+
- Priority 5 - Technology and API currency
21+
22+
## Value descriptions
23+
24+
### Developer Experience
25+
We value ensuring that developers are productive and enjoy developing with Node.js. Some key elements of this include:
26+
- Approachability (both technical and community)
27+
- Great Documentation
28+
- Bundling friction-reducing APIs and components, even though they could be provided externally
29+
- Enabling/supporting external packages to ensure overall developer experience
30+
31+
### Stability
32+
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:
33+
- Backwards compatibility
34+
- Predictable and stable releases
35+
- A strong safety net, including explicitly testing how changes in Node.js affect userland packages.
36+
- Careful consideration of what goes into LTS releases
37+
38+
### Operational Qualities
39+
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:
40+
- Throughput (speed)
41+
- Startup time
42+
- Binary size
43+
- Memory footprint
44+
- Debug tooling (debugger)
45+
- Diagnostic tooling (profilers, heapdumps, coredumps, etc.)
46+
- Addressing security vulnerabilities in a responsible manner
47+
48+
### Node.js Maintainer Experience
49+
We value the productivity and happiness of Node.js' maintainers. Some key elements of this include:
50+
- Approachability of the codebase
51+
- Good internal documentation and guides
52+
- Low-friction policies and processes
53+
- Good CI and tooling to make maintainers productive
54+
55+
### Providing modern APIs and Technologies
56+
We value providing developers with modern APIs and technologies following existing standards whenever possible. Some key elements of this include:
57+
- Participating in standards work and organizations
58+
- Web API compatibility
59+
- Supporting and exposing new technologies and standards through early adoption
60+
61+
## References
62+
63+
[First pass at list of values](https://github.com/nodejs/next-10/issues/5)
64+
[Original priorities brainstorm document](https://docs.google.com/document/d/1sbO_zCn9n_JH2zuGtqNAahUhA_mGFA89DdAme8nEdsw)

0 commit comments

Comments
 (0)