Year end: 2009
This was a pretty big year for the Miro project and the first year for the Miro Community project. In Miro-land, we pushed out Miro 2.0 which was a complete re-write of the user interface. Then we pushed out Miro 2.5 which was a rewrite of the storage/database layer. We also switched from svn to git. That's three really big changes for a single project in one year.
Miro 2.5 was a messy release and we've made a bunch of changes so we don't have to go through that again. We've been spending time on the unit test, QA automation, and code quality for Miro 2.6. We've changed the release process so that it buffers more time to catch issues. We're doing more peer review of complex code changes. The switch to git will help since branching and merging are much easier and less error-prone.
Bugzilla stats:
Overall statistics ------------------ 2007 2008 2009 Opened reports at end of year: 453 705 1102 Opened: 4052 1625 1593 Closed: 4368 2032 1654 Users created: 644 1083 771 Comments created: 13564 7529 8329
"Opened reports at end of year" is the total number of opened bugs at the end of that year. So at the end of 2007, we had 453 open bugs. At the end of 2008, we had 705 open bugs, ...
I wasn't sure whether to include 2007 or not since half way through that year we switched from Trac to Bugzilla. No one needed to create an account in Trac, so user numbers should be lower. Also, we were getting a lot of Trac spam, so comment, opened and closed numbers were much higher.
Bugs closed by activity: ------------------------ 2007 2008 2009 fixed 736 932 969 invalid 170 133 85 wontfix 35 142 71 duplicate 139 313 190 worksforme 169 344 151 incomplete 0 57 84
I thought this was an interesting data set.
The INCOMPLETE status was added mid-2008. We use this for whenever we ask a user for some information that we need to work on a bug and the user never gets back to us. It's better than marking it as INVALID or WORKSFORME since it's easier to find this set of bugs that were pushed to the side because need more information.
We're fixing on average 3 bugs a day--that's pretty impressive.
Top 10 bug reporters: -------------------- 444 - Janet (PCF) 183 - Anne Jonas (PCF) 71 - Will Kahn-Greene (PCF) 71 - Dean Jansen (PCF) 42 - Nicholas Reville (PCF) 39 - sg 37 - Keith Lard 28 - Uwe Hermann 28 - Ben Dean-Kawamura (PCF) 22 - Pan ~ dietmar
Out of 1593 bugs, PCF employees reported 839--that's just over half. Of the non-PCF people in this list, Uwe is the Debian packager for Miro and Pan is an OpenSUSE packager for Miro. sg and Keith Lard both run OSX.
Top 10 bug closers: ------------------ 421 - Janet (PCF) 369 - Paul Swartz (PCF) 353 - Will Kahn-Greene (PCF) 195 - Ben Dean-Kawamura (PCF) 114 - Luc Heinrich (PCF) 26 - Christopher Webber (PCF) 21 - Dean Jansen (PCF) 20 - sg 19 - Anne Jonas (PCF) 14 - Nicholas Reville (PCF)
Top 10 bug commenters: --------------------- 2050 - Janet (PCF) 1757 - Will Kahn-Greene (PCF) 823 - Paul Swartz (PCF) 533 - Ben Dean-Kawamura (PCF) 354 - Anne Jonas (PCF) 254 - Nicholas Reville (PCF) 234 - Dean Jansen (PCF) 187 - Luc Heinrich (PCF) 98 - sg 88 - Uwe Hermann
Git stats
Moving along, I can now get stats out of our git repository. git ftw!
In 2009, we did 11 releases (22 releases if you include release candidates) of which 2 were MASSIVE code overhaul releases. Miro 2.0 involved a re-write of the user interface using native widgets which resulted us in dropping 4,000 files from the codebase (a large portion of that was probably locale-related). Miro 2.5 involved a re-write of the database layer. We had a lot of bug fix releases to stabilize things after these two big releases.
Between Miro 1.0 and 1.1: 1606 files changed, 127775 insertions(+), 14605 deletions(-)
Between Miro 1.1 and 1.2: 2318 files changed, 233370 insertions(+), 185511 deletions(-)
Between Miro v1.2 and v2.0: 4715 files changed, 271506 insertions(+), 560366 deletions(-)
Between Miro v2.0 and v2.5: 662 files changed, 169258 insertions(+), 175292 deletions(-)
Half of the 2.0 work and all of the 2.5 work was done in 2009. 2.0 was clearly a monumental release like no other release we've ever done.
In 2009, we did 1,382 commits. For comparison, we did 2,049 commits in 2008. The bulk of the work for Miro 2.0 was done at the end of 2008--I think that accounts for the large discrepancy here.
Contributor stats
I don't have stats for testing contributions or translation contributions so I can't speak to those. I can only speak to patches and bug triage contributions.
In 2009, we had 19 contributed fixes/features. PCF employees are doing the bulk of the work. This is still an area we could use help with.
In 2009, we've done a lot to lower the barriers to entry and make this easier: improved code quality, wrote documentation, improved build documentation, improved build scripts, added unit tests, ... In 2010, we're continuing this work.
Summary
Despite the Miro 2.5 release which was pretty rocky, I think we had a really good year and got a lot accomplished. I'm looking forward to Miro 2.6 (or whatever the next release gets called).
I'd love to see more contributions from other people. If you have some free time or some passion and want to help out, let me know. If you don't have free time, but have some spare change floating around, please donate--this helps PCF pay for employees to work on Miro.