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

Development metrics to know about Free Software projects

Development metrics to know about Free Software projects

Bitergia
PRO

October 17, 2012
Tweet

More Decks by Bitergia

Other Decks in Technology

Transcript

  1. Development metrics to know about Free Software
    projects
    Alvaro del Castillo San F´
    elix
    [email protected]
    http://acsblog.es http://twitter.com/acstw
    Bitergia
    Santiago de Compostela (Galicia, Spain), October 17th 2012
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 1 / 27

    View Slide

  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/
    Blog post about this presentation (including link to slides)
    http://blog.bitergia.com/2012/10/17/tomorrow-at-the-lswc12/
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 2 / 27

    View Slide

  3. Free software is (in many cases) special
    Source code available
    Open development model (usually)
    Many details about the internals of the development
    process
    Intense use of tools for coordination
    Lots of information is tracked, and available
    Developers & users communities are important
    sustainability
    pooling of resources
    innovation
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 3 / 27

    View Slide

  4. Measuring, measuring, measuring
    Information about code,
    community, development
    can be retrieved, organized,
    analyzed
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 4 / 27

    View Slide

  5. Who benefits
    Quantitative, objective data: facts, not opinions
    Specific questions can be answered
    Even simple analysis may help stakeholders:
    Developers:
    Understanding, improving development processes
    Users, integrators:
    Long-term sustainability, evolution, reaction to issues
    Investors:
    Attraction of external resources, growth rate
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 5 / 27

    View Slide

  6. But data has to be extracted, mined
    Data lives in repositories not always designed to release all
    their data easily:
    tools are needed to retrieve and extract it
    Data includes many complexities and details
    tools are needed to assist in its mining, analysis
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 6 / 27

    View Slide

  7. The Metrics Grimoire approach
    Set of tools specialized in retrieving information from
    different kinds of repositories. Among them:
    CVSAnalY: source code management (CVS,
    Subversion, git, etc.)
    Bicho: issue tracking systems (Bugzilla, Jira,
    SourceForge, Allura, Launchpad, Google Code, etc.)
    MLStats: mailing lists (mbox files, Mailman archives,
    etc.)
    Store all the information in SQL databases with similar
    structure
    http://metricsgrimoire.github.com
    https://github.com/MetricsGrimoire
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 7 / 27

    View Slide

  8. MetricsGrimoire: CVSAnalY
    Browses an SCM repository producing a database
    with:
    All metainformation (commit records, etc.)
    Metrics for each release of each file
    Also produces some tables suitable for specific analysis
    Multiple SCMs: CVS, svn, git (Bazaar partially)
    Whole history in the database, it’s possible to rebuild
    the files tree for any revision
    Tags and branches support
    Option to save the log to a file while parsing
    Extensions system, incremental capabilities
    Multiple database system support (MySQL and
    SQLite)
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 8 / 27

    View Slide

  9. MetricsGrimoire: CVSAnalY extensions
    Extension: a “plugin” for CVSAnalY
    Add information to the database, based in the
    information in the database and maybe the repository
    Usually: new tables for specific studies
    Simple example: commits per month per commiter
    Extensions add one or more tables to the database but
    they never modify the existing ones
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 9 / 27

    View Slide

  10. MetricsGrimoire: CVSAnalY extensions
    Some examples:
    FileTypes: adds a table containing information about
    the type of every file in the database (code,
    documentation, i18n, etc.)
    Metrics: analyzes every revision of every file
    calculating metrics like sloc and complexity metrics
    (mccabe, halstead). It currently supports metrics for
    C/C++, Python, Java and ADA.
    CommitsLOC: adds a new table with information
    about the total lines added/removed for every commit
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 10 / 27

    View Slide

  11. MetricsGrimoire: Bicho
    Parsing issue tracking systems
    Results stored in a MySQL database
    Information about each issue (ticket), and its
    modifications
    Currently it supports:
    SourceForge (HTML parsing)
    BugZilla: GNOME, KDE, others
    Jira, Google Code, Allura, Launchpad (API)
    Incremental
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 11 / 27

    View Slide

  12. MetricsGrimoire: MailingListStats
    Parses mbox information (RFC 822)
    Deals with Mailman archives
    Stores results (headers, body) in a MySQL database:
    Sender, CCs, etc.
    Time / Date
    Subject
    ...
    Incremental
    Can store multiple projects in a single database
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 12 / 27

    View Slide

  13. Milking the databases
    Once information is retrieved, and in suitable format for
    querying:
    it can be queried directly in the database
    it can be analyzed from R
    it can be filtered, manually inspected, improved
    it can be combined, cross-analyzed
    it can be visualized
    We’re building tools to simplify all of this: vizGrimoire
    https://github.com/VizGrimoire
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 13 / 27

    View Slide

  14. Now, some examples
    Some examples from real projects
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 14 / 27

    View Slide

  15. OpenStack: Opening / closing tickets
    Folsom release cycle, 2012
    http://blog.bitergia.com/2012/09/27/
    how-the-new-release-of-openstack-was-built/
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 15 / 27

    View Slide

  16. OpenStack: Who is developing it?
    Core projects / all projects (Folsom release cycle, 2012)
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 16 / 27

    View Slide

  17. Zentyal (basic analysis)
    Source code management repositories:
    git: git://git.zentyal.org/zentyal
    From: 2005-06-27
    To: 2012-09-10
    Mailing lists:
    Development
    Users
    Announcements
    http://lists.zentyal.com/cgi-bin/mailman/listinfo/
    From: 2010-09-01
    To: 2012-09-30
    http://blog.bitergia.com/2012/10/03/basic-analysis-of-zentyal/
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 17 / 27

    View Slide

  18. Zentyal: Git repository (parameters per month)
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 18 / 27

    View Slide

  19. Zentyal: Mailing lists (Developers, Users)
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 19 / 27

    View Slide

  20. LibrePlan (basic analysis)
    Source code management repositories:
    git: git://git.zentyal.org/zentyal
    From: 2009-04-23
    To: 2012-12-31
    Issue Tracking System:
    bugzilla: http://bugs.libreplan.org/
    From: 2009-10-04
    To: 2012-10-01
    http://blog.bitergia.com/2012/10/03/basic-analysis-of-zentyal/
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 20 / 27

    View Slide

  21. LibrePlan: Git repository (parameters per month)
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 21 / 27

    View Slide

  22. LibrePlan: Bugzilla repository (parameters per month)
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 22 / 27

    View Slide

  23. All of this can be integrated...
    Dashboards
    Forges
    IDEs
    Support systems
    ...
    A new generation of tracking
    systems for software development?
    Integrated with software forges?
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 23 / 27

    View Slide

  24. Example: towards a dashboard
    http://blog.bitergia.com/2012/09/27/
    how-the-new-release-of-openstack-was-built/
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 24 / 27

    View Slide

  25. In summary
    FLOSS development repositories have a wealth of
    information
    Their analysis is potentially interesting 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
    What would you like to know about your pet project?
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 25 / 27

    View Slide

  26. Bitergia: an spin-off
    Started operations in July 2012
    Builds on the experience of LibreSoft R&D group
    Offering professional products and services
    Focused on:
    Metrics about software development
    (including community metrics)
    Specialized support for development forges
    (including metrics for projects)
    http://bitergia.com
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 26 / 27

    View Slide

  27. This is the end
    Have you learned something
    useful?
    [I would love to know what interested you the most]
    [...and the least]
    [email protected]
    Alvaro del Castillo (Bitergia) Development metrics to know about Free Software projects LSWC 2012 27 / 27

    View Slide