SlideShare a Scribd company logo
open source 
product management 
with npm 
@othiym23 / Forrest L Norvell 
npm, Inc.
npm
npm is many things 
• project 
• company 
• team 
• philosophy & ethos 
• product family
npm is many 
softwares 
• registry 
• website 
• CLI
the CLI team
me
npm CLI team duties 
• meet npm, Inc.’s business 
objectives 
• fix bugs 
• support current npm users 
• keep npm moving forward
make npm the most useful 
tool it can be for the most 
people
“useful”
pragmatism > 
rigor
simplicity > 
completeness
problems > 
solutions
($ > !$)
open source product management (feat. npm)
• 356 support tickets 
• 222 bugs 
• 236 feature requests
traditional product 
management 
• own the roadmap 
• sell the strategic vision 
• mediate between business 
owners, developers, & other 
stakeholders
say no a lot, but 
be stubborn about 
what you say yes to
open-source product 
management 
• balance competing demands 
• consensus-seeking 
• but sometimes you have to say 
no
example: making 
npm more 
extensible
1. lifecycle
2. ADD M0AR 
HO0KZ
3. yay!
nope
(2. add more 
commands, like 
git)
npm is not an 
infinitely extensible 
miracle pegacorn
turn the problem 
inside out
npm as a set of 
APIs plugged into 
a CLI
LET A THOUSAND 
PACKAGE MANAGERS 
BLOOM
CAVEATS
• looked at a lot of different 
requests 
• came up with a global solution 
for many local problems 
• try to keep each goal 
supporting the others
npm’s roadmap 
• scoped packages 
• multi-stage install / dependency 
tree realization 
• npm as API 
• better Windows support 
• client-side development support
you
the npm release 
process 
• new release every Thursday 
• new releases published to 
npm@next for about a week of 
burn-in 
• `npm@latest` for safe production 
release, `npm@next` if you want 
to help test the next release
supporting npm 
• the CLI team doesn’t have much 
time for support 
• `npm report` will make 
crowdsourcing that easier, but 
it’s a ways out 
• answering questions with the 
`support` label is ❤️ by me
open source product management (feat. npm)
using the npm issue 
tracker: labels 
1. bug, support, feature request 
2. next-patch, next-minor, next-major 
3. documentation, patch-welcome, 
and novice
using the npm issue 
tracker: best practices 
• don’t add your bug to a closed issue 
• …but please do add specific details 
that helped you 
• no such thing as too much 
information, but gists are useful 
• use cases are useful, +1s are 
terrible
PATCHES WELCOME 
• pull requests with tests are 
landed as quickly as 
practicable 
• no patch is too small 
• …but some patches are too big
developing npm 
• `npm test` while developing 
• `npm run test-all` before 
submitting PR 
• update the docs, plz 
• people who add tests are my 
favorite people
thanks for listening / 
thanks for helping / 
thanks for being you
nice people 
matter

More Related Content

What's hot (20)

PDF
Octopus Deploy Tech Fest 2014
adriantwright
 
PDF
S&T What I know about Node 110817
Dan Dineen
 
PPTX
Infrastructure development on windows ldn cd meetup
Owain Perry
 
PDF
ZendCon 2015 - DevOps for Small Teams
Joe Ferguson
 
PDF
Making your first contribution to Foreman
Dominic Cleal
 
PPTX
Introduction to using Grunt & Bower with WordPress theme development
James Bundey
 
PDF
ZendCon 2015 - Laravel Forge: Hello World to Hello Production
Joe Ferguson
 
PDF
Grunt js and WordPress
WP Australia
 
PDF
DevOps tools for everyone - Vagrant, Puppet and Webmin
postrational
 
PDF
Web Leaps Forward
Moh Haghighat
 
PDF
JUST EAT: Tools we use to enable our culture
Peter Mounce
 
PPT
Workshop For pycon13
Steven Pousty
 
ODP
What grunt?
Lucio Martinez
 
PDF
Helpful pre commit hooks for Python and Django
roskakori
 
PDF
Rubygem Dev And Workflow
Dr Nic Williams
 
PPTX
Modern Development Tools
Ye Maw
 
PDF
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
Future Processing
 
PDF
Getting Started with Docker (For Developers)
ColdFusionConference
 
PPTX
Getting started with Octopus Deploy
Karoline Klever
 
PPTX
Vagrant, Chef and TYPO3 - A Love Affair
Michael Lihs
 
Octopus Deploy Tech Fest 2014
adriantwright
 
S&T What I know about Node 110817
Dan Dineen
 
Infrastructure development on windows ldn cd meetup
Owain Perry
 
ZendCon 2015 - DevOps for Small Teams
Joe Ferguson
 
Making your first contribution to Foreman
Dominic Cleal
 
Introduction to using Grunt & Bower with WordPress theme development
James Bundey
 
ZendCon 2015 - Laravel Forge: Hello World to Hello Production
Joe Ferguson
 
Grunt js and WordPress
WP Australia
 
DevOps tools for everyone - Vagrant, Puppet and Webmin
postrational
 
Web Leaps Forward
Moh Haghighat
 
JUST EAT: Tools we use to enable our culture
Peter Mounce
 
Workshop For pycon13
Steven Pousty
 
What grunt?
Lucio Martinez
 
Helpful pre commit hooks for Python and Django
roskakori
 
Rubygem Dev And Workflow
Dr Nic Williams
 
Modern Development Tools
Ye Maw
 
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
Future Processing
 
Getting Started with Docker (For Developers)
ColdFusionConference
 
Getting started with Octopus Deploy
Karoline Klever
 
Vagrant, Chef and TYPO3 - A Love Affair
Michael Lihs
 

Similar to open source product management (feat. npm) (20)

PDF
Bringing Open-Source Practices to Your Day Job
Ben Coe
 
PPTX
Anton Cherednikov "Modules and Artifacts in NPM"
LogeekNightUkraine
 
PDF
Modules and artifacts in NPM by Anton Cherednikov
OdessaJS Conf
 
PPTX
Overview of Node JS
Jacob Nelson
 
KEY
Nodeconf npm 2011
Florent Jaby ヅ
 
PDF
Cover Your Apps While Still Using npm
Tierney Cyren
 
PPTX
NPM (Node Package Manager) A powerful package manager for JavaScript and Node.js
Amit Shinde
 
PPTX
Bringing Open-Source Practices to Your Day Job
Ben Coe
 
PPTX
Modular development in Node.js
Mehdi Valikhani
 
PDF
NPM ecosystem threats
Giacomo De Liberali
 
PPTX
GDG Morgantown, WV: Write code you can depend on!
Logan Spears
 
PDF
Node Summit 2016: Building your DevOps for Node.js
Chetan Desai
 
PDF
State of the CLI- Kat Marchan
NodejsFoundation
 
PDF
Node.JS: Do you know the dependency of your dependencies dependency
Wim Selles
 
PDF
Healthy & fit wombats for the greater good
Szabolcs Szabolcsi-Tóth
 
PPTX
Building Open-Source React Components
Zack Argyle
 
PPTX
Building Open-source React Components
Zack Argyle
 
PPTX
Node js meetup
Ansuman Roy
 
Bringing Open-Source Practices to Your Day Job
Ben Coe
 
Anton Cherednikov "Modules and Artifacts in NPM"
LogeekNightUkraine
 
Modules and artifacts in NPM by Anton Cherednikov
OdessaJS Conf
 
Overview of Node JS
Jacob Nelson
 
Nodeconf npm 2011
Florent Jaby ヅ
 
Cover Your Apps While Still Using npm
Tierney Cyren
 
NPM (Node Package Manager) A powerful package manager for JavaScript and Node.js
Amit Shinde
 
Bringing Open-Source Practices to Your Day Job
Ben Coe
 
Modular development in Node.js
Mehdi Valikhani
 
NPM ecosystem threats
Giacomo De Liberali
 
GDG Morgantown, WV: Write code you can depend on!
Logan Spears
 
Node Summit 2016: Building your DevOps for Node.js
Chetan Desai
 
State of the CLI- Kat Marchan
NodejsFoundation
 
Node.JS: Do you know the dependency of your dependencies dependency
Wim Selles
 
Healthy & fit wombats for the greater good
Szabolcs Szabolcsi-Tóth
 
Building Open-Source React Components
Zack Argyle
 
Building Open-source React Components
Zack Argyle
 
Node js meetup
Ansuman Roy
 
Ad

Recently uploaded (20)

PDF
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
PPTX
Hashing Introduction , hash functions and techniques
sailajam21
 
PDF
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
PPT
PPT2_Metal formingMECHANICALENGINEEIRNG .ppt
Praveen Kumar
 
PPTX
GitOps_Repo_Structure for begeinner(Scaffolindg)
DanialHabibi2
 
PPTX
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
PDF
6th International Conference on Machine Learning Techniques and Data Science ...
ijistjournal
 
PDF
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
PPTX
Product Development & DevelopmentLecture02.pptx
zeeshanwazir2
 
PDF
Water Design_Manual_2005. KENYA FOR WASTER SUPPLY AND SEWERAGE
DancanNgutuku
 
PPTX
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PPTX
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
PPTX
Day2 B2 Best.pptx
helenjenefa1
 
PPTX
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
PPTX
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
PPTX
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
PDF
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
PDF
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
Hashing Introduction , hash functions and techniques
sailajam21
 
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
PPT2_Metal formingMECHANICALENGINEEIRNG .ppt
Praveen Kumar
 
GitOps_Repo_Structure for begeinner(Scaffolindg)
DanialHabibi2
 
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
6th International Conference on Machine Learning Techniques and Data Science ...
ijistjournal
 
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
Product Development & DevelopmentLecture02.pptx
zeeshanwazir2
 
Water Design_Manual_2005. KENYA FOR WASTER SUPPLY AND SEWERAGE
DancanNgutuku
 
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
Day2 B2 Best.pptx
helenjenefa1
 
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
Ad

open source product management (feat. npm)

  • 1. open source product management with npm @othiym23 / Forrest L Norvell npm, Inc.
  • 2. npm
  • 3. npm is many things • project • company • team • philosophy & ethos • product family
  • 4. npm is many softwares • registry • website • CLI
  • 6. me
  • 7. npm CLI team duties • meet npm, Inc.’s business objectives • fix bugs • support current npm users • keep npm moving forward
  • 8. make npm the most useful tool it can be for the most people
  • 15. • 356 support tickets • 222 bugs • 236 feature requests
  • 16. traditional product management • own the roadmap • sell the strategic vision • mediate between business owners, developers, & other stakeholders
  • 17. say no a lot, but be stubborn about what you say yes to
  • 18. open-source product management • balance competing demands • consensus-seeking • but sometimes you have to say no
  • 19. example: making npm more extensible
  • 21. 2. ADD M0AR HO0KZ
  • 23. nope
  • 24. (2. add more commands, like git)
  • 25. npm is not an infinitely extensible miracle pegacorn
  • 26. turn the problem inside out
  • 27. npm as a set of APIs plugged into a CLI
  • 28. LET A THOUSAND PACKAGE MANAGERS BLOOM
  • 30. • looked at a lot of different requests • came up with a global solution for many local problems • try to keep each goal supporting the others
  • 31. npm’s roadmap • scoped packages • multi-stage install / dependency tree realization • npm as API • better Windows support • client-side development support
  • 32. you
  • 33. the npm release process • new release every Thursday • new releases published to npm@next for about a week of burn-in • `npm@latest` for safe production release, `npm@next` if you want to help test the next release
  • 34. supporting npm • the CLI team doesn’t have much time for support • `npm report` will make crowdsourcing that easier, but it’s a ways out • answering questions with the `support` label is ❤️ by me
  • 36. using the npm issue tracker: labels 1. bug, support, feature request 2. next-patch, next-minor, next-major 3. documentation, patch-welcome, and novice
  • 37. using the npm issue tracker: best practices • don’t add your bug to a closed issue • …but please do add specific details that helped you • no such thing as too much information, but gists are useful • use cases are useful, +1s are terrible
  • 38. PATCHES WELCOME • pull requests with tests are landed as quickly as practicable • no patch is too small • …but some patches are too big
  • 39. developing npm • `npm test` while developing • `npm run test-all` before submitting PR • update the docs, plz • people who add tests are my favorite people
  • 40. thanks for listening / thanks for helping / thanks for being you