-
-
Notifications
You must be signed in to change notification settings - Fork 28
doc: add initial version of values and prios doc #11
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
Changes from 34 commits
2a79cc9
18c3d7b
a2827f0
ace698b
0101bc8
f424184
88e73a8
29b4066
15d6f57
83bd288
b8c6cba
6e6dc43
03180ce
1b9add1
4ca03bd
a9b1572
5cd7b42
0c5a689
430ff3d
d969782
0ffe41b
fd78408
eb154e6
bed1422
a3920d7
0e7f503
b10b7e2
0ecf049
da15225
d7823b9
ade5e1d
c295415
79e1547
523199a
9705794
994da56
7bded33
34690ea
324a474
411d080
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
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. | ||||||
|
||||||
- Prio 1 - Developer experience | ||||||
- Prio 2 - Stability | ||||||
- Prio 3 - Operational qualities | ||||||
- Prio 4 - Node.js maintainer experience | ||||||
- Prio 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 | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's kind of unclear what is meant by this There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What we were trying to say was that developer experience for the Node.js ecosystem is not only about the APIs provided directly by Node.js itself but also those provided by external packages as well. In that context it is important to provide APIs, or whatever else is needed to support external packages in helping the overall developer experience. Any suggestions on how to better capture that that they short version we had? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. maybe something like "Enable better developer experiences in packages and applications built upon Node.js"? |
||||||
|
||||||
### 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 (testing etc.) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (if this is indeed what you mean):
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @boneskull how about A strong safety net, including explicitly testing how changes in Node.js affect userland packages. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. sure |
||||||
- 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) |
Uh oh!
There was an error while loading. Please reload this page.