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.

Transcript

  1. The Grimoire system for software development analytics Jesus M. Gonzalez-Barahona

    jgb@bitergia.com 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
  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
  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
  4. Me, myself, and my circumstances Jesus Gonzalez-Barahona (Bitergia) The Grimoire

    system for software development analytics FCM2 2014 4 / 35
  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
  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
  7. Open source and beyond Jesus Gonzalez-Barahona (Bitergia) The Grimoire system

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

    analytics FCM2 2014 11 / 35
  12. Data lives in many different systems Jesus Gonzalez-Barahona (Bitergia) The

    Grimoire system for software development analytics FCM2 2014 12 / 35
  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
  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
  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
  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
  17. Examples Jesus Gonzalez-Barahona (Bitergia) The Grimoire system for software development

    analytics FCM2 2014 17 / 35
  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
  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
  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
  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
  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
  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
  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
  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
  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
  27. Why open development analytics? Jesus Gonzalez-Barahona (Bitergia) The Grimoire system

    for software development analytics FCM2 2014 27 / 35
  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
  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
  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
  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
  32. Can we conclude something? Jesus Gonzalez-Barahona (Bitergia) The Grimoire system

    for software development analytics FCM2 2014 32 / 35
  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
  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
  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