Transitioning
Max Kanat-Alexander
mkanat at bugzilla.org
Thu Nov 15 08:42:30 UTC 2012
Hey Bugzilla Developers.
I love working on Bugzilla, and I'm totally thrilled at the
unbelievable changes we've made it it. I'm pretty sure that in 2004,
most people thought that this project was going to die and be crushed by
all the major commercial competitors that suddenly arose. And yet, here
we are, still one of the most widely-respected and used bug-tracking
systems in the world, all based on volunteer efforts and open-source
principles.
This isn't to say that the project is totally out of danger--it's very
likely that some significant changes have to happen in order to keep the
project alive (myself and other reviewers discussed this a few months
back), and the Pretty project needs to be completed in order for us to
retain a broad userbase. But the sort of things we've accomplished
(particularly the degree of improvement in code quality without a full
re-write) with this codebase have possibly never before been achieved by
any software organization in the world, let alone one populated across
nearly every timezone by people working in their spare time. So I think
we deserve a little pat on the back from ourselves.
I personally had a major goal of bringing Bugzilla's code up to a high
level of quality and learning enough from that process to develop a
series of broad principles for software development as a whole. With the
completion of my book, I believe that I have accomplished this, and now
it's time for me to start focusing on bringing that message to the
world, as well as time for me to start focusing on my career at Google
where I may also be able to have a significant and important impact on
the world of software development.
In reality, LpSolit and others have actually been managing the project
entirely without me for the last several months (in fact, for pretty
much the entire 4.4 release cycle) so I think there's excellent evidence
that the project can both survive and flourish without me. I will
definitely miss the Bugzilla community and the great work that we've
done together, but I think the best thing to do at this point is to
transition away all of my duties to others so that I can focus on what I
need to focus on, and so that the project can have somebody holding all
of the positions that need to be held.
If I had to supply only three pieces of advice to the Bugzilla
community that should live on and be kept in force always, they would be:
(1) Make sure you keep intact all of the principles of an effective
open-source community. It's most important that we gain and retain
developers faster than we lose them. I wrote up the results of my
research into this at:
http://www.codesimplicity.com/post/open-source-community-simplified/
(2) The most important thing to focus on when prioritizing features is
"how much does this help people track bugs?" I wrote this up as "The
Feature Acceptance Test" once, and I think it helped us have one of the
most successful releases we ever had. I would suggest keeping this in
operation for every release:
https://groups.google.com/forum/#!topic/mozilla.dev.apps.bugzilla/hHoJ3IqN0ns
(3) Remember that code quality is king. Without code quality, we can't
deliver features in time that actually end up helping our users. Losing
code quality almost killed the project once; letting that standard slip
could end us up there again.
With that said, it's time to give away all of my duties! As near as I
can tell, here's a list of all the things I'm currently in charge of,
with who they should go to:
* Infrastructure (Sysadmin)
This is already being handled by wicked.
* CVS-to-bzr sync
wicked, could you please take this over? It runs on landfill from my
personal crontab.
* webmaster at bugzilla.org
Also being handled by wicked.
* Twitter
justdave has volunteered to take this over.
Note that I routinely search for the word "Bugzilla" on Twitter and
reply to people who have genuine questions or problems. I don't feed the
trolls who have pure complaints that aren't useful, but sometimes I do
offer to help them or ask them for specifics so that I can be helpful to
them. Doing this search is also a good way to get an idea of how people
feel about Bugzilla. Generally, the longer it's been since we released
anything, the more negative they feel. Anybody can help in this fashion,
as long as they actually know enough about Bugzilla and are willing to
be polite and positive to every single person they Tweet at.
* The Bugzilla Update (blog)
I believe I have transitioned this to LpSolit.
* Extensions module owner
I think timello should take on my work on this with oversight from the
other reviewers, if he's willing. I don't think there should continue to
be a module owner.
* DB module owner
I think LpSolit should take over maintaining the DB layers. I don't
think there should presently be a module owner.
* Release Manager
dkl, as has been happening anyway.
* Authentication module owner
Nobody. Should be maintained by the community for now. Perhaps wicked
could look into this, though, as I recall he had some patches and interest.
* WebServices
dkl. Note that API reviews should remain very strict. The API should
retain TOTAL consistency and reviewers should always think about
forward-compatibility so that we have a stable API where we (ideally)
never have to break backwards-compatibility. Also, all WebService
methods must be fully unit-tested before a Bugzilla release can be
called stable. Every single release, we have discovered problems during
unit testing that would have prevented backwards-compatibility if not
fixed before the release.
* Installation and Upgrading
LpSolit should probably take over generally directing this work. There
should probably be no module owner for now.
* Chief Architect
I suspect that this title should simply disappear until it's clear that
somebody else is doing this specific job. Essentially this role is
implicitly held by the project's leaders.
* Community Lead
This is essentially the job of making sure that the community stays
healthy and that each member of the community is enjoying working on the
Bugzilla Project. I think justdave is probably best positioned for this,
or he can assign that job away to somebody else who really wants to do
it and seems well-suited for it.
* Maintaining the Developers Guide.
In general, this probably won't change much, particularly the
guidelines for new contributors that are on the Wiki. However, I suspect
things will need to change over time, and I'm guessing that LpSolit
would be the best person in general to maintain this. It's probably
going to partially be a community effort, too, I imagine. But
particularly anything having to do with coding style should generally
have a single maintainer who makes the important decisions about
consistency for the whole app.
* UI coordination
Perhaps glob or dkl would like to do this? Essentially I have always
coordinated with our UX people and given them my input and guidance
based on experience with lots of Bugzilla users. I helped Jonathan
revise the mocks for Pretty, as an example.
* The xt/ search test.
I would suggest dkl or glob. Please maintain this test; it took
tremendous effort and it's the *only* way to know that the Custom Search
system is behaving as it was intended. We spent 10 years with a
continuously buggy system because this test didn't exist. Don't let it
fade away and let us go back to that parade of endless bugs.
* Reviewer
There exist many other reviewers, they can still do reviews. I will
unfortunately not be available for reviews.
* My bugs
Should mostly go back to their default assignees. Some should be taken
over by individuals, particularly the P1 enhancements.
If there's anything else that I've missed, please let me know!
Once again, I've loved working with you, it's been an incredible
adventure, and I will miss you all.
-Max
--
Max Kanat-Alexander
Chief Architect, Community Lead, and Release Manager
Bugzilla Project
http://www.bugzilla.org/
More information about the developers
mailing list