Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
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>
- Loading branch information
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @@ -0,0 +1,62 @@ | ||
| # 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 insure that currently-working code continues to | ||
| work. We seek to keep the trust of developers and end-users. Therefore, we value | ||
| stability. | ||
| Some key elements of this include: | ||
| * Backwards compatibility | ||
| * 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 |

