Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Analyzing free software development projects

Analyzing free software development projects

Presentation showing a preliminar analysis of the Joomla development community (and a quick preview of the LibreOffice development community) based on the data publicly available in their git and bug tracking repositories. The presentation was a part of the Focus Open Source Group meeting, that was held in Rome in June 4th 2012.

More Decks by Jesus M. Gonzalez-Barahona

Other Decks in Technology

Transcript

  1. Analyzing free software development projects Jesus M. Gonzalez-Barahona [email protected] http://identi.ca/jgbarah

    http://twitter.com/jgbarah Bitergia GSyC/LibreSoft, Universidad Rey Juan Carlos Focus Open Source Group, Rome, June 4th, 2012 Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 1 / 22
  2. c 2012 Bitergia Some rights reserved. This presentation is distributed

    under the “Attribution-ShareAlike 3.0” license, by Creative Commons, available at http://creativecommons.org/licenses/by-sa/3.0/ Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 2 / 22
  3. GSyC/LibreSoft Research group at Universidad Rey Juan Carlos About 20

    persons, including students Focus on FLOSS (free, libre, open source software) One of the main research lines: Understanding FLOSS development Quantitative, empirical approach Based on data retrieved from FLOSS development repositories Participating in several R&D projects http://libresoft.es Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 3 / 22
  4. Bitergia: an spin-off Company starting operations in June 2012 Building

    on the experience of LibreSoft Offering professional products and services Focused on: Metrics about software developent (including community metrics) Specialized support for development forges (including metrics for projects) http://bitergia.com Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 4 / 22
  5. Analyzing Joomla (preliminary work) Content management framework Source code management

    repositories: git: git://github.com/joomla/joomla-cms.git git: git://github.com/joomla/joomla-platform.git From: 2005-09-15 04:11:08 To: 2012-05-20 11:36:34 20,605 commits, 215 committers Issue tracking repository: Github: https://api.github.com/repos/joomla/joomla-cms/issues Github: https: //api.github.com/repos/joomla/joomla-platform/issues Retrieved on: 2012-06-03 First submitter on: 2011-08-24 15:25:25 1,464 issue reports (including pull requests) http://joomla.org/ Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 5 / 22
  6. Commits per month Time Commits 2006 2007 2008 2009 2010

    2011 2012 0 200 400 600 Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 6 / 22
  7. Committers per month Time Committers 2006 2007 2008 2009 2010

    2011 2012 0 10 20 30 Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 7 / 22
  8. Commits per committer per month Time Commits per committer 2006

    2007 2008 2009 2010 2011 2012 0 10 30 50 Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 8 / 22
  9. Commits per committer per month (3D) Committer Month Commits 0

    50 100 150 200 20 30 0 40 20 60 80 10 Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 9 / 22
  10. Commits per month (master branch) Time Commits (branch 1) 2006

    2007 2008 2009 2010 2011 2012 0 200 400 Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 10 / 22
  11. Lines added & removed per month (master branch) Time Branch

    1: Lines added (black) / removed (green) 2006 2007 2008 2009 2010 2011 2012 0 100000 250000 Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 11 / 22
  12. Files involved in each commit, mean per month (master branch)

    Time Branch 1: Lines added (black) / removed (green) 2006 2007 2008 2009 2010 2011 2012 0 100000 250000 Time Files changed per commit 2006 2007 2008 2009 2010 2011 2012 0 100 200 300 Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 12 / 22
  13. Lines changed per commit, mean per month (master) Time Branch

    1: Lines added (black) / removed (green) 2006 2007 2008 2009 2010 2011 2012 0 100000 250000 Time Lines changed per commit (mean per month) 2006 2007 2008 2009 2010 2011 2012 0 50 150 250 Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 13 / 22
  14. Lines added & removed per file per month (master branch)

    Time ranch 1 (per change): Lines added (black) / removed (green 2006 2007 2008 2009 2010 2011 2012 0 40 80 120 Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 14 / 22
  15. Density distribution of commit size (master branch) 0 1 2

    3 0.0 0.5 1.0 1.5 Log 10 scale Probability density Files (black), lines added (red), lines removed (green) Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 15 / 22
  16. Companies of committers to Joomla Freelance Newlifeinit Ebay Timble Volunteer

    University Unknown Rockettheme Kontentdesign Popcliq Ezsystems Nbcuniversal Rmdstudios Lighthost Holidaycheckag Syncleon Outer ring: commits / Inner ring: committers Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 16 / 22
  17. Issues Time to fix bugs Time to fix (days) Density

    0 50 100 150 200 250 300 0.0 0.2 0.4 0.6 Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 17 / 22
  18. Issues Quickly fixed Time to fix (days) Density 0 5

    10 15 20 25 30 0.0 0.4 0.8 Slowly fixed Time to fix (days) Density 0 50 100 150 200 250 300 350 0.000 0.003 0.006 Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 18 / 22
  19. Issues 0 10 20 30 40 50 0 20 40

    60 Open and closed bugs Weeks bugs Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 19 / 22
  20. Sidenote: the history of OpenOffice.org / LibreOffice [Very preliminary, as

    found in the LibreOffice repository, 2000-2012] Commits Committer 0 Month 200 400 600 800 1000 50 100 150 0 0 20 40 60 80 [Contributions of more than 1,000 commits trimmed] Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 20 / 22
  21. In summary FLOSS development repositories have a wealth of information

    Their analysis is potentially interested to any stakeholder Getting the data out of the repository is not that difficult... ...but analysis may be We’re interested in deep analysis We’re interested in working with developers, managers, users Which aspects of your project would you like to know? Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 21 / 22
  22. This is the end Have you learned something useful? [I

    would love to know what interested you the most] [...and the least] Jesus Gonzalez-Barahona (Bitergia) Analyzing free software development projects Focus Open Source 2012 22 / 22