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

The Grimoire system for software development analytics

The Grimoire system for software development analytics

MetricsGrimoire is a set of tools for retrieving data from git, Subversion, Bugzilla, Jira, GitHub, Mailman and many other data sources about software development, and organizing them in a database. vizGrimoire is intended to analyze and visualize these data. With all of them, Grimoire Dashboards can be produced, providing information about software development communities, their activity and their processes. The talk will present the main aspects of these tools, how they are being used in real cases, and the reasons why it is important that they are free / open source software.

More Decks by FLOSS Community Metrics meeting

Other Decks in Technology

Transcript

  1. The Grimoire system for software development analytics
    Jesus M. Gonzalez-Barahona
    [email protected]
    http://twitter.com/jgbarah
    Bitergia
    GSyC/LibreSoft (Universidad Rey Juan Carlos)
    FLOSS Community Metrics Meeting,
    Portland, OR, USA, July 21st 2014
    http://bit.ly/fcm2-grimoire
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 1 / 35

    View Slide

  2. c 2012-2014 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) The Grimoire system for software development analytics FCM2 2014 2 / 35

    View Slide

  3. Structure of the presentation
    1 Me, myself, and my circumstances
    2 Open source and beyond
    3 Grimoire
    4 Examples
    5 Why open development analytics?
    6 Can we conclude something?
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 3 / 35

    View Slide

  4. Me, myself, and my circumstances
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 4 / 35

    View Slide

  5. My Uni, my company
    Uni Rey Juan Carlos:
    LibreSoft research team
    Understanding free, open source software development
    Data analytics approach
    Bitergia:
    From research to the real world
    The software development analytics company
    Dashboards, reports, consultancy...
    http://gsyc.es/~jgb http://bitergia.com
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 5 / 35

    View Slide

  6. Bitergia: analytics for your peace of mind
    Started operations in July 2012
    Builds on the experience of LibreSoft R&D group
    Offering professional products and services
    Focused on:
    Grimoire Dashboard: software development analytics
    (including community metrics)
    Specific studies and reports
    (based on metrics and facts collection)
    http://bitergia.com/dashboards
    http://blog.bitergia.com
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 6 / 35

    View Slide

  7. Open source and beyond
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 7 / 35

    View Slide

  8. A new dimension of openness
    When we develop in the open
    we produce a great deal of data
    about how we develop
    “Show me the development data”
    as a step beyond
    “show me the code”
    Let’s do it!
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 8 / 35

    View Slide

  9. 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 filter, organize it
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 9 / 35

    View Slide

  10. But data has to be analyzed, visualized...
    Casual observation is not enough:
    tools are needed
    for statistical and other kinds of analysis
    Analysis is not enough:
    tools are needed for interactive visualization
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 10 / 35

    View Slide

  11. Grimoire
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 11 / 35

    View Slide

  12. Data lives in many different systems
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 12 / 35

    View Slide

  13. Grimoire: tools for retrieval, analysis, visualization
    MetricsGrimoire vizGrimoire Grimoire
    Dashboard
    Data retrieval Analysis, User
    from visualization interaction,
    repositories panels, views
    Free software
    Commercial support available
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 13 / 35

    View Slide

  14. The Grimoire Development Dashboard
    http://dashboard.eclipse.com
    http://demo.bitergia.com
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 14 / 35

    View Slide

  15. MetricsGrimoire
    Retrieving information repositories:
    CVSAnalY: source code management
    (CVS, Subversion, git...)
    Bicho: issue tracking systems
    (Bugzilla, Jira, GitHub, Allura, Launchpad...)
    & code review systems (Gerrit)
    MLStats: mailing lists
    (mbox files, Mailman & GMane archives...)
    MediaWikiAnalysis: wikis
    IRCAnalysis: IRC logs
    Organize all the information in SQL databases
    http://metricsgrimoire.github.io
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 15 / 35

    View Slide

  16. vizGrimoire
    Analyze information in the database (statistical analysis)
    Visualize results (Grimoire Development Dashboard)
    GrimoireLib: Python package to access the database
    vizGrimoireJS: Grimoire Dashboard
    vizGrimoireJS-lib: supporting JavaScript library
    for the dashboard (can be used standalone)
    https://vizgrimoire.github.io
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 16 / 35

    View Slide

  17. Examples
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 17 / 35

    View Slide

  18. How is corporate involvement evolving?
    [Main companies contributing to Eclipse (no. of commits)]
    http://dashboard.eclipse.org/5y/browser/
    scm-companies-summary.html
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 18 / 35

    View Slide

  19. How are you attracting / retaining talent?
    [OpenStack authors community: Attraction / retention, July 2014]
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 19 / 35

    View Slide

  20. How active are your chat channels?
    [Puppet IRC channels]
    http://bitergia.dev.puppetlabs.com/
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 20 / 35

    View Slide

  21. Who is contributing?
    [MediaWiki top contributors (January 2013)]
    http://korma.wmflabs.org
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 21 / 35

    View Slide

  22. When were your tickets born?
    [Time of birth of Ceph tickets]
    http://metrics.ceph.com/its-states.html
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 22 / 35

    View Slide

  23. How are your mailing lists working?
    [MediaWiki development mailing lists]
    http://korma.wmflabs.org
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 23 / 35

    View Slide

  24. How much neutral is your community?
    q
    q
    q
    q q
    q
    q q
    0
    1
    2
    3
    250 500 1000 2000 4000
    Number of accepted reviews
    Iterations per accepted review (median)
    [WebKit code review data per company (2012)]
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 24 / 35

    View Slide

  25. Where do developers work?
    actions
    authors per actions
    0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
    arch/arc
    arch/arm
    arch/i386
    arch/mips
    arch/powerpc
    arch/s390
    arch/tile
    arch/x86
    drivers/acpi
    drivers/char
    drivers/dma
    drivers/gpu
    drivers/media
    drivers/net
    drivers/scsi
    drivers/spi
    drivers/staging
    drivers/tty
    drivers/usb
    fs/btrfs
    fs/ceph
    fs/cifs
    fs/ext4
    fs/f2fs
    fs/nfs
    fs/xfs
    include/linux
    net/ipv4
    arch
    Documentation
    drivers
    fs
    include
    kernel
    net
    sound tools
    virt
    http://bit.ly/kernel-dev
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 25 / 35

    View Slide

  26. A future line: integration
    Integration with forges (Allura)
    in the context of the Prose FP7 project
    Integration with software analytics (Sonar)
    work in progress
    Integration with project crawlers
    exploring in the context of the Markos FP7 project
    Integration with IDEs (Eclipse)
    future work
    ...your preferred system here...
    http://prose.eu
    http://markos-project.eu
    both funded by the European Commission under FP7-ICT
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 26 / 35

    View Slide

  27. Why open development analytics?
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 27 / 35

    View Slide

  28. From open development to open development analytics
    Information about code, community, development
    for open development projects
    can be retrieved, organized, analyzed
    Let’s publish analytics results & data
    Open Development Analytics:
    A new standard for transparency
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 28 / 35

    View Slide

  29. Open development analytics
    Who is interested?
    Large & small free software communities
    ...and thousands of large & small companies,
    public administrations, foundations
    participating in them,
    depending on their software
    [Who can afford not to be interested?
    It is a key strategic need for many actors]
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 29 / 35

    View Slide

  30. Open development analytics
    Why?
    Free software produced with open development
    models is more and more important
    for IT users, producers, integrators
    It is different & complex,
    yet transparent,
    many details are public,
    and it can be improved
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 30 / 35

    View Slide

  31. Some areas of interest
    Performance (understanding activity)
    Company participation (beyond copyright
    notices)
    Transparency (available information)
    Auditing (certify participation, experience, etc.)
    Profiling (key people, companies)
    Neutrality (fair treatment)
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 31 / 35

    View Slide

  32. Can we conclude something?
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 32 / 35

    View Slide

  33. In summary...
    Let’s analyze free software with free software,
    and let’s publish the results!
    MetricsGrimoire extracts data from repositories
    vizGrimoire analyzes it and produces dashboards
    They’re simple to use, and becoming simpler
    We can incrementally develop a powerful platform
    Make your pet project
    open-development-data ready!
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 33 / 35

    View Slide

  34. The *Grimoire community
    Thanks go to...
    LibreSoft developers who developed a sizable part of MetricsGrimoire
    The community maintaining MetricsGrimoire
    Bitergia developers producing vizGrimoire
    The (future) community maintaining vizGrimoire
    The many free software developers that produced all the software on
    which these tools rely
    The many free software developers that produced all the software that
    gives us projects to analyze
    Join us! Visit
    http://metricsgrimoire.github.io for more info!
    http://libresoft.es http://bitergia.com
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 34 / 35

    View Slide

  35. This is not the end
    You can use *Grimoire,
    contribute to *Grimoire
    Slides: http://bit.ly/fcm2-grimoire
    Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development analytics FCM2 2014 35 / 35

    View Slide