Finally we released a new version of the OpenStack Quarterly report. This is intended to provide insights about the software development process of the OpenStack projects. This covers information from several data sources such as Git, Launchpad, Gerrit, Mailing lists, ask.openstack.org and IRC channels. And it aims at providing quantitative and qualitative information about the activity, community and software process.
The executive summary of the document is as follows:
Users community keeps growing. With an increase of more than a 300% in the total number of questions posted in ask.openstack.org, this is the unique communnication channels with such measured increase. Other channels such as IRCor mailing lists also grow but slower. Although this is the activity measured for the last year, the last quarter shows a significant activity drop.
Active Core Reviewers are increasing. Although mid-release cycle analysis usually show drops of activity in most of the areas, the total number of active core reviewers has reached a new peak. Up to 339 core reviewers participated in the review process. This shows an increase of around 9% if compared to the previous quarter analysis.
Process keeps stable. The time to merge patches for the main projects show similar numbers than in previous quarter. However, Nova seems to be the project out of the common time to review with up to 10 days. On the other hand, Glance is more in line with the rest of the projects if compared to previous quarter. In any case, Glance shows the second highest meadian time to review with up to 7 days.
IRC activity recovers old activity. Due to unknown issues, the total logs analyzed in the last two previous quarters indicated a huge drop of activity. However, last analysis on this data source shows activity in line with previous quarters. Although this is still an unknown issue, the IRC activity has recovered expected activity.
Project teams are also covered in this quarterly report. This quarterly report follows the Governance file for projects, but ignores specs files. Previous versions of the quarterly report such as 2015-Q1 or 2014-Q4 divided projects into the integrated project, specs, clients and others, with specific sections.
Within a few hours the OpenStack Juno release will be delivered. At the moment of writing this analysis the OpenStack Activity Board shows 91,317 commits spread across 108 repositories. All of this activity was performed by close to 2,600 developers, affiliated to about 230 different organizations. In addition, around 75,000 changesets have gone through code review, submitted by 3,082 developers.
With respect to community communication channels, there were more than 3 million messages exchanged in the IRC channels, close to 10,000 questions asked on the Askbot instance of the OpenStack Foundation and about 3,600 people posting to the mailing lists.
Focusing on the Juno six-month release cycle, activity was intense:
18,704commits, 8.65% increase if compared to the previous release cycle, Icehouse.
More than 130organizations contributing.
Close to 1,420developers, an increment of about 16%.
IRC channels grew from 926K to 1,024Kmessages, 10% more than for Icehouse.
Mailing lists reduced activity (8.8% less messages). However, there is an increase of 18% in the number of new questions in Askbot, with a total of about 3,000new questions during the Juno release cycle.
The room was crowded, with people from organizations like Eclipse Foundation, Red Hat, Google, Twitter, PayPal, Open Source Initiative, LibreOffice, Kaltura, Cloudera, etc. There has been a lot of interesting topics and talks, and almost everything is already available in the 2014’s edition website
An interesting fact: while for previous releases contributing organizations changed a lot, from Havana to Icehouse release top contributors keep stable with no big changes. Even more: no big changes in the top organizations, and no big changes in the number of commits. The only new entry in the top ten is Intel, with the rest contributing in a similar way as they were in Havana.
Turnover is inevitable. Developers leave a project and others join it. And this effect may be more harmful in open source communities than in companies. Depending on the community, it is hard to find new people willing to participate. And even more, there is a knowledge gap left by those that gave up developing. So the issue is double: people leave and those leave a knowledge gap that in some cases is hard to fill.
However, is it possible to analyze that regeneration of developers? How good is my community retaining developers? Is it possible to measure the number of newcomers joining the community? It is clear that having this type of information is basic to define policies to attract new members, retain current ones and check if the current situation is driving the community to good terms.
The demographics of open source communities allows us to understand how the community has evolved, and potentially how this community will evolve through the time. Demographics in open source communities can be seen as the typical analysis of pyramids of population in countries or cities. Typically on the top of the chart the oldest people are found, while the age decreases going to the bottom of the chart. Those are named as pyramids given their typical triangle shape. However during the last decades and in developed countries, this shape is moving to an inverted pyramid, although this is another discussion :).
Thanks to the study of the demographics of developers, it is possible to know a bit more about the community. We already introduced the demographics of the Linux Kernel, and this post is focus on the analysis of the OpenStack community as a case study. The following figure shows the demographics of the OpenStack community (daily updated in the OpenStack activity dashboard). The x-axis indicates the number of developers, while the y-axis shows the timeframe of activity.
Green bars show the number of developers that in each of the periods started contributing with at least one commit. And blue bars show the number of those developers that still contribute to the community. By definition, a developer is still contributing to the community if a commit has been detected during the last six months. If not, this developer is considered as a developer that left the community. There may raise the case when a developer after more than six months, returns and submit another change to the source code. In this specific context, this developer would appear as not leaving the community.
An example was provided and in some cases, and depending on the development policy of the project, commits ignoring merges represented around a 50% of the total activity that we can find.
CVSAnalY is one of the tools that is used as input in our dashboards. It is specialized in versioning systems, and parses the log provided by some of the most used in the open source world. It does this with the priceless help of Repository Handler, in charge of adding a transparency layer.
Its procedure is simple: CVSAnalY reads a log from SVN, CVS or Git and builds and feeds a relational database. For other distributed versioning systems, there are hooks to migrate from those, such as Mercurial or Bazaar to Git.
Now we come back with an analysis on who is reviewing, and to which companies reviewers are affiliated. To provide some context, it is worth citing the commit and review policy of the WebKit project, which explains how only specific developers, with long and recognized experience in the project, can become reviewers: “A potential Reviewer may be nominated once they have submitted a minimum of 80 good patches. They should also be in touch with other reviewers and aware of who are the experts in various areas.” Since changes to source code have to be accepted by a reviewer, to some extent they are acting as the gatekeepers of the project, those in charge of ensuring that new code matches quality standards, and are in line with the project guidelines.
Therefore, the analysis of which companies are employing reviewers shows the project from another perspective, this time focused on those involved in this gatekeeping activity. The landscape now is different from that shown by the authorship analysis.
On February 3rd, I was delivering a lightning talk at FOSDEM, presenting MetricsGrimoire and vizGrimoire as free software tools to get some analytics from the software repositories of your preferred project. The talk was titled “Do you want to measure your project?”, as it was focused on explaining the capabilities of these tools for analyzing a project, and on how they can be easily used for that.
Bitergia, the software development analytics company
Bitergia is focused on software development analytics. We aim to produce useful information about how software projects are performing, how different actors are contributing and how they could be improved.
We provide tools and means to track all these aspects, and to evaluate how policies and decisions are shaping the development processes.