Gentoo Archives: gentoo-project

From: Alec Warner <antarus@g.o>
To: gentoo-project <gentoo-project@l.g.o>
Subject: Re: [gentoo-project] The problem of defunct and undermanned projects in Gentoo
Date: Wed, 19 Jul 2017 17:25:34
Message-Id: CAAr7Pr_NR+phvkjMbw7A_86WZEa5QWv=_b-ne1t0eBnB9Rs=DQ@mail.gmail.com
In Reply to: Re: [gentoo-project] The problem of defunct and undermanned projects in Gentoo by "Michał Górny"
1 On Tue, Jul 18, 2017 at 5:40 PM, Michał Górny <mgorny@g.o> wrote:
2
3 > On wto, 2017-07-18 at 22:35 +0100, M. J. Everitt wrote:
4 > > On 18/07/17 22:23, Kent Fredric wrote:
5 > > > On Tue, 18 Jul 2017 22:12:45 +0100
6 > > > "M. J. Everitt" <m.j.everitt@×××.org> wrote:
7 > > >
8 > > > > I think mgorny was doing some general commit stats, and I have yet to
9 > > > > compile my own, but it would be very interesting to see how many
10 > > > > 'active' team members there were in any given project. I suspect the
11 > > > > results could be very telling ...
12 > > >
13 > > > Its not even like they're "inactive", they're just not active *in the
14 > team*.
15 > > >
16 > > > For some, there's no reason for them to devaway:
17 > > >
18 > > > - They're on IRC
19 > > > - They commit daily
20 > > >
21 > > > But they're on teams they seldom do things in.
22 > > >
23 > > > This is probably more true the more teams you're on.
24 > >
25 > > Then why are you 'in' the team.. I mean, there's one thing to idle on an
26 > > IRC channel, but membership does normally imply some form of
27 > > contribution, no? Or is it just to make you 'look'
28 > > interested/popular/part-of-the-furniture ....
29 >
30 > Well, that *is* a problem. However, we are supposed to be friendly
31 > and nice, and not tell other developers that they have done literally
32 > nothing during the 2 years they're part of some project. That could
33 > discourage them from contributing.
34 >
35
36 > You are also not supposed to try to offload yourself and distribute
37 > the work to them. That's bossing around, and it discourages others from
38 > actually doing anything.
39 >
40 > So, well, you're just supposed to smile and thank them for doing nothing
41 > for the project because otherwise they could feel offended
42 > and discouraged from doing anything,
43 >
44
45 I am reading a lot of frustration in your comments. I know I have been on a
46 team(s) where this was the case and it was difficult to resolve. I've also
47 been that person who doesn't contribute but "hangs around". It might be
48 possible to think about better ways to measure progress and staffing than
49 just 'people'. Its pretty clear that 'people on the team' has little
50 relation to 'work done by the team'. So lets try to break that entirely?
51
52 I want to be clear that "being friendly and nice" is not necessarily the
53 reason why we do not encourage the behavior you state. I suspect telling
54 people they have not done anything recently doesn't necessarily encourage
55 them to do stuff. Most of them have actual reasons for not contributing
56 (whatever they may be) and often a simple conversation doesn't magically
57 free up time for them, nor encourage them to start doing more.
58
59 When I read your comments I see some issues being raised:
60
61 How do you recruit new people to join a team that already has "a lot of
62 people" working on problems?
63 How do you set up incentives to entice existing team members to contribute
64 more?
65 Why do people who do nothing stick around?
66
67 The most obvious thing to change is what I mentioned earlier, stop focusing
68 on "number of humans" and focus on things like "backlog of work for team"
69 and "velocity of team." Note that this requires ~agreement on what other
70 metric to use (like bug backlog) and tools to measure the backlog and
71 velocity. The GMN used to have some of these metrics for bugs.
72
73 So one idea might be to measure bug backlog and bug velocity. Teams that
74 have a backlog that is not growing at a large rate, or even teams with
75 positive velocity (they tend to close all of their bugs eventually or keep
76 the backlog in a specific range) probably don't need operational help (they
77 are correctly staffed for their workload.) Teams that have a growing
78 backlog and negative velocity are understaffed (they will only get further
79 and further behind.)
80
81 Note that these metrics don't necessarily care about the number of people
82 on the project, or how much each person contributes. It only cares about
83 the velocity of the project as a whole in relation to their bug queue. Its
84 certainly not how many projects will want to work (many teams want to keep
85 bugs open forever, for example.) In the past I've seen a bug "purgatory"
86 type label used for this, where bugs that someone looked at and decided
87 "well this is useful to keep open but isn't on the roadmap or we don't
88 necessarily plan on doing it" gets pushed into the "Purgatory"; it stays in
89 the bug system (open even!) but we don't count purgatory bugs as part of
90 the backlog.
91
92 I suspect this type of thing would be tough to deploy in Gentoo as a whole
93 (because people enjoy their particular way of managing their project and
94 dislike change) but its one idea to try to manage staffing of teams via
95 different metrics. It also requires a manager; someone who cares about the
96 bug metrics, to actually look at the metrics and manage the backlog. Given
97 existing team managers also do not look at their staffing numbers (e.g. the
98 staffing needs page is poorly maintained) I'm not convinced adopting a
99 different solution will necessarily have good effects. In the end someone
100 inside of Gentoo needs to care about things like sourcing, staffing, and
101 recruiting. Recruiters certainly care about the latter; but I'm not sure
102 the former has any particular owner.
103
104 I'm not sure how we can incentivize developers to contribute more. One
105 thing we did in the past to recognize developers was to interview them in
106 the GMN. I had considered doing a similar thing like "top developer of the
107 month" or something to reward contributions in some way. I had also
108 considered taking Google's "peer bonus" concept and trying to reward
109 exceptional contributions with Foundation money (via some kind of voting
110 process or having the council give out awards or something.) However that
111 had numerous legal implications (and tax implications for the receiver) and
112 so it was nixed.
113
114 For people who just 'hang around' I think Gentoo as a whole could offer
115 clearer developer emeritus benefits that might convince people who are not
116 doing a whole lot to actually accept retirement / emeritus status. A lot of
117 people stick around to be 'in the group' and to keep their email. As long
118 as they remain in one project they can stick around! We have the
119 undertakers project and they do great work; but it can still take many
120 months / years to actually retire someone determined to stick around but
121 not contributing anything meaningful.
122
123 -A
124
125
126 > --
127 > Best regards,
128 > Michał Górny
129 >

Replies