Successfully reported this slideshow.

Developing a Community and an Ecosystem with NuGet

607 views

Published on

Phill Haack, Jeff Handley, and Howard Dierking deliver a presentation on the direction of the NuGet community. NuGet is and Outercurve project.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Developing a Community and an Ecosystem with NuGet

  1. 1. Developing aCommunity andEcosystem with NuGetPhil  Haack,  Jeff  Handley,  Howard  Dierking  
  2. 2. How did we get here?
  3. 3. NPack
  4. 4. NuPack
  5. 5. Nuget
  6. 6. The Core Team•  Funded  by  Microso;  •  13  People    •  6  developers    •  4  testers  •  3  overhead  (Howard,  Jeff,  Ranjini)  
  7. 7. 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)  
  8. 8. Some Numbers
  9. 9. 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    
  10. 10. 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    
  11. 11. 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    
  12. 12. 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    
  13. 13. 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  
  14. 14. Day to Day
  15. 15. 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”  
  16. 16. 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  
  17. 17. Updated triage
  18. 18. These have produced positive resultsNuGet  Client  NuGet  Gallery  
  19. 19. Planning
  20. 20. 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  
  21. 21. 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”  
  22. 22. Improving our planning•  Develop  specificaRons  in  the  open    •  Document  project  governance  model  •  Create  a  community-­‐driven  governance  board  •  Schedule  weekly  calls,  hangouts,  etc.  
  23. 23. “Are we there yet?”
  24. 24. 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  

×