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


                 FOSDEM 2013


                Dawn M. Foster
           Community Lead at Puppet Labs

                  @geekygirldawn
              dawn@puppetlabs.com
                 puppetlabs.com
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




                                2
Example: Components of an Open Source Community




                        3       http://www.flickr.com/photos/korou/2586472234
Example: Puppet Metrics December 2012
                            Summary
        5131 members and 887 messages in Puppet-Users
         941 members and 108 messages in Puppet-Dev
                919 nicks on #puppet IRC channel
          1942 Puppet Forge accounts and 726 modules
                    3728 Redmine accounts
              444 forks / 1082 watchers of Puppet


              Six Month Comparison (July 2012)
       4420 members and 1198 messages in Puppet-Users
         830 members and 120 messages in Puppet-Dev
               873 nicks on #puppet IRC channel
         1405 Puppet Forge accounts and 442 modules
                   3064 Redmine accounts
              342 Forks / 904 watchers of Puppet


http://PuppetLabs.com/community/metrics
                            4
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
                                             5
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
                                  6          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


                               7
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;


                                       8
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?
                                                                9
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?
                                        10
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/




                            11
IRC




      12
IRC




      13
Code Contributions: Ohloh




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

                               14
New Contributors: Ohloh




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

                               15
Recent Commits with Filter: Ohloh




                  http://www.ohloh.net/puppet

                               16
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/

                                  17
Media Wiki




             18
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




                                 19
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/




                                 20
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

                                 21
Example: Custom Code + Graphite




                        22
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/




                                         23
Dawn Foster
Community Manager at Puppet Labs

         @geekygirldawn

     dawn@puppetlabs.com




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

More Related Content

Similar to Open Source Community Metrics for FOSDEM

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
 
Open source community metrics
Open source community metricsOpen source community metrics
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
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Jody Garnett
 
Building Data Pipelines in Python
Building Data Pipelines in PythonBuilding Data Pipelines in Python
Building Data Pipelines in PythonC4Media
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersDeepikaRana30
 
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
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntfUlrich Krause
 
Using oss and hacker culture at an internet company at osc/tokyo 2014/03/01
Using oss and hacker culture at an internet company at osc/tokyo 2014/03/01Using oss and hacker culture at an internet company at osc/tokyo 2014/03/01
Using oss and hacker culture at an internet company at osc/tokyo 2014/03/01Hiro Yoshioka
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixC4Media
 
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
 
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
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and PythonTravis Oliphant
 
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
 
Using oss at an internet company and hacker culture; Linux Enterprise Users M...
Using oss at an internet company and hacker culture; Linux Enterprise Users M...Using oss at an internet company and hacker culture; Linux Enterprise Users M...
Using oss at an internet company and hacker culture; Linux Enterprise Users M...Hiro Yoshioka
 
Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Henry S
 
Assign, Commit, and Review
Assign, Commit, and ReviewAssign, Commit, and Review
Assign, Commit, and ReviewZhongyue Luo
 

Similar to Open Source Community Metrics for FOSDEM (20)

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
 
Open source community metrics
Open source community metricsOpen source community metrics
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
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
Building Data Pipelines in Python
Building Data Pipelines in PythonBuilding Data Pipelines in Python
Building Data Pipelines in Python
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
 
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
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntf
 
Using oss and hacker culture at an internet company at osc/tokyo 2014/03/01
Using oss and hacker culture at an internet company at osc/tokyo 2014/03/01Using oss and hacker culture at an internet company at osc/tokyo 2014/03/01
Using oss and hacker culture at an internet company at osc/tokyo 2014/03/01
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
 
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
 
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
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and Python
 
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
 
Using oss at an internet company and hacker culture; Linux Enterprise Users M...
Using oss at an internet company and hacker culture; Linux Enterprise Users M...Using oss at an internet company and hacker culture; Linux Enterprise Users M...
Using oss at an internet company and hacker culture; Linux Enterprise Users M...
 
Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1
 
Assign, Commit, and Review
Assign, Commit, and ReviewAssign, Commit, and Review
Assign, Commit, and Review
 

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 State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Recently uploaded (20)

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Open Source Community Metrics for FOSDEM

  • 1. Open Source Community Metrics Tips and Techniques for Measuring Participation FOSDEM 2013 Dawn M. Foster Community Lead at Puppet Labs @geekygirldawn dawn@puppetlabs.com puppetlabs.com
  • 2. 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 2
  • 3. Example: Components of an Open Source Community 3 http://www.flickr.com/photos/korou/2586472234
  • 4. Example: Puppet Metrics December 2012 Summary 5131 members and 887 messages in Puppet-Users 941 members and 108 messages in Puppet-Dev 919 nicks on #puppet IRC channel 1942 Puppet Forge accounts and 726 modules 3728 Redmine accounts 444 forks / 1082 watchers of Puppet Six Month Comparison (July 2012) 4420 members and 1198 messages in Puppet-Users 830 members and 120 messages in Puppet-Dev 873 nicks on #puppet IRC channel 1405 Puppet Forge accounts and 442 modules 3064 Redmine accounts 342 Forks / 904 watchers of Puppet http://PuppetLabs.com/community/metrics 4
  • 5. 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 5
  • 6. 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 6 http://www.flickr.com/photos/bandfan/5548675317/
  • 7. 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 7
  • 8. 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; 8
  • 9. 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? 9
  • 10. 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? 10
  • 11. 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/ 11
  • 12. IRC 12
  • 13. IRC 13
  • 14. Code Contributions: Ohloh http://www.ohloh.net/p/puppet 14
  • 15. New Contributors: Ohloh http://www.ohloh.net/p/puppet 15
  • 16. Recent Commits with Filter: Ohloh http://www.ohloh.net/puppet 16
  • 17. 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/ 17
  • 19. 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 19
  • 20. 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/ 20
  • 21. 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 21
  • 22. Example: Custom Code + Graphite 22
  • 23. 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/ 23
  • 24. Dawn Foster Community Manager at Puppet Labs @geekygirldawn dawn@puppetlabs.com http://www.flickr.com/photos/tlk/5630885373/