Skip to content

Commit 92a14d3

Browse files
mhdawsonruyadorno
authored andcommitted
doc: add technical values document
As part of the [next-10](https://github.com/nodejs/next-10) we found we needed to capture the project's technical values/priorities as a starting point before discussing key technologies/areas for the next 10 years of Node.js This is a first cut that the team put together. The discussion took place in a few meetings as well as this [PR](nodejs/next-10#11). We believe the doc should live in the core node repository as it is intended to reflect the agreement of the collaborator base. I think this is a good starting point but we also acknowledge that only a small subset of the Node.js collaborators have participated/commented so far. This PR should be a good way to get additional review/input from the larger set of Node.js collaborators. Signed-off-by: Michael Dawson <mdawson@devrus.com> PR-URL: #35145 Reviewed-By: Christopher Hiller <boneskull@boneskull.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Ruy Adorno <ruyadorno@github.com> Reviewed-By: Andrey Pechkurov <apechkurov@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Ash Cripps <acripps@redhat.com> Reviewed-By: Ben Coe <bencoe@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Pranshu Srivastava <rexagod@gmail.com>
1 parent dbfd3b2 commit 92a14d3

File tree

2 files changed

+65
-1
lines changed

2 files changed

+65
-1
lines changed

README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ For information on reporting security vulnerabilities in Node.js, see
144144
* [Contributing to the project][]
145145
* [Working Groups][]
146146
* [Strategic Initiatives][]
147+
* [Technical values and prioritization][]
147148

148149
## Current Project Team Members
149150

@@ -633,5 +634,6 @@ Other keys used to sign some previous releases:
633634
[Contributing to the project]: CONTRIBUTING.md
634635
[Node.js Website]: https://nodejs.org/
635636
[OpenJS Foundation]: https://openjsf.org/
636-
[Working Groups]: https://github.com/nodejs/TSC/blob/master/WORKING_GROUPS.md
637637
[Strategic Initiatives]: https://github.com/nodejs/TSC/blob/master/Strategic-Initiatives.md
638+
[Technical values and prioritization]: doc/guides/technical-values.md
639+
[Working Groups]: https://github.com/nodejs/TSC/blob/master/WORKING_GROUPS.md

doc/guides/technical-values.md

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Technical values and priorities
2+
3+
The project uses these technical values to establish priorities and guide
4+
collaboration.
5+
6+
## Values and priority level
7+
8+
* Priority 1 - Developer experience
9+
* Priority 2 - Stability
10+
* Priority 3 - Operational qualities
11+
* Priority 4 - Node.js maintainer experience
12+
* Priority 5 - Up to date Technology and APIs
13+
14+
## Value descriptions
15+
16+
### 1 - Developer experience
17+
We value ensuring that developers are productive and enjoy developing
18+
with Node.js. Some key elements of this include:
19+
* Approachability (both technical and community)
20+
* Great documentation
21+
* Bundling friction-reducing APIs and components, even though
22+
they could be provided externally
23+
* Enabling/supporting external packages to ensure overall developer experience
24+
25+
### 2 - Stability
26+
Whenever possible, we seek to insure that currently-working code continues to
27+
work. We seek to keep the trust of developers and end-users. Therefore, we value
28+
stability.
29+
Some key elements of this include:
30+
* Backwards compatibility
31+
* Stable releases on a predictable schedule
32+
* A strong safety net, including testing how changes
33+
in Node.js affect popular packages
34+
* Careful consideration of what goes into long term support (LTS) releases
35+
36+
### 3 - Operational qualities
37+
We value keeping Node.js safe, performant, and lightweight.
38+
We value enabling the ability to investigate and debug problems in
39+
development and production. Some key elements of this include:
40+
* High throughput (speed)
41+
* Fast startup
42+
* Small binary size
43+
* Small memory footprint
44+
* High-quality debugging tools
45+
* Robust diagnostic tools (profilers, etc.)
46+
* Responsible security practices
47+
48+
### 4 - Node.js maintainer experience
49+
We value the productivity and happiness of the Node.js maintainers.
50+
Some key elements of this include:
51+
* Approachability of the codebase
52+
* Good internal documentation and guides
53+
* Low-friction policies and processes
54+
* Good CI and tooling to make maintainers productive
55+
56+
### 5 - Up to date Technology and APIs
57+
We value providing developers with modern APIs and technologies
58+
following existing standards whenever possible.
59+
Some key elements of this include:
60+
* Participating in standards work and organizations
61+
* Web API compatibility
62+
* Supporting and exposing new technologies and standards through early adoption

0 commit comments

Comments
 (0)