developing a community and an ecosystem with nuget
DESCRIPTION
Phill Haack, Jeff Handley, and Howard Dierking deliver a presentation on the direction of the NuGet community. NuGet is and Outercurve project.TRANSCRIPT
Developing a Community and
Ecosystem with NuGet Phil Haack, Jeff Handley, Howard Dierking
How did we get here?
NPack
NuPack
Nuget
The Core Team
• Funded by Microso; • 13 People
• 6 developers • 4 testers • 3 overhead (Howard, Jeff, Ranjini)
The Scope of NuGet
• NuGet client • NuGet.Core • Visual Studio add in – runs in VS 2010, VS 2012, and beyond
• nuget.exe • WebMatrix client
• NuGet Gallery • Gallery applicaRon code • hSp://nuget.org operaRons
• NuGet docs (hSp://docs.nuget.org) • NuGet blog (hSp://blog.nuget.org)
Some Numbers
Usage
• ConsumpRon • 4,648,997 Visual Studio client downloads (4.5/5 stars)
• 270,877 downloads of NuGet 2.5 (released 13 days ago) • 68,093,144 package downloads
• Package authoring • 12,566 unique packages • 94,070 total packages
hSp://nuget.org
NuGet Client (http://nuget.codeplex.com)
• 3,570 commits • 95 contributors • 61,086 LOC • Stable YOY commit rate • 48 contributors in the last 12 months (+26% YOY) • 4 new contributors in the last 30 days
hSp://www.ohloh.net/p/nuget
NuGet Gallery (https://github.com/nuget/nugetgallery)
• 1,314 commits • 27 contributors • 51,768 LOC • Stable YOY commit rate • 18 contributors in the last 12 months (+20% YOY)
hSp://www.ohloh.net/p/nugetgallery
NuGet Docs (https://github.com/nuget/nugetdocs)
• 524 commits • 62 contributors • Decreasing YOY commit rate • 3 new contributors in the last 30 days • 32 contributors in the last 12 months (-‐15% YOY)
hSp://www.ohloh.net/p/nugetdocs
NuGet Docs (https://github.com/nuget/nugetdocs)
• 524 commits • 62 contributors • Decreasing YOY commit rate • 3 new contributors in the last 30 days • 32 contributors in the last 12 months (-‐15% YOY)
hSp://www.ohloh.net/p/nugetdocs
This _might_ be related
Day to Day
We’ve Learned a few things
• With Visual Studio 2012, NuGet shipped "in the box" with every SKU of Visual Studio
• Shipping in Visual Studio added some overhead
• This shi;ed focus onto the NuGet client at the expense of the gallery
• This reduced community engagement
• Not surprisingly, contribuRons decreased
“ask mode”
“tell mode”
“escrow”
“tenets”
“SDL”
“PoliCheck” “ZBB”
“ZRB” “APIScan”
“RI” “FI”
Lessons Learned • A more balanced focus between client and server
• Make it easy and worthwhile to engage
• Recognize contributors
• Split the core team into 2 crews: client and gallery
• Updated and publicized our triage process
• Created “up for grabs”
• Added acknowledgements.txt to source
• Recognize contributors in release notes
Updated triage
These have produced positive results
NuGet Client
NuGet Gallery
Planning
We have more to learn here..
• 2 inputs to planning • A roadmap that originates from the core team – generally ~12mo into the future
• Ideas and issues that are submiSed to the project sites • Sorted based on votes
Planning Challenges
• Engaging with the community on the roadmap • Balancing the smaller enhancements and fixes with the larger roadmap items
• 757 open issues for NuGet client • 164 open issues for NuGet gallery
• Guarding against “death by success”
Improving our planning
• Develop specificaRons in the open • Document project governance model • Create a community-‐driven governance board • Schedule weekly calls, hangouts, etc.
“Are we there yet?”
TODO: a few examples • API v3 • Social IntegraRon • Discovery/Search • Trust • Enterprise – companies, not just their developers, 'get' package management
• Global package installaRon (machine-‐level: e.g. npm -‐g Foo) • Deeper VS integraRon • Package creaRon -‐ NuGet packages are the natural product of build and the natural unit of reference
• Community-‐moderated gallery