Development Activity
(Havana Release Cycle)
Date:
October 24
th2013
Version:
1.0
-Author: Jesus Gonzalez-Barahona, Daniel Izquierdo-Cortazar
Table of Contents
Summary... 3
Introduction... 3
Highlights... 3
Development Model... 4
Changes to Source Code...4
Review activity...5
Discussions in Mailing Lists...5
Ticketing Activity...6
Top Activity Projects of OpenStack...6
Composition of the Community... 8
Top Contributors...8
Summary
Havana is the latest release of the OpenStack project. The incremental change over the previous version, Grizzly, amounted to 13,755 commits (changes to source code), produced by about 930 different developers from more than 150 companies. The release cycle lasted for almost six months, from April 4th to October 17th 2013.
The growth of OpenStack during this period has been enormous. Havana represents an increase of 45% in the number of commits with respect to Grizzly, and of more than 55% in the number of contributing developers. On average, they produced 2,300 commits per month, 70 per day, during the 196 days of the cycle.
Introduction
At the moment of this analysis, the OpenStack project is close to reach the 49,000 commits since its start. That activity has been undertaken by more than 1,400 different developers, that can be classified as 188 core developers, 340 with regular contributions and 894 that contributed occasionally1.
Around 13% of the whole development community is performing 80% of the total activity. This inequality is very typical in open source projects, although in the case of the OpenStack community is more emphasized. To bring in context other communities, it is usually considered that in mature communities the rule is that 80% of the work is done by a 20% of the community.
Highlights
The Havana release cycle shows the highest development activity in the whole history of the OpenStack project, with a clear increment in all areas of development activity:
• 13,755 commits, 45% of extra activity than the previous release cycle
• More than 150 different organizations have contributed to the development of Havana • Around 930 different developers have contributed at some point to the project
• Four companies are responsible of 55% of the total activity in the project
Development Model
The OpenStack Project follows a six month release cycle. Thus, each six months a new release of the product is delivered. They have been named following the alphabet: Austin, Bexar, Cactus, Diablo, Essex, Folsom, Grizzly, Havana2. Although the process is focused on the release of what the
OpenStack Foundation considers as “Official Programs” , there are some other subprojects of interest, such as the Documentation, Incubator or Infrastructure projects.
This model of six months release is also followed by other communities such as GNOME or Ubuntu, and in the case of OpenStack it has been in place since after the Cactus release. After each release, the community usually meets at the OpenStack summit, hosted in different parts of the world, where the industry, developers and the OpenStack ecosystem in general share their experiences, ideas, plans and needs. The last days of those summits are typically when more technical decisions are taken for the following release.
As other open source projects, the OpenStack community is distributed around the world. To work together, they take advantage of several common infrastructures, such as Git repositories3,
mailing lists4, a ticketing system to track errors or feature requests5 and a code review system6
that helps in the software development process. Using the information stored in all those systems, it is possible to perform a quantitative analysis of the development activities of the project. The next sections present some results of this analysis. More details can be browsed in the OpenStack Activity Dashboard7.
The software development process in OpenStack follows specific rules to ensure the quality of the generated code. In first place (not mandatory) a bug report / blueprint is opened in the ticketing system (Launchpad). Then a patch is uploaded to the review system (Gerrit) and this is reviewed by at least one developer. Once this is accepted (by a human being and tested), this is merged and becomes part of the project.
Changes to Source Code
In terms of changes to the source code (commits), there is a clear increase in activity during the latest releases:Folsom activity was 71% higher if compared to Essex; Grizzly activity was 36% higher if compared to Folsom; and finally Havana experienced an increase of a 45% if compared to Grizzly.
2 Each of the release dates can be found at https://wiki.openstack.org/wiki/Releases. It can be observed how the six months cycle started to properly work after the Cactus release.
3 http://git.openstack.org
4 https://wiki.openstack.org/wiki/Mailing_Lists 5 https://launchpad.net/openstack
6 https://review.openstack.org 7 http://activity.openstack.org/dash/
OpenStack Release
Release Date Commits Authors
Havana 2013-10-17 13,755 930
Grizzly 2013-04-04 9,490 596
Folsom 2012-09-27 6,983 368
Essex 2012-04-05 4,083 248
Table 1: Number of commits and authors per release
Review activity
As a key part of the OpenStack development model, the review process consists of the uploading of patches (proposed changes to source code) to a specific tool that is later automatically and manually reviewed. The latter is done by core members of the community that may accept the patch, ask for improvements or directly reject the it. Other members of the community can easily review those patches also adding their professional opinion.
During the Havana release cycle, approximately 80% of the total code reviews were finally accepted after some work, which is in line with the acceptance rate for other release cycles.
OpenStack Release
Release Date Code Reviews Accepted Havana 2013-10-17 21,294 16,933 Grizzly 2013-04-04 12,401 10.650
Folsom 2012-09-27 5,249 4,364
Essex 2012-04-05 3,939 3,284
Table 2: Number of code reviews and accepted ones per release
Discussions in Mailing Lists
A similar increase in the activity of the mailing lists can be appreciated. However activity really started to rise once the official mailing lists were set up and all the project started to use them.
OpenStack Release
Release Date
Emails Threads Participant s Havana 2013-10-17 14,575 8,805 1,061 Grizzly 2013-04-04 8,961 4,920 637 Folsom 2012-09-27 2,507 1,547 333
Essex 2012-04-05 364 200 107
Table 3: Mailing lists activity measured in number of emails, threads and participants
Ticketing Activity
Ticketing activity is specially interesting from the community perspective. Opening a bug report or asking for new features is one of the more common ways to start contributing in an open source project. Differences between release cycles are similar than those in other repositories, with an increase of more than 58%
A typical metric to characterize how well the community is closing issues is the BMI (Backlog Management Index) metric. BMI measures the ratio of opened to closed tickets during a certain period. That index is, for the last four OpenStack release cycles: 1.52 for Essex, 1.76 for Folsom, 1.75 for Grizzly, and 2.054 for Havana. This indicates that during the last release of OpenStack, the number of opened tickets was more than twice the number of closed tickets. In terms of maintenance, this may indicate issues regarding the maintenance of the project if specific policies are not undertaken.
OpenStack Release Release Date Opened Tickets Closed Tickets People opening issues Havana 2013-10-17 9,562 4,655 1,351 Grizzly 2013-04-04 5,161 2,934 851 Folsom 2012-09-27 3,615 2,044 582 Essex 2012-04-05 2,975 1,947 355
Top Activity Projects of OpenStack
The top five most active projects currently represent more than 40% of the total activity of OpenStack. By far the most active is Nova with 2,340 commits and around 290 different authors participating in its development. Neutron comes second, with 982 commits, Heat with 898 commits, Cinder with 824 commits and Ceilometer with 574 commits.
Project Commits Authors Files touched
Nova 2,340 292 2,804
Neutron 982 150 1,960
Heat 898 73 611
Cinder 824 148 704
Ceilometer 574 68 524
Composition of the Community
The project is now close to reach 49,000 commits. This activity has been performed by more than 1,400 different developers, who can be classified into 188 core developers, 340 regular developers and 894 casual developers8.
Those values are represented in Figure 1.About 13% of the total community is producing 80% of the total activity. This inequality is very typical in open source projects, although the case of the OpenStack community is a bit more uneven than usual.
Top Contributors
The first developer, by number of commits, has produced 2.72% of the total number of commits in Havana.The top 20 authors together submitted 4,169 commits, 30.3% of the total activity of the community.
8 Core developers are those that performed up to a 80% of the total changes to the source code. Regular from that 80% of the developers up to the 95% of the total activity. And occasional the final 5% of the total activity.
Figure 1: Distribution of effort development in the Openstack Community
Developer Commits Developer Commits Mark McLoughlin 374 Julien Danjou 188
Monty Taylor 341 Dan Smith 182
Robert Collins 335 Anne Gentle 175
James E. Blair 326 Angus Salkeld 172
Andreas Jaeger 260 Zane Bitter 147
Clark Boylan 210 Jeremy Stanley 147
Clint Byrum 207 Joe Gordon 145
Dirk Mueller 200 Chris Yeoh 127
Diane Fleming 199 Zhongyue Luo 124
Steve Baker 189 Flaper Fesp 121
Table 6: Top 20 developers measured in commits
Organizations participating in the development of Havana
There are more than 150 organizations that have authored changes to the source code. Red Hat is the current leader in terms of commits, with 16,6% of the total activity. There are four organizations with more than 1,000 commits: Red Hat, HP, Rackspace and IBM. Those are producing around 55% of the total activity in the git repositories. These are followed by another set of three organizations with more than 500 commits: Mirantis, the OpenStack Foundation and SUSE. Those committed 12,6% of the commits found in the repositories in the development of Havana.
Company Commits Authors Company Commits Authors
Red Hat 2,284 73 Intel 213 15
HP 1,977 84 Canonical 194 12 Rackspace 1,706 118 UnitedStack 171 13 IBM 1,610 85 Dreamhost 132 6 Mirantis 644 53 Yahoo! 127 11 OpenStack Foundation 570 5 Cisco Systems 120 24 SUSE 503 12 SolidFire 113 1 eNovance 410 17 Nebula 101 8 VMware 310 14 Metacloud 77 4 NEC 239 14 B1 Systems 74 1