SlideShare a Scribd company logo
1 of 32
Download to read offline
Open Source Community Metrics
Tips and Techniques for Measuring Participation


               LinuxCon Barcelona
                 November 2012

                  Dawn M. Foster
          Community Manager at Puppet Labs

                    @geekygirldawn
                dawn@puppetlabs.com
                   puppetlabs.com

     Presentation Available Here: fastwonderblog.com
Stuff I'll Talk About

  ●   What, why and example metrics
  ●   Coming up with the right metrics
  ●   Tips and techniques for collecting metrics
  ●   Sharing metrics and highlighting community members




                                    Photo: http://www.flickr.com/photos/falcifer/3136673599

                                2
Community Definition

 ●    Community includes all of the people who work on the project
       ●   Product contributors: developers, release managers, quality
           assurance, localization, etc.
       ●   Other developers: writing applications, modules, extensions, etc.
       ●   Users: people who run your software and provide feedback
       ●   Vendors: companies with products / services based on your project
       ●   Other contributors: promotion, moderation, documentation and more


     Some people contribute as part of their employment at companies,
     while others contribute free time. The community includes all of the
                   people who are working on your project.




                                         3
Metrics are Useful for Open Source Projects

  ●   Measure progress in your community over time
  ●   Who contributes
  ●   Where are people contributing
  ●   Spot trends
  ●   Gauge interest
  ●   Learn more about key contributors
  ●   Recognize contributions




                                4
Example: Components of an Open Source Community




                        5       http://www.flickr.com/photos/korou/2586472234
Example: Puppet Metrics October 2012
                          Summary
       4864 members & 1249 messages in Puppet-Users
        899 members and 157 messages in Puppet-Dev
              916 nicks on #puppet IRC channel
           1731 Puppet Forge users & 577 modules
                   3526 Redmine accounts
             399 forks / 1014 watchers of Puppet


             Six Month Comparison (May 2012)
       3907 Members & 843 messages in Puppet-Users
        751 Members and 242 Messages in Puppet-Dev
              739 Nicks on #puppet IRC Channel
            1012 Forge Users & 310 Forge Modules
                   2783 Redmine Accounts
              298 Forks / 696 Watchers of Puppet

http://PuppetLabs.com/community/metrics
                           6
Example: June 2011 MeeGo Community Metrics Summary
• 439,963 unique people visited this month (430,070 last month).
 – 1,796,288 pageviews (1,857,907 last month); 599,573 total visits (597,658 last month)
• 25,801 people are members of MeeGo.com (was 24,019 last month)
 – Dev ML subscribers = 4772; Community = 3736; iL10N = 2607; SDK = 3197
• Mailing Lists: 5890 posts this month; 200 people posted 2+ msgs
• Forums: 2255 posts. 242 people posted 2+ messages
• New Bugs Created: 1938; Bugs Resolved: 2871
• Downloads: 52,627 1.2 Netbook, 626 1.2 IVI, 1505 1.1 N900, 3072 Tablet
• Active Users: Estimated at 800 – 1000 people.
 – Mailing Lists: 302 people with unique email addresses posted (308 last month)
 – Forums: 412 people posted at least one item (262 last month)
 – Bugzilla: 773 people performed some action (624 last month)
 – Wiki: 276 edited the wiki (205 last month)
 – IRC: 410-520 people logged into #meego simultaneously most days



                 http://wiki.meego.com/Metrics
                                             7
What are the Right Metrics for YOUR Project

 ●   Goals
     ●   What are your overall goals for the project?
     ●   How can you measure progress toward those goals?
     ●   What is important to you and your progress?
 ●   Trends
     ●   What should you measure to recognize trends?
     ●   How do you recognize when something is going wrong?
     ●   Do you notice big improvements?




                  Note: I measure way too much
                                  8          http://www.flickr.com/photos/bandfan/5548675317/
Mailing Lists: mlstats

  Mailing List Stats is a command line tool used to analyze
   mailing list archives. It downloads the archives, places
 them in a directory and stores all the information contained
           in each mailing list post into a database




                http://libresoft.es/tools/mlstats


                               9
Mailing Lists: mlstats for LibreOffice Developer List
●   Grab data from your mailing & store in db (repeat per ML)
       –   mlstats --db-user=root --db-password=
           http://lists.freedesktop.org/archives/libreoffice/
●   Top Content Query: All or By Month
       –   select subject, count(*) as c from messages group by subject
           order by c;
       –   select subject,monthname(first_date) as m, year(first_date) as
           y, count(*) as c from messages group by subject,
           month(first_date) order by y, m, c;
●   Top Poster Query
       –   select p.email_address,count(*) as c from messages as
           m,messages_people as p where
           m.message_id=p.message_ID group by p.email_address
           order by c;


                                       10
Mailing Lists: LibreOffice Top Content Result (graphed)
                                              [Libreoffice] LibreOffice WikiHelp
                                           [Libreoffice] Assertions and Logging
                       [ANN] Please use Gerrit from now on for Patch Review
                             [Bug 35673] LibreOffice 3.4 most annoying bugs
                                                        [Libreoffice] (no subject)
                                               Static src analysis of LibreOffice
                                   [Libreoffice] minutes of tech. steering call ...
                                   [Libreoffice] minutes of tech steering call ...
                                                              License statement
                                                                       No subject
[Libreoffice] [Bug 31865] [Task]: LibreOffice 3.3 release blockersnt/ stoppers
                                                          minutes of ESC call ...
                             [Bug 44446] LibreOffice 3.6 most annoying bugs
                                                                                                          Bugzilla Auto-posts
                 [Libreoffice] [Bug 37361] LibreOffice 3.5 most annoying bugs
                             [Bug 37361] LibreOffice 3.5 most annoying bugs
                 [Libreoffice] [Bug 35673] LibreOffice 3.4 most annoying bugs

                                                                                      0   100 200 300 400 500 600 700




                        What are people talking about?
                                                               11
Mailing Lists: LibreOffice Top Posters Result
               caolanm@redhat.com                2222
               bugzilla-daemon@freedesktop.org   1929
               michael.meeks@suse.com            1521
               michael.meeks@novell.com          1434
               sbergman@redhat.com               1224
               gerrit@gerrit.libreoffice.org     1076
               pmladek@suse.cz                    972
               nthiebaud@gmail.com                942
               thb@documentfoundation.org         880
               kendy@suse.cz                      776
               bjoern.michaelsen@canonical.com    723
               mstahl@redhat.com                  689
               serval2412@yahoo.fr                638
               kyoshida@novell.com                612
               tml@iki.fi                         556
               dtardon@redhat.com                 491
               l.lunak@suse.cz                    490
               oolst@nouenoff.nl                  474
               timar74@gmail.com                  473


      Who contributes to ML discussions?
                                        12
Google Groups Mailing Lists
●   Sigh ...
    ●   No API, no clean way to download data.
    ●   Stats page wipes stats for top monthly contributors to zero
        1st of month.
●   Working on a custom project in Ruby that
    ●   wgets the stats html page on the last day of every month.
    ●   regex & lots of custom code to find the data I care about.
    ●   output yaml files for number of posts per month & top
        monthly / all time users.
●   Code
    ●   https://github.com/geekygirldawn/metrics_cron



                                   13
Google Groups Mailing Lists: Puppet-Users for October




                          14
Google Groups Mailing Lists
●   Next Steps
    ●   Fix some bugs
        –   inconsistent yaml output format
    ●   Convert sequential command line arguments to options
        –   -d datadir, -c configfilepath, etc.
    ●   Add option to email results
        –   as a command line argument / option -e emailaddress




                                        15
IRC: Multiple Analysis Tools Depending on Log Format

 Generates IRC stats for active people, by hour of the day,
       by day, most used words, quotes and more.


            http://royale.zerezo.com/irssistats/
                http://pisg.sourceforge.net/
        http://code.google.com/p/superseriousstats/




                            16
IRC




      17
IRC




      18
IRC




      19
Code Contributions: gitdm




           http://go.linuxfoundation.org/who-writes-linux-2012
                              April 2012 Data
                                    20
Code Contributions: Ohloh




                 http://www.ohloh.net/p/puppet

                               21
New Contributors: Ohloh




                 http://www.ohloh.net/p/puppet

                               22
Recent Commits with Filter: Ohloh




                  http://www.ohloh.net/puppet

                               23
Bugs

 ●   New bugs vs. resolved bugs
     ●   Can't just look at monthly trends
     ●   Need to take release cycle into account
     ●   Before release: more resolved bugs
     ●   After release: more new bugs
 ●   Participants
     ●   People who file new bugs
     ●   Participate in bugs (comment, etc.)
     ●   Careful with people who resolve bugs (usually QA)




                                       Image: http://www.thegeekstuff.com/2010/05/install-bugzilla-on-linux/

                                  24
Media Wiki




             25
Media Wiki

 ●   Get Statistics
     ●   http://wiki.meego.com/Special:Statistics
     ●   http://wiki.meego.com/api.php?
         action=query&meta=siteinfo&siprop=statistics&format=ya
         mlfm




                                 26
Website: Google Analytics




              Nokia Announcement
Roadmaps           Mobile World Congress




Source: Google Analytics
(excludes wiki prior to Dec 21)



                                           27
Automate: Scripts & Business Intelligence
 ●   A less than elegant method (figure out what you want)
     ●   Giant bash script
     ●   Uses wget, awk, mysql queries, etc.
     ●   Dumps a bunch of csv files on my hard drive
 ●   A better dashboard approach (WIP)
     ●   Open source metrics dashboard (business intelligence)
     ●   Uses Pentaho for reporting, runs regularly and produces a
         dashboard anyone can view at any time
     ●   http://www.webdetails.pt/




                                 28
Automate: Custom Code + Graphite
 ●   What we have now at Puppet
 ●   Lots of custom Ruby code
 ●   2 Projects:
     ●   Gather: Gathers data from
         various sources
     ●   Metrics: Calls Gather and
         displays output using Graphite
 ●   Generates one image file per graph plus a yaml file with
     min / max metadata
 ●   Uses Graphite Render URL API to display data
     ●   http://graphite.readthedocs.org/en/0.9.10/render_api.html
 ●   I manually add arrows to explain bumps in graphs

                                 29
Example: Custom Code + Graphite




                        30
Now What?

 ●   Report Regularly
     ●   Monthly – may be too often
     ●   Quarterly? Yearly?
 ●   Share the reports with the
     community
     ●   http://puppetlabs.com/community/metrics
     ●   http://wiki.meego.com/Metrics
     ●   https://www.tizen.org/community/community
         -metrics
 ●   Recognize
     ●   Recognize your top contributors
                                                   http://www.flickr.com/photos/play4smee/2439494411/




                                         31
Dawn Foster
Community Manager at Puppet Labs

         @geekygirldawn

     dawn@puppetlabs.com




       http://www.flickr.com/photos/tlk/5630885373/

More Related Content

What's hot

VTLS: 8 Years Experience with FRBR & RDA
VTLS: 8 Years Experience with FRBR & RDAVTLS: 8 Years Experience with FRBR & RDA
VTLS: 8 Years Experience with FRBR & RDAVTLS Inc
 
Graph and RDF databases
Graph and RDF databasesGraph and RDF databases
Graph and RDF databasesNassim Bahri
 
SFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for Business
SFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for BusinessSFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for Business
SFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for BusinessLucidworks (Archived)
 
20100614 ISWSA Keynote
20100614 ISWSA Keynote20100614 ISWSA Keynote
20100614 ISWSA KeynoteAxel Polleres
 
Synchronicity: Just-In-Time Discovery of Lost Web Pages
Synchronicity: Just-In-Time Discovery of Lost Web PagesSynchronicity: Just-In-Time Discovery of Lost Web Pages
Synchronicity: Just-In-Time Discovery of Lost Web PagesMichael Nelson
 
Open Source Search Tools for www2010 conferencesourcesearchtoolswww20100426dA...
Open Source Search Tools for www2010 conferencesourcesearchtoolswww20100426dA...Open Source Search Tools for www2010 conferencesourcesearchtoolswww20100426dA...
Open Source Search Tools for www2010 conferencesourcesearchtoolswww20100426dA...Ted Drake
 

What's hot (7)

VTLS: 8 Years Experience with FRBR & RDA
VTLS: 8 Years Experience with FRBR & RDAVTLS: 8 Years Experience with FRBR & RDA
VTLS: 8 Years Experience with FRBR & RDA
 
Graph and RDF databases
Graph and RDF databasesGraph and RDF databases
Graph and RDF databases
 
SFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for Business
SFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for BusinessSFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for Business
SFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for Business
 
20100614 ISWSA Keynote
20100614 ISWSA Keynote20100614 ISWSA Keynote
20100614 ISWSA Keynote
 
Synchronicity: Just-In-Time Discovery of Lost Web Pages
Synchronicity: Just-In-Time Discovery of Lost Web PagesSynchronicity: Just-In-Time Discovery of Lost Web Pages
Synchronicity: Just-In-Time Discovery of Lost Web Pages
 
637_ky
637_ky637_ky
637_ky
 
Open Source Search Tools for www2010 conferencesourcesearchtoolswww20100426dA...
Open Source Search Tools for www2010 conferencesourcesearchtoolswww20100426dA...Open Source Search Tools for www2010 conferencesourcesearchtoolswww20100426dA...
Open Source Search Tools for www2010 conferencesourcesearchtoolswww20100426dA...
 

Similar to Open Source Community Metrics: LinuxCon Barcelona

Open source community metrics
Open source community metricsOpen source community metrics
Open source community metricsDawn Foster
 
Crunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONCrunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONDawn Foster
 
Crunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsCrunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsDawn Foster
 
A Peek Behind the Curtain: Managing the Kubernetes Contributor Community
A Peek Behind the Curtain: Managing the Kubernetes Contributor CommunityA Peek Behind the Curtain: Managing the Kubernetes Contributor Community
A Peek Behind the Curtain: Managing the Kubernetes Contributor CommunityBob Killen
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4aspyker
 
Socio-technical evolution and migration in the Ruby ecosystem
Socio-technical evolution and migration in the Ruby ecosystemSocio-technical evolution and migration in the Ruby ecosystem
Socio-technical evolution and migration in the Ruby ecosystemTom Mens
 
Building Your First App with Shawn Mcarthy
Building Your First App with Shawn Mcarthy Building Your First App with Shawn Mcarthy
Building Your First App with Shawn Mcarthy MongoDB
 
Community update on flink 1.9 and How to Contribute to Flink
Community update on flink 1.9 and How to Contribute to FlinkCommunity update on flink 1.9 and How to Contribute to Flink
Community update on flink 1.9 and How to Contribute to FlinkBowen Li
 
DITA on a Shoe String
DITA on a Shoe StringDITA on a Shoe String
DITA on a Shoe StringStan Doherty
 
Guidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in EvergreenGuidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in Evergreenloriayre
 
Hyperkitty: Updating Mailman's UI
Hyperkitty: Updating Mailman's UIHyperkitty: Updating Mailman's UI
Hyperkitty: Updating Mailman's UIMáirín Duffy
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntfUlrich Krause
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersDeepikaRana30
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupChris Aniszczyk
 
Apache Software Foundation: How To Contribute, with Apache Flink as Example (...
Apache Software Foundation: How To Contribute, with Apache Flink as Example (...Apache Software Foundation: How To Contribute, with Apache Flink as Example (...
Apache Software Foundation: How To Contribute, with Apache Flink as Example (...Apache Flink Taiwan User Group
 
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13Dominopoint - Italian Lotus User Group
 
Devry CIS 246 Full Course Latest
Devry CIS 246 Full Course LatestDevry CIS 246 Full Course Latest
Devry CIS 246 Full Course LatestAtifkhilji
 

Similar to Open Source Community Metrics: LinuxCon Barcelona (20)

Open source community metrics
Open source community metricsOpen source community metrics
Open source community metrics
 
Crunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONCrunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCON
 
Crunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsCrunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community Metrics
 
A Peek Behind the Curtain: Managing the Kubernetes Contributor Community
A Peek Behind the Curtain: Managing the Kubernetes Contributor CommunityA Peek Behind the Curtain: Managing the Kubernetes Contributor Community
A Peek Behind the Curtain: Managing the Kubernetes Contributor Community
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4
 
Socio-technical evolution and migration in the Ruby ecosystem
Socio-technical evolution and migration in the Ruby ecosystemSocio-technical evolution and migration in the Ruby ecosystem
Socio-technical evolution and migration in the Ruby ecosystem
 
Building Your First App with Shawn Mcarthy
Building Your First App with Shawn Mcarthy Building Your First App with Shawn Mcarthy
Building Your First App with Shawn Mcarthy
 
Community update on flink 1.9 and How to Contribute to Flink
Community update on flink 1.9 and How to Contribute to FlinkCommunity update on flink 1.9 and How to Contribute to Flink
Community update on flink 1.9 and How to Contribute to Flink
 
DITA on a Shoe String
DITA on a Shoe StringDITA on a Shoe String
DITA on a Shoe String
 
Final Algos
Final AlgosFinal Algos
Final Algos
 
Guidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in EvergreenGuidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in Evergreen
 
Hyperkitty: Updating Mailman's UI
Hyperkitty: Updating Mailman's UIHyperkitty: Updating Mailman's UI
Hyperkitty: Updating Mailman's UI
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntf
 
Raising the Bar
Raising the BarRaising the Bar
Raising the Bar
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
 
Apache Software Foundation: How To Contribute, with Apache Flink as Example (...
Apache Software Foundation: How To Contribute, with Apache Flink as Example (...Apache Software Foundation: How To Contribute, with Apache Flink as Example (...
Apache Software Foundation: How To Contribute, with Apache Flink as Example (...
 
Django
DjangoDjango
Django
 
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
 
Devry CIS 246 Full Course Latest
Devry CIS 246 Full Course LatestDevry CIS 246 Full Course Latest
Devry CIS 246 Full Course Latest
 

More from Dawn Foster

CHAOSS Metrics Overview and Examples
CHAOSS Metrics Overview and ExamplesCHAOSS Metrics Overview and Examples
CHAOSS Metrics Overview and ExamplesDawn Foster
 
Be a Good Corporate Citizen in Kubernetes
Be a Good Corporate Citizen in KubernetesBe a Good Corporate Citizen in Kubernetes
Be a Good Corporate Citizen in KubernetesDawn Foster
 
Overcoming Imposter Syndrome to Become a Conference Speaker!
Overcoming Imposter Syndrome to Become a Conference Speaker!Overcoming Imposter Syndrome to Become a Conference Speaker!
Overcoming Imposter Syndrome to Become a Conference Speaker!Dawn Foster
 
How to Be a Good Corporate Citizen in Open Source
How to Be a Good Corporate Citizen in Open SourceHow to Be a Good Corporate Citizen in Open Source
How to Be a Good Corporate Citizen in Open SourceDawn Foster
 
Open Source Collaboration and Companies: Finding the Right Balance
Open Source Collaboration and Companies: Finding the Right BalanceOpen Source Collaboration and Companies: Finding the Right Balance
Open Source Collaboration and Companies: Finding the Right BalanceDawn Foster
 
Navigating Open Source Risk
Navigating Open Source RiskNavigating Open Source Risk
Navigating Open Source RiskDawn Foster
 
Measuring Project Health at VMware
Measuring Project Health at VMwareMeasuring Project Health at VMware
Measuring Project Health at VMwareDawn Foster
 
Navigating Open Source Risk
Navigating Open Source RiskNavigating Open Source Risk
Navigating Open Source RiskDawn Foster
 
Collaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationCollaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationDawn Foster
 
Collaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationCollaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationDawn Foster
 
Collaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationCollaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationDawn Foster
 
Collaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationCollaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationDawn Foster
 
Is this Open Source Project Healthy or Lifeless?
Is this Open Source Project Healthy or Lifeless?Is this Open Source Project Healthy or Lifeless?
Is this Open Source Project Healthy or Lifeless?Dawn Foster
 
Collaboration in Linux Kernel Mailing Lists
Collaboration in Linux Kernel Mailing Lists Collaboration in Linux Kernel Mailing Lists
Collaboration in Linux Kernel Mailing Lists Dawn Foster
 
Be a Good Corporate Citizen in Kubernetes
Be a Good Corporate Citizen in KubernetesBe a Good Corporate Citizen in Kubernetes
Be a Good Corporate Citizen in KubernetesDawn Foster
 
Being a Good Corporate Citizen in Open Source
Being a Good Corporate Citizen in Open SourceBeing a Good Corporate Citizen in Open Source
Being a Good Corporate Citizen in Open SourceDawn Foster
 
Building Community for your Company’s OSS Projects
Building Community for your Company’s OSS ProjectsBuilding Community for your Company’s OSS Projects
Building Community for your Company’s OSS ProjectsDawn Foster
 
Building Community for your Company’s OSS Project
Building Community for your Company’s OSS ProjectBuilding Community for your Company’s OSS Project
Building Community for your Company’s OSS ProjectDawn Foster
 
How to be a terrible hiring manager
How to be a terrible hiring managerHow to be a terrible hiring manager
How to be a terrible hiring managerDawn Foster
 
A week in the Life of Kubernetes
A week in the Life of KubernetesA week in the Life of Kubernetes
A week in the Life of KubernetesDawn Foster
 

More from Dawn Foster (20)

CHAOSS Metrics Overview and Examples
CHAOSS Metrics Overview and ExamplesCHAOSS Metrics Overview and Examples
CHAOSS Metrics Overview and Examples
 
Be a Good Corporate Citizen in Kubernetes
Be a Good Corporate Citizen in KubernetesBe a Good Corporate Citizen in Kubernetes
Be a Good Corporate Citizen in Kubernetes
 
Overcoming Imposter Syndrome to Become a Conference Speaker!
Overcoming Imposter Syndrome to Become a Conference Speaker!Overcoming Imposter Syndrome to Become a Conference Speaker!
Overcoming Imposter Syndrome to Become a Conference Speaker!
 
How to Be a Good Corporate Citizen in Open Source
How to Be a Good Corporate Citizen in Open SourceHow to Be a Good Corporate Citizen in Open Source
How to Be a Good Corporate Citizen in Open Source
 
Open Source Collaboration and Companies: Finding the Right Balance
Open Source Collaboration and Companies: Finding the Right BalanceOpen Source Collaboration and Companies: Finding the Right Balance
Open Source Collaboration and Companies: Finding the Right Balance
 
Navigating Open Source Risk
Navigating Open Source RiskNavigating Open Source Risk
Navigating Open Source Risk
 
Measuring Project Health at VMware
Measuring Project Health at VMwareMeasuring Project Health at VMware
Measuring Project Health at VMware
 
Navigating Open Source Risk
Navigating Open Source RiskNavigating Open Source Risk
Navigating Open Source Risk
 
Collaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationCollaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company Affiliation
 
Collaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationCollaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company Affiliation
 
Collaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationCollaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company Affiliation
 
Collaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationCollaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company Affiliation
 
Is this Open Source Project Healthy or Lifeless?
Is this Open Source Project Healthy or Lifeless?Is this Open Source Project Healthy or Lifeless?
Is this Open Source Project Healthy or Lifeless?
 
Collaboration in Linux Kernel Mailing Lists
Collaboration in Linux Kernel Mailing Lists Collaboration in Linux Kernel Mailing Lists
Collaboration in Linux Kernel Mailing Lists
 
Be a Good Corporate Citizen in Kubernetes
Be a Good Corporate Citizen in KubernetesBe a Good Corporate Citizen in Kubernetes
Be a Good Corporate Citizen in Kubernetes
 
Being a Good Corporate Citizen in Open Source
Being a Good Corporate Citizen in Open SourceBeing a Good Corporate Citizen in Open Source
Being a Good Corporate Citizen in Open Source
 
Building Community for your Company’s OSS Projects
Building Community for your Company’s OSS ProjectsBuilding Community for your Company’s OSS Projects
Building Community for your Company’s OSS Projects
 
Building Community for your Company’s OSS Project
Building Community for your Company’s OSS ProjectBuilding Community for your Company’s OSS Project
Building Community for your Company’s OSS Project
 
How to be a terrible hiring manager
How to be a terrible hiring managerHow to be a terrible hiring manager
How to be a terrible hiring manager
 
A week in the Life of Kubernetes
A week in the Life of KubernetesA week in the Life of Kubernetes
A week in the Life of Kubernetes
 

Recently uploaded

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Open Source Community Metrics: LinuxCon Barcelona

  • 1. Open Source Community Metrics Tips and Techniques for Measuring Participation LinuxCon Barcelona November 2012 Dawn M. Foster Community Manager at Puppet Labs @geekygirldawn dawn@puppetlabs.com puppetlabs.com Presentation Available Here: fastwonderblog.com
  • 2. Stuff I'll Talk About ● What, why and example metrics ● Coming up with the right metrics ● Tips and techniques for collecting metrics ● Sharing metrics and highlighting community members Photo: http://www.flickr.com/photos/falcifer/3136673599 2
  • 3. Community Definition ● Community includes all of the people who work on the project ● Product contributors: developers, release managers, quality assurance, localization, etc. ● Other developers: writing applications, modules, extensions, etc. ● Users: people who run your software and provide feedback ● Vendors: companies with products / services based on your project ● Other contributors: promotion, moderation, documentation and more Some people contribute as part of their employment at companies, while others contribute free time. The community includes all of the people who are working on your project. 3
  • 4. Metrics are Useful for Open Source Projects ● Measure progress in your community over time ● Who contributes ● Where are people contributing ● Spot trends ● Gauge interest ● Learn more about key contributors ● Recognize contributions 4
  • 5. Example: Components of an Open Source Community 5 http://www.flickr.com/photos/korou/2586472234
  • 6. Example: Puppet Metrics October 2012 Summary 4864 members & 1249 messages in Puppet-Users 899 members and 157 messages in Puppet-Dev 916 nicks on #puppet IRC channel 1731 Puppet Forge users & 577 modules 3526 Redmine accounts 399 forks / 1014 watchers of Puppet Six Month Comparison (May 2012) 3907 Members & 843 messages in Puppet-Users 751 Members and 242 Messages in Puppet-Dev 739 Nicks on #puppet IRC Channel 1012 Forge Users & 310 Forge Modules 2783 Redmine Accounts 298 Forks / 696 Watchers of Puppet http://PuppetLabs.com/community/metrics 6
  • 7. Example: June 2011 MeeGo Community Metrics Summary • 439,963 unique people visited this month (430,070 last month). – 1,796,288 pageviews (1,857,907 last month); 599,573 total visits (597,658 last month) • 25,801 people are members of MeeGo.com (was 24,019 last month) – Dev ML subscribers = 4772; Community = 3736; iL10N = 2607; SDK = 3197 • Mailing Lists: 5890 posts this month; 200 people posted 2+ msgs • Forums: 2255 posts. 242 people posted 2+ messages • New Bugs Created: 1938; Bugs Resolved: 2871 • Downloads: 52,627 1.2 Netbook, 626 1.2 IVI, 1505 1.1 N900, 3072 Tablet • Active Users: Estimated at 800 – 1000 people. – Mailing Lists: 302 people with unique email addresses posted (308 last month) – Forums: 412 people posted at least one item (262 last month) – Bugzilla: 773 people performed some action (624 last month) – Wiki: 276 edited the wiki (205 last month) – IRC: 410-520 people logged into #meego simultaneously most days http://wiki.meego.com/Metrics 7
  • 8. What are the Right Metrics for YOUR Project ● Goals ● What are your overall goals for the project? ● How can you measure progress toward those goals? ● What is important to you and your progress? ● Trends ● What should you measure to recognize trends? ● How do you recognize when something is going wrong? ● Do you notice big improvements? Note: I measure way too much 8 http://www.flickr.com/photos/bandfan/5548675317/
  • 9. Mailing Lists: mlstats Mailing List Stats is a command line tool used to analyze mailing list archives. It downloads the archives, places them in a directory and stores all the information contained in each mailing list post into a database http://libresoft.es/tools/mlstats 9
  • 10. Mailing Lists: mlstats for LibreOffice Developer List ● Grab data from your mailing & store in db (repeat per ML) – mlstats --db-user=root --db-password= http://lists.freedesktop.org/archives/libreoffice/ ● Top Content Query: All or By Month – select subject, count(*) as c from messages group by subject order by c; – select subject,monthname(first_date) as m, year(first_date) as y, count(*) as c from messages group by subject, month(first_date) order by y, m, c; ● Top Poster Query – select p.email_address,count(*) as c from messages as m,messages_people as p where m.message_id=p.message_ID group by p.email_address order by c; 10
  • 11. Mailing Lists: LibreOffice Top Content Result (graphed) [Libreoffice] LibreOffice WikiHelp [Libreoffice] Assertions and Logging [ANN] Please use Gerrit from now on for Patch Review [Bug 35673] LibreOffice 3.4 most annoying bugs [Libreoffice] (no subject) Static src analysis of LibreOffice [Libreoffice] minutes of tech. steering call ... [Libreoffice] minutes of tech steering call ... License statement No subject [Libreoffice] [Bug 31865] [Task]: LibreOffice 3.3 release blockersnt/ stoppers minutes of ESC call ... [Bug 44446] LibreOffice 3.6 most annoying bugs Bugzilla Auto-posts [Libreoffice] [Bug 37361] LibreOffice 3.5 most annoying bugs [Bug 37361] LibreOffice 3.5 most annoying bugs [Libreoffice] [Bug 35673] LibreOffice 3.4 most annoying bugs 0 100 200 300 400 500 600 700 What are people talking about? 11
  • 12. Mailing Lists: LibreOffice Top Posters Result caolanm@redhat.com 2222 bugzilla-daemon@freedesktop.org 1929 michael.meeks@suse.com 1521 michael.meeks@novell.com 1434 sbergman@redhat.com 1224 gerrit@gerrit.libreoffice.org 1076 pmladek@suse.cz 972 nthiebaud@gmail.com 942 thb@documentfoundation.org 880 kendy@suse.cz 776 bjoern.michaelsen@canonical.com 723 mstahl@redhat.com 689 serval2412@yahoo.fr 638 kyoshida@novell.com 612 tml@iki.fi 556 dtardon@redhat.com 491 l.lunak@suse.cz 490 oolst@nouenoff.nl 474 timar74@gmail.com 473 Who contributes to ML discussions? 12
  • 13. Google Groups Mailing Lists ● Sigh ... ● No API, no clean way to download data. ● Stats page wipes stats for top monthly contributors to zero 1st of month. ● Working on a custom project in Ruby that ● wgets the stats html page on the last day of every month. ● regex & lots of custom code to find the data I care about. ● output yaml files for number of posts per month & top monthly / all time users. ● Code ● https://github.com/geekygirldawn/metrics_cron 13
  • 14. Google Groups Mailing Lists: Puppet-Users for October 14
  • 15. Google Groups Mailing Lists ● Next Steps ● Fix some bugs – inconsistent yaml output format ● Convert sequential command line arguments to options – -d datadir, -c configfilepath, etc. ● Add option to email results – as a command line argument / option -e emailaddress 15
  • 16. IRC: Multiple Analysis Tools Depending on Log Format Generates IRC stats for active people, by hour of the day, by day, most used words, quotes and more. http://royale.zerezo.com/irssistats/ http://pisg.sourceforge.net/ http://code.google.com/p/superseriousstats/ 16
  • 17. IRC 17
  • 18. IRC 18
  • 19. IRC 19
  • 20. Code Contributions: gitdm http://go.linuxfoundation.org/who-writes-linux-2012 April 2012 Data 20
  • 21. Code Contributions: Ohloh http://www.ohloh.net/p/puppet 21
  • 22. New Contributors: Ohloh http://www.ohloh.net/p/puppet 22
  • 23. Recent Commits with Filter: Ohloh http://www.ohloh.net/puppet 23
  • 24. Bugs ● New bugs vs. resolved bugs ● Can't just look at monthly trends ● Need to take release cycle into account ● Before release: more resolved bugs ● After release: more new bugs ● Participants ● People who file new bugs ● Participate in bugs (comment, etc.) ● Careful with people who resolve bugs (usually QA) Image: http://www.thegeekstuff.com/2010/05/install-bugzilla-on-linux/ 24
  • 26. Media Wiki ● Get Statistics ● http://wiki.meego.com/Special:Statistics ● http://wiki.meego.com/api.php? action=query&meta=siteinfo&siprop=statistics&format=ya mlfm 26
  • 27. Website: Google Analytics Nokia Announcement Roadmaps Mobile World Congress Source: Google Analytics (excludes wiki prior to Dec 21) 27
  • 28. Automate: Scripts & Business Intelligence ● A less than elegant method (figure out what you want) ● Giant bash script ● Uses wget, awk, mysql queries, etc. ● Dumps a bunch of csv files on my hard drive ● A better dashboard approach (WIP) ● Open source metrics dashboard (business intelligence) ● Uses Pentaho for reporting, runs regularly and produces a dashboard anyone can view at any time ● http://www.webdetails.pt/ 28
  • 29. Automate: Custom Code + Graphite ● What we have now at Puppet ● Lots of custom Ruby code ● 2 Projects: ● Gather: Gathers data from various sources ● Metrics: Calls Gather and displays output using Graphite ● Generates one image file per graph plus a yaml file with min / max metadata ● Uses Graphite Render URL API to display data ● http://graphite.readthedocs.org/en/0.9.10/render_api.html ● I manually add arrows to explain bumps in graphs 29
  • 30. Example: Custom Code + Graphite 30
  • 31. Now What? ● Report Regularly ● Monthly – may be too often ● Quarterly? Yearly? ● Share the reports with the community ● http://puppetlabs.com/community/metrics ● http://wiki.meego.com/Metrics ● https://www.tizen.org/community/community -metrics ● Recognize ● Recognize your top contributors http://www.flickr.com/photos/play4smee/2439494411/ 31
  • 32. Dawn Foster Community Manager at Puppet Labs @geekygirldawn dawn@puppetlabs.com http://www.flickr.com/photos/tlk/5630885373/