Daniel Greenfeld
                              @pydanny




The Future of
Collaboration
  by Daniel Greenfeld
Daniel Greenfeld
                                                                                @pydanny




                               Who am I?

                                                 Daniel Greenfeld (@pydanny)
                                                 Cartwheel Web / Revsys
                                                 http://djangopackages.com
                                                 https://whitespacejobs.org
                                                 Fiancé of Audrey Roy


http://www.flickr.com/photos/pydanny/4442245488
Daniel Greenfeld
                     @pydanny




Mark Pilgrim
     is
   Gone
Daniel Greenfeld
                     @pydanny




Mark Pilgrim
Daniel Greenfeld
                                    @pydanny




               Mark Pilgrim

• feedparser
Daniel Greenfeld
                                   @pydanny




            Mark Pilgrim

• feedparser
• conbtributed to httplib2
Daniel Greenfeld
                                   @pydanny




            Mark Pilgrim

• feedparser
• conbtributed to httplib2
• Dive into Python
Daniel Greenfeld
                                   @pydanny




            Mark Pilgrim

• feedparser
• conbtributed to httplib2
• Dive into Python
• Dive into HTML5
Daniel Greenfeld
                         @pydanny




Mark’s Projects?
Daniel Greenfeld
                                                 @pydanny




      Mark’s Projects?


• What is the copyright on his material?
Daniel Greenfeld
                                                 @pydanny




      Mark’s Projects?


• What is the copyright on his material?
• What about his code?
Daniel Greenfeld
                 @pydanny




httplib2
Daniel Greenfeld
                                                 @pydanny




              httplib2

• Mark wasn’t lead, but outage anyway...
Daniel Greenfeld
                                                 @pydanny




              httplib2

• Mark wasn’t lead, but outage anyway...
• PyPI?
Daniel Greenfeld
                                                 @pydanny




             httplib2

• Mark wasn’t lead, but outage anyway...
• PyPI?
• http://code.google.com/p/httplib2 was down
Daniel Greenfeld
                                                 @pydanny




             httplib2

• Mark wasn’t lead, but outage anyway...
• PyPI?
• http://code.google.com/p/httplib2 was down
• Had to find a cached download
Daniel Greenfeld
                                                @pydanny




             httplib2

• Mark wasn’t lead, but outage anyway...
• PyPI?
• http://code.google.com/p/httplib2 was down
• Had to find a cached download
• A lot of libraries depend on httplib2
Daniel Greenfeld
                     @pydanny




PyPI Issues?
Daniel Greenfeld
                                          @pydanny




          PyPI Issues?
• Packages are too easily deleted
Daniel Greenfeld
                                              @pydanny




         PyPI Issues?
• Packages are too easily deleted
 • Dependency checks for that package
Daniel Greenfeld
                                              @pydanny




         PyPI Issues?
• Packages are too easily deleted
 • Dependency checks for that package
 • Request a project hand-off?
Daniel Greenfeld
                                              @pydanny




         PyPI Issues?
• Packages are too easily deleted
 • Dependency checks for that package
 • Request a project hand-off?
 • Other projects need to be notified
Daniel Greenfeld
                                              @pydanny




         PyPI Issues?
• Packages are too easily deleted
 • Dependency checks for that package
 • Request a project hand-off?
 • Other projects need to be notified
 • RSS feed of these things
Daniel Greenfeld
                                              @pydanny




         PyPI Issues?
• Packages are too easily deleted
 • Dependency checks for that package
 • Request a project hand-off?
 • Other projects need to be notified
 • RSS feed of these things
• Needs moderation but PyPI busy
Daniel Greenfeld
                                                 @pydanny




   Repeating History?


• http://pypants(.com|.org|.net) is gone
• http://djangolint.com is here today
Daniel Greenfeld
                              @pydanny




   Repeating History?

• django-piston
Daniel Greenfeld
                              @pydanny




   Repeating History?

• django-piston
• python.org
Daniel Greenfeld
                                    @pydanny




   Repeating History?

• django-piston
• python.org
• http://opencomparison.org
Daniel Greenfeld
                      @pydanny




A Dark Future
Daniel Greenfeld



Critical Packages
                          @pydanny




  Breakdown
     Dark Future
Daniel Greenfeld



     Critical Packages
                                                  @pydanny




       Breakdown
                Dark Future
• A number of critical Python Packages vanish
Daniel Greenfeld



     Critical Packages
                                                  @pydanny




       Breakdown
                Dark Future
• A number of critical Python Packages vanish
• Various build scripts fail
Daniel Greenfeld



     Critical Packages
                                                  @pydanny




       Breakdown
                Dark Future
• A number of critical Python Packages vanish
• Various build scripts fail
• Replace from caches/backups
Daniel Greenfeld



     Critical Packages
                                                  @pydanny




       Breakdown
                Dark Future
• A number of critical Python Packages vanish
• Various build scripts fail
• Replace from caches/backups
• Domain Knowledge is gone
Daniel Greenfeld
                        @pydanny




Repercussions
    Dark Future
Daniel Greenfeld
                                  @pydanny




      Repercussions
              Dark Future

• Annoyance
Daniel Greenfeld
                                                   @pydanny




       Repercussions
               Dark Future

• Annoyance
• Ability for Python to move forward HALTS
Daniel Greenfeld
                                                   @pydanny




       Repercussions
               Dark Future

• Annoyance
• Ability for Python to move forward HALTS
• Social Issues
Daniel Greenfeld
                       @pydanny




Not the Future
Daniel Greenfeld
              @pydanny




TODAY
Daniel Greenfeld
                                                       @pydanny




              TODAY

• Legacy code tries to install legacy packages
Daniel Greenfeld
                                                       @pydanny




              TODAY

• Legacy code tries to install legacy packages
• Various build scripts fail
Daniel Greenfeld
                                                       @pydanny




              TODAY

• Legacy code tries to install legacy packages
• Various build scripts fail
• Replace from caches/backups MAYBE!
Daniel Greenfeld
                                                       @pydanny




              TODAY

• Legacy code tries to install legacy packages
• Various build scripts fail
• Replace from caches/backups MAYBE!
• Domain Knowledge is gone
Daniel Greenfeld
                                                          @pydanny




     Library of Alexandria




http://en.wikipedia.org/wiki/File:Ancientlibraryalex.jpg
Daniel Greenfeld
                            @pydanny




Stuff we make today
Daniel Greenfeld
                                 @pydanny




 Stuff we make today




Is legacy within 5 years
Daniel Greenfeld
                     @pydanny




Trust Issues
Daniel Greenfeld
                            @pydanny




Lack of trust makes
 collaboration hard
Daniel Greenfeld
                         @pydanny




No collaboration
  causes the
    NIH
   plague
Daniel Greenfeld
                                                        @pydanny




http://en.wikipedia.org/wiki/File:Zombie-walk-kids.JPG
Daniel Greenfeld
                      @pydanny




Repercussions
  TODAY
Daniel Greenfeld
                              @pydanny




        Repercussions
          TODAY

• Annoyance
Daniel Greenfeld
                                                   @pydanny




         Repercussions
           TODAY

• Annoyance
• Ability for Python to move forward HALTS
Daniel Greenfeld
                                                   @pydanny




         Repercussions
           TODAY

• Annoyance
• Ability for Python to move forward HALTS
• Social issues
Daniel Greenfeld
                      @pydanny




  Solution?

Sponsorships!
Daniel Greenfeld
                                                  @pydanny




        Sponsorships


• Individual, Corporate, Academic, GSOC
• Advance an open source project forward!
Daniel Greenfeld
                                             @pydanny




        Sponsorships
• Python core
• Django
• Plone                  Tons more
• Twisted               I’m missing!

• Read the Docs (PSF)
• WebOb (PSF)
Daniel Greenfeld
                 @pydanny




Problems
Daniel Greenfeld
                              @pydanny




           Problems

• Application process
Daniel Greenfeld
                                              @pydanny




           Problems

• Application process
• Seems focused on short-term development
Daniel Greenfeld
                                              @pydanny




           Problems

• Application process
• Seems focused on short-term development
   • Interns often produce unusable code
Daniel Greenfeld
                                              @pydanny




           Problems

• Application process
• Seems focused on short-term development
   • Interns often produce unusable code
• Ongoing maintenance?
Daniel Greenfeld



       Critical Packages
                                                       @pydanny




         Breakdown
• Legacy code tries to install legacy packages
• Various build scripts fail
• Replace from caches/backups MAYBE!
• Domain Knowledge is gone
Daniel Greenfeld



       Critical Packages
                                                       @pydanny




                     ES
         Breakdown




                    G
                  AN
• Legacy code tries to install legacy packages
• Various build scripts fail
             H
• Replace from caches/backups MAYBE!
     C
• Domain Knowledge is gone
    O
N
Daniel Greenfeld
                                                   @pydanny




         Repercussions


• Annoyance
• Ability for Python to move forward HALTS
• Social issues
Daniel Greenfeld
                                                   @pydanny




         Repercussions




                    ES
                   G
                 AN
• Annoyance
             H
• Ability for Python to move forward HALTS
     C
• Social issues
    O
N
Daniel Greenfeld
                       @pydanny




Same as before
Daniel Greenfeld
                     @pydanny




 Still have
Trust Issues
Daniel Greenfeld
                          @pydanny




    Why should I
collaborate with you?
Daniel Greenfeld
                     @pydanny




Future still
looks dark
Daniel Greenfeld
                     @pydanny




So now what?
Daniel Greenfeld
                       @pydanny




     Solution?

Community Managers
Daniel Greenfeld
                           @pydanny




Community Managers
Daniel Greenfeld
                                                    @pydanny




 Community Managers

• David Eaves DjangoCon 2011 Keynote
   • http://bit.ly/djangocon-keynote-2011-1
• Makes sure packages are maintained!
Daniel Greenfeld
                 @pydanny




Problems
Daniel Greenfeld
                                      @pydanny




           Problems

• Need core/senior developers
Daniel Greenfeld
                                      @pydanny




           Problems

• Need core/senior developers
• They are already busy
Daniel Greenfeld
                                      @pydanny




           Problems

• Need core/senior developers
• They are already busy
• Who assigns authority?
Daniel Greenfeld




Solution Reconsidered
                                   @pydanny




PSF Paid Community Manager
Daniel Greenfeld




   Solution Reconsidered
                                      @pydanny




   PSF Paid Community Manager

• Reasonable pay
Daniel Greenfeld




   Solution Reconsidered
                                                      @pydanny




   PSF Paid Community Manager

• Reasonable pay
• Works with PyPI team to do package curation
Daniel Greenfeld




   Solution Reconsidered
                                                       @pydanny




   PSF Paid Community Manager

• Reasonable pay
• Works with PyPI team to do package curation
• Helps project leads if they need to hand off
Daniel Greenfeld




   Solution Reconsidered
                                                       @pydanny




   PSF Paid Community Manager

• Reasonable pay
• Works with PyPI team to do package curation
• Helps project leads if they need to hand off
• Broadcasts so the community knows about it
Daniel Greenfeld




    Solution Reconsidered
                                               @pydanny




   PSF Paid Community Manager

• Performance reviews
• Term limits
• Great resume material
• Volunteers have different priorities
Daniel Greenfeld
                 @pydanny




Increase
   of
  Trust
Daniel Greenfeld
                             @pydanny




     This makes
collaboration easier
Daniel Greenfeld
                            @pydanny




The Brighter Future
Daniel Greenfeld



     Critical Packages
                                                  @pydanny




       Breakdown
                   Today
• A number of critical Python Packages vanish
• Various build scripts fail
• Replace from caches/backups
• Domain Knowledge is gone
Daniel Greenfeld



     Critical Packages
                                                  @pydanny




       Breakdown
                   Future

• A number of critical Python Packages vanish
• Various build scripts continue
• Domain Knowledge is at risk
Daniel Greenfeld
                                                   @pydanny




       Repercussions
                  Today

• Annoyance
• Ability for Python to move forward HALTS
• Social Issues
Daniel Greenfeld
                                                   @pydanny




       Repercussions
                  Future

• Annoyance
• Ability for Python to move forward slows
• Mitigated Social Issues
Daniel Greenfeld
                   @pydanny




Precedents
Daniel Greenfeld
                                   @pydanny




          Precedents

• Ubuntu Community Manager
Daniel Greenfeld
                                                  @pydanny




           Precedents

• Ubuntu Community Manager
• Isn’t there a Fedora Community Manager?
Daniel Greenfeld
                                                  @pydanny




           Precedents

• Ubuntu Community Manager
• Isn’t there a Fedora Community Manager?
• Twilio Community Managers
Daniel Greenfeld
               @pydanny




But...
Daniel Greenfeld
                    @pydanny




I want more
Daniel Greenfeld
                              @pydanny




More reasons to trust
Daniel Greenfeld
                        @pydanny




More incentives
to collaborate