<div class="markdown">
<p dir="auto">I am submitting my candidacy for Swift PTL for the Newton cycle.</p>
<h3>Community growth</h3>
<p dir="auto">During the Mitaka cycle, we've seen the community grow from about 440<br>
contributors to 531 today. That's a 20% growth in the last six months.<br>
This growth rate is huge, and I'm really happy to see all the new<br>
people coming into the community. New contributors bring new ideas,<br>
new use cases, and fresh eyes on old problems. This is the hallmark of<br>
a healthy community.</p>
<p dir="auto">New contributors reflect the broader picture of what's going on with<br>
Swift, too. When we see new contributors from companies who are<br>
already actively participating in the community, it shows that they<br>
are using Swift more. When new companies join the community for the<br>
first time, it shows new places where Swift is being used to solve<br>
real-world storage problems. Both situations are exciting. Swift is<br>
growing. More people are using it to store more data and solve more<br>
storage problems.</p>
<p dir="auto">As I've said many times before, my vision for Swift is that it will be<br>
used by everyone, every day, even if people don't realize it.<br>
Community growth is one way we can see that this is happening today.</p>
<h3>Tracking the community</h3>
<p dir="auto">One thing I've been working on over the last year is tracking our<br>
community and finding ways to understand it and help it continue to<br>
grow. You can see some of this work in the graphs below.</p>
<p dir="auto"><a href="http://d.not.mn/total_contribs.png">http://d.not.mn/total_contribs.png</a><br>
<a href="http://d.not.mn/active_contribs.png">http://d.not.mn/active_contribs.png</a></p>
<p dir="auto">I've been working on a few more interesting graphs and metrics too.<br>
I've shared one of these before: visualizing individual contributor<br>
activity over time. You can see the results at<br>
<a href="http://d.not.mn/contrib_activity.png">http://d.not.mn/contrib_activity.png</a>. This is a rather large graph,<br>
but it's fairly simple to read. The x-axis is time (from Swift's<br>
initial release to today). Each line on the y-axis is a person's<br>
activity in Swift. Blue boxes are for authoring a patch; green boxes<br>
are for a review. This graph has been invaluable in helping understand<br>
who is contributing to the project and what activity active<br>
contributors are engaged in. One thing I've learned is that there is a<br>
class of contributor who has been involved for a long time, but is<br>
only active infrequently. Most of these people are operators who are<br>
normally running production clusters but occasionally need to submit a<br>
patch or review upstream.</p>
<p dir="auto">Another thing I've worked on is a way to find out what the community<br>
as a whole thinks is important. We can start to find a lot of this<br>
info from information we already have. For example, we can get a list<br>
of every patch that every contributor has starred to see if there is<br>
any commonality between them. The patches that are more often starred<br>
are likely to be more important, from the community perspective.</p>
<p dir="auto">I've taken that basic idea, along with some further parsing of<br>
information from gerrit, and created a review dashboard. It's going to<br>
keep changing, but you can see its current incarnation at<br>
<a href="http://not.mn/swift/swift_community_dashboard.html">http://not.mn/swift/swift_community_dashboard.html</a> (and linked in<br>
the #openstack-swift channel topic). So far, I've seen this dashboard<br>
result in a dramatic decrease in the number of unreviewed patches, and<br>
as the dashboard improves, I expect it to lead to a similar<br>
improvement in review times for important patches.</p>
<h3>Current struggles</h3>
<p dir="auto">Tracking the community (both with metrics like above and from simply<br>
talking to people) shines a light on common problems in the community.<br>
Two of the most-often raised issues are that of long patch review<br>
times and review prioritization. We've been improving both of these<br>
with several tools in the past, and we're currently in a much better<br>
place than we've been in the past. As PTL, I feel it's my duty to<br>
enable the community to solve these problems. I will continue to<br>
improve the tools we have and create new tools as necessary so that we<br>
know what's going on, what to work on, and make every contributor<br>
effective.</p>
<h3>Goals for newton</h3>
<p dir="auto">Looking forward to the Newton cycle, I want to see three things happen.</p>
<ol>
<li value=1>Increased contributor growth</li>
<li value=2>Progress on significant code efforts, including crypto, improved
global clusters, and improved performance</li>
<li value=3>Better tools and info for community prioritization and community tracking</li>
</ol>
<p dir="auto">The community is well-positioned to meet these goals, and I will be<br>
honored to continue to serve you as PTL for OpenStack Swift.</p>
<p dir="auto">--John</p>
</div>