By Nathan Willis
July 20, 2012
Cultivating contributors is a tricky endeavor; large projects like
Linux distributions need to add developers, testers, packagers,
and more on an ongoing basis. But recruiting involves more than
extending an invitation; training new talent on the ins-and-outs of
the development process is vital, as is deftly handling volunteers
that don't quite have their act together. Debian, for instance, has a
multi-step process for joining that
requires both contribution and a recommendation from existing
members.
Gentoo has long taken the recruiting game seriously as well,
but it recently decided to shut down its
developer-recruitment web application, and return to its previous
method of email-submitted "quizzes." Opinion is divided as to which
direction the recruitment process should take; the distribution has
historically found success with its structured process, pairing new
volunteers with mentors for training. But if the mechanics of
maintaining that process become a burden, it can drive off new
contributors and mentors.
In the past, the Gentoo recruitment training process
centered around a set of quizzes that each new recruit had to complete
successfully before getting commit privileges. There were two
quizzes: one for those who would be working with the distribution's ebuild
build system or Portage tree, and
another for those who would be working on infrastructure and other
non-build components. Both quizzes include a mix of policy and
technical questions, requiring (sometimes lengthy) essay-style
answers. For example, the ebuild
quiz asks:
What is the proper method for suggesting a wide-ranging feature or
enhancement to Gentoo? Describe the process for getting this feature
approved and implemented.
in the "Organizational structure" section, and:
You find a package that will not build on some architectures without
PIC (-fPIC) code in the shared libraries. What is the proper way
to handle this situation?
in the "Ebuild technical" section. The recruit would send the
completed quiz to his or her mentor and, upon receiving a satisfactory
grade, would advance to the next step: opening a recruitment "bug" to
track the recruit's progress, which eventually culminates in account
setup.
The term "quiz" might be slightly confusing to some who associate the
word with brief and/or quick tests. In Gentoo's case, the recruit
could take as much time as necessary to complete the questions, and
might be asked by the mentor to try again through several iterations.
On the plus side, this technique emphasizes letting the new developer
get familiar with the documentation and the distribution's way of
doing things. But it also led to new recruits taking months or even
years to complete the quizzes, often while they continued to
contribute back in "unofficial" ways.
The web application (at recruiting.gentoo.org) was
deployed in 2010, with the goal of streamlining the process by storing
the questions and answers online. Mentors could provide feedback
through the application, without juggling email threads. But the web
application has not proven so useful in practice: it is buggy, it has
UI issues, it runs on an outdated version of Rails, and there is
insufficient developer-power in the project to fix it up. All of
those factors combined to convince the recruiters to move back to the
old-style, email-driven quiz process.
Markos Chandras from the Gentoo
Recruiters team announced
the decision on July 14, saying that new
recruits (not including those who have already started using the
web application) should use the old quizzes instead. "We
understand that quizzes is not an ideal way to 'hire' people either, but they
worked ok for all these years and it is the only alternative we have
at the moment." Chandras added that hopefully a future Google
Summer of Code (GSoC) project will be able to improve the application.
But not everyone agreed that the old-style quizzes worked acceptably,
or that the web application was the only alternative to consider. Ben
de Groot said
that the time involved takes away from time the new recruit could
contribute to Gentoo:
The first time I did the quizzes, it took me 9 months. After having
been away for a couple of years, I recently returned as Gentoo
dev, and the second time I did the quizzes it took me 3 months.
I've seen others take a long time doing them as well. Davide (pesa),
one of our most valued contributors in the Qt team, took close
to two years I think.
I think this way we lose much valuable developer time. These
people could have had commit access and done much
valuable work so much earlier, if there wasn't this obstacle
of the quizzes...
[...]What I noticed in my own experience as lead of our Qt team,
is that getting people started on the real work, being part of the
developer community and process, is a good way to introduce
them to how we do things in Gentoo. The Qt team has its official
overlay, and it is easy for us to give new contributors access to
it. That way they can learn to write ebuilds and eclasses, and
how to improve them, commit them, and get used to a good
workflow.
De Groot proposed improving the wiki documentation to cover the quiz
material, and having mentors walk their recruits through the
documentation while simultaneously helping them learn development
work. Alternatively, he said, mentors could assign tasks for recruits
to complete. Chandras replied
that the quizzes cover a specific set of material to ensure
consistency between mentors, and that doing away with them would
necessitate someone else monitoring the mentors to ensure they cover
the proper work. On the other hand, he did like the idea of improving
the wiki, and suggested that the post-quiz review steps could be
simplified, particularly if a recruit has already been
contributing.
Rich Freeman expressed surprise at the lengths of time taken by some
recruits, but agreed
that the quizzes have weaknesses, saying "I did struggle because
policies were not always spelled out" and "sometimes the
indirectness of some of the questions was frustrating," but
that he completed his quiz in eight hours, and learned a lot in the
process. He also suggested improving documentation, in particular by
creating step-by-step tutorials for ebuild, which could guide new
recruits through learning the system (in contrast to the existing
documentation, which is predominantly reference material).
Several people responded that the absolute time required to complete
the quizzes was not the issue, rather it was finding the free time to
devote to the process amidst all other responsibilities (including
Gentoo contributions). Peter Stuge commented,
jokingly, that "the idiots that the quizzes are designed to keep
out can spend two (or four/eight if they need) days to pass anyway
with a little dedication, while less idiotic idiots such as perhaps
myself need years because we're doing whatever work as opposed to
learning foundation bylaws by heart."
Freeman also speculated in several messages on the impact the
recruitment process has on the overall Gentoo culture, apart from the
method used to indoctrinate new developers. On one hand, he suggested
that the need to ensure a training regimen stemmed from technical
choices like using CVS (where commit access is required). Using Git
instead would alleviate some of the concern about adding new
developers, because they could still do useful work in their own
trees. More developers with more freedom to improve packages, he
said, "would be a good thing. The all-or-nothing model too often
turns out to be nothing."
On the other hand, Freeman argued
that the non-technical topics in the quizzes — such as learning
to work within teams, ask questions, and build consensus — are
more important in the long term:
What really causes havoc around here is when people change ebuilds
without consulting with the maintainer, or when they go tweaking
system packages without a great deal of care and being part of the
appropriate team, and so on. [...] Many of these issues have dwindled
in recent years, and I think it is precisely because teams like the
recruiters have been paying more careful attention to them.
Freeman may have summed up the feelings of many Gentoo developers: the
specifics of the training process are less important than the fact
that is it deliberate and guided by active mentors and recruiters,
because the end goal is to integrate the new developers into the
Gentoo community — not to train them on a particular suite of
tools. On that front, the web application still has its share of
fans. Theo Chatzimichos said
he prefers it to the email-driven quizzes because it simplifies
keeping track of recruits' answers. Chatzimichos said he mentors two
or three recruits at a time, and proposed putting out a call for
volunteers to revamp the web application, while making sure to not let
the web application get out-of-sync with the quizzes.
In an email, Chandras said that Gentoo averages 10 to 15 recruits per
year. That may not be many when compared to large distributions like
Ubuntu or Fedora, but in a sense it only makes the recruitment process
more critical. It is clear from the discussion that neither the old
email-driven quizzes nor the recent web application quite meet
everyone's needs — but at least the recruiters and the mentors
are committed to sticking with the process even in spite of its
awkward points.
(
Log in to post comments)