Node.js — from frustration to OpenJS
flowchart TD
A["<b>i · 2009</b><br/>Ryan Dahl frustrated<br/>by Apache blocking I/O"]
--> B["<b>ii · 2009</b><br/>Node.js unveiled at JSConf EU<br/>V8 + libuv + event loop"]
B --> C["<b>iii · 2010</b><br/>NPM ships<br/>(Isaac Z. Schlueter)"]
C --> D["<b>iv · 2011</b><br/>Windows support lands<br/>enterprise adoption begins"]
D --> E["<b>v · 2014</b><br/>io.js fork<br/>(Fedor Indutny)"]
E --> F["<b>vi · Sep 2015</b><br/>Node + io.js reunite<br/>Node.js Foundation"]
F --> G["<b>2019</b><br/>OpenJS Foundation<br/>current stewardship"]
classDef milestone fill:#f5efe1,stroke:#6a8a4f,stroke-width:2px,color:#1a1915;
classDef fork fill:#fdecd3,stroke:#c2410c,stroke-width:2px,color:#1a1915;
classDef reunite fill:#e7efd9,stroke:#587640,stroke-width:2px,color:#1a1915;
class A,B,C,D milestone
class E fork
class F,G reunite-
Frustration (2009)
Apache blocks a thread per request — it breaks at 10K connections.
-
Unveil (2009)
Ryan Dahl presents Node.js: V8 + libuv + a single-threaded event loop.
-
NPM (2010)
Isaac Z. Schlueter ships the registry that becomes the ecosystem.
-
Windows (2011)
Official Windows support unlocks enterprise + Microsoft developer adoption.
-
Fork (2014)
io.js splits over governance + slow releases — fragmentation risk peaks.
-
Reunion (2015+)
Merge under Node.js Foundation → OpenJS Foundation in 2019.
Comments
Comments are disabled in this environment. Set
PUBLIC_GISCUS_REPO,PUBLIC_GISCUS_REPO_ID, andPUBLIC_GISCUS_CATEGORY_IDto enable.