nodejs/doc/guides/technical-values.md

62 lines
2.2 KiB
Markdown
Raw Normal View History

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](https://github.com/nodejs/next-10/pull/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: https://github.com/nodejs/node/pull/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>
2020-09-10 11:19:44 -04:00
# Technical values and priorities
The project uses these technical values to establish priorities and guide
collaboration.
## Values and priority level
* Priority 1 - Developer experience
* Priority 2 - Stability
* Priority 3 - Operational qualities
* Priority 4 - Node.js maintainer experience
* Priority 5 - Up to date Technology and APIs
## Value descriptions
### 1 - 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
### 2 - Stability
Whenever possible, we seek to ensure that working code continues to work. To
keep the trust of developers and users, we value stability.
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](https://github.com/nodejs/next-10/pull/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: https://github.com/nodejs/node/pull/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>
2020-09-10 11:19:44 -04:00
Some key elements of this include:
* Backward compatibility
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](https://github.com/nodejs/next-10/pull/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: https://github.com/nodejs/node/pull/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>
2020-09-10 11:19:44 -04:00
* Stable releases on a predictable schedule
* A strong safety net, including testing how changes
in Node.js affect popular packages
* Careful consideration of what goes into long term support (LTS) releases
### 3 - Operational qualities
We value keeping Node.js safe, performant, and lightweight.
We value enabling the ability to investigate and debug problems in
development and production. Some key elements of this include:
* High throughput (speed)
* Fast startup
* Small binary size
* Small memory footprint
* High-quality debugging tools
* Robust diagnostic tools (profilers, etc.)
* Responsible security practices
### 4 - Node.js maintainer experience
We value the productivity and happiness of the 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
### 5 - Up to date Technology and APIs
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