On moving on from being a maintainer
The maintainer of a Linux subsystem has a large, and largely thankless, job to do. While reviewing patches is clearly technical in nature, much of the rest of the work is almost clerical—and it takes enough time that there may be little or no time for programming or other actively technical tasks. Thus, it is not a surprise to see that maintainers burn out over time and start looking for other work (in the kernel or elsewhere) to do. In fact, it is surprising that it doesn't happen more often. However, there is no clear path for relinquishing the maintainer role—and generally no succession plan—which can make the transition kind of tricky.
That scenario is currently playing out for the md (software RAID)
subsystem, where
maintainer Neil Brown has announced that he
intends to step down on February 1. Brown got "sucked
in
" to being
the md maintainer in late 2001 because there was no one else doing it.
Since there is no "obvious
candidate for replacement maintainer - no one who has already been
doing significant parts of the maintainer role
", he intends to
create a maintainership vacuum in the hopes that one or more folks step up
to fill the role.
He laments that he has not been able to attract additional maintainers,
though he noted that there
are some folks in the md community who are certainly capable of doing the
job. The question,
in Brown's eyes, is whether or not they "care about the code and the
subsystem
", which is something that only individuals can determine
for themselves. That means he doesn't feel in a position to appoint anyone
to the role and would like to see folks volunteer. By stepping down, he
hopes that might create a little pressure to step up.
As he noted, Linus Torvalds has expressed a preference for small maintainer
teams, which might make sense for md. Another alternative might be for the
device mapper (dm) maintainer team to add md maintainer duties. Beyond
just md, though, he is also relinquishing the maintainer role for the mdadm administrative tool.
That could be handled by the new md maintainer or team, though he would
prefer to see different people maintain md and mdadm. According to Brown
(in response to an email query), there are two main reasons he favors that
separation: it worked well when he handed off nfsd to Bruce Fields and
nfs-utils to Steve Dickson, but also that "it encourages public
accountability - it is too easy for me to
make an API change to md, start using it in mdadm, and not have anyone
review it
".
Brown's announcement describes the responsibilities of a maintainer as he sees them:
- to gather and manage patches and outstanding issues,
- to review patches or get them reviewed
- to follow up bug reports and get them resolved
- to feed patches upstream, maybe directly to Linus, maybe through some other maintainer, depending on what relationships already exist or can be formed,
- to guide the longer term direction (saying "no" is important sometimes),
- to care,
As can be seen, there is a great deal to do. He also noted that another
job he had previously spent a lot of time on, following the linux-raid
mailing list to provide support on md-related issues, has fallen
by the wayside for him. But, in what might be a preview of what will
happen with the maintainer role, others in the md community have stepped
up. He is "absolutely
thrilled that the gap has been more than filled by other very competent
community members
".
Though he soon won't be doing the maintainer's job, Brown is not disappearing from the md world. He has committed to continue work on the raid5-journal and raid1-cluster projects. He would also be willing to mentor any volunteers and will still review some patches as well as comment on designs. He concluded with a call to action:
Certainly Brown is not the only maintainer to find that they have tired of doing that job. Back at the end of 2014, John Linville stepped down as the wireless network maintainer by "promoting" some of the subsystem maintainers and handing off the wireless driver patch handling to Kalle Valo. The mac80211, bluetooth, and nfc maintainers were asked to start pushing their patches directly to network maintainer David Miller, rather than going through Linville's tree. It seems that Linville had been more successful in finding maintainers along the way—or in them finding him—which simplified his decisions when he decided to work on other things. The wireless subsystem is rather larger than md, however, which tends to foster a bigger pool of potential maintainers.
As with other parts of the kernel development process, the maintainership role is a bit haphazard. Maintainers handle their duties as they see fit and focus their efforts in different ways. The main job is to get the right patches in a—hopefully—timely manner to Torvalds and into the mainline. Determining which patches are "right" is part of the job, too, of course, but some maintainers (including Torvalds) largely leave that job to their sub-maintainers, while others do not. Some of that can be seen in our article on how patches get to the mainline.
In most cases, the maintainer's style has likely come about organically over time—certain things seemed to work for them. But that style may impact how a transition out of the role will need to be handled. For md, there may be some folks interested in the maintainer job (or, more likely, team), who spoke up in the short thread. While it may seem a little crazy to those outside the kernel development community, creating a vacuum as an exit strategy may actually work better than other mechanisms—at least for some subsystems and maintainers.
Index entries for this article | |
---|---|
Kernel | Development model/Maintainers |
(Log in to post comments)
On moving on from being a maintainer
Posted Jan 7, 2016 11:00 UTC (Thu) by johannbg (subscriber, #65743) [Link]
With teams comes the need for team leaders and so far none of the respondents on Neil's departure thread have possessed the passion and enthusiasm he hopes from his replacement and or possess the leadership gene since the response all more or less boil down to "I'm willing to do this for as long as I get payed to do it from my employee" opposed to I'm willing to do this because I'm interested and exited to do it because I think it's "fun".
It's going to be interested to see how the kernel community handles this and other departures as in the more and more needed generation change and what shape the kernel will take as more and more maintainers will be stepping down.
On moving on from being a maintainer
Posted Jan 7, 2016 11:40 UTC (Thu) by HIGHGuY (subscriber, #62277) [Link]
On moving on from being a maintainer
Posted Jan 7, 2016 16:05 UTC (Thu) by johannbg (subscriber, #65743) [Link]
On moving on from being a maintainer
Posted Jan 8, 2016 9:47 UTC (Fri) by pbonzini (subscriber, #60935) [Link]
Subsystem maintainer teams: the need for a leader
Posted Jan 10, 2016 2:56 UTC (Sun) by giraffedata (guest, #1954) [Link]
Teams always have leaders. If one isn't formally appointed, then it's whoever is most obnoxious. Or, sometimes, has the most time. If you're on a team that you think is functioning well without a leader, you're probably the leader.
Communication is not an alternative to leadership; one of the most important functions of a team leader is facilitating communication within the team.
Subsystem maintainer teams: the need for a leader
Posted Jan 11, 2016 9:34 UTC (Mon) by rvfh (guest, #31018) [Link]
I think a group of individuals that are not formatted by the western way of thinking can do without a leader. That may mean that, at times, one of the members of the team will be followed/listened to by the others because of their knowledge in the matter at hand, but globally every one can have their own role and use communication (you know that stuff humans are so good at :-)) to work together.
Maybe I'm just a dreamer though...
Subsystem maintainer teams: the need for a leader
Posted Jan 11, 2016 10:48 UTC (Mon) by NAR (subscriber, #1313) [Link]
Subsystem maintainer teams: the need for a leader
Posted Jan 11, 2016 11:21 UTC (Mon) by HIGHGuY (subscriber, #62277) [Link]
And even if there's a stalemate, it always helps to bring in either 'upstream' (e.g. Linus himself) or other 3rd parties that can help decide. Or better, the whole stalemate discussion can be avoided by having 3 people handle things, rather than 2.
Then all you need is proper communication between the 3 (and between them and the other contributors).
On moving on from being a maintainer
Posted Jan 7, 2016 20:02 UTC (Thu) by msnitzer (guest, #57232) [Link]
As for Shaohua expressing his employer supports him: that is a _good_ thing. It doesn't imply that is the only reason he'd be interested. It implies he doesn't need to moonlight as an MD maintainer on his own time. Being a maintainer takes work. Those qualified to do it need to find a employer that values that work and is willing to pay for it to be done. IMHO, having employer support makes for a more responsive and well-maintained subsystem.
On moving on from being a maintainer
Posted Jan 7, 2016 22:35 UTC (Thu) by johannbg (subscriber, #65743) [Link]
I also don't have any vested interest in the future of md it can stay or be deprecated and removed from kernel for all I care
Here you have a well respected, helpful kernel maintainer and mentor, an individual that has dedicated close to 15 years of his life ( Neil thanks for that dedication to md all those years ) through all the ups and downs that life has to offer stepping down from his maintainership in that particular area of maintenance and interest.
How this gets resolved and evolves is what interest me since the solution and evolution to his departure in this area might shed light of what's to come as well as being applicable to other areas within the kernel community as well as outside it since there are similarities in patters that take place in the kernel community that take place in other communities as well.
With regards to corporate involvement in open community's through employment you only have to look at Red Hat to see both the good ( various upstreams ) and the bad ( Fedora ) sides of how corporate involvement can affect communities and I have to disagree with your statement that those qualified to do it need to find a employer that values that work and is willing to pay for it to be done.
It most certainly will help that ( or those ) individual(s) that are interested in md ( or any other project for that matter ) and care about the code and it's future but if his ( or their ) interest does not expand beyond their employer and his willingness to fill his ( or their ) pocket(s) then his or their time is better spent coding on something else, outside open communities.
On moving on from being a maintainer
Posted Jan 8, 2016 4:02 UTC (Fri) by msnitzer (guest, #57232) [Link]
On moving on from being a maintainer
Posted Jan 8, 2016 5:34 UTC (Fri) by neilbrown (subscriber, #359) [Link]
I could add to the words what I have seen over the months and years of the competence and involvement of the individuals, but none of that was demonstrated in the role of upstream maintainer, so how relevant is it?
I could add personal recommendations from colleagues who themselves are upstream maintainers (recommendations you of course wouldn't be expected to be privy to), but again it is a recommendation that someone might be good at a role they have never filled before. How much is objective and how much hopeful? Hard to say.
I would suggest that the fact that people have counted the cost and have chosen to put themselves forward is worth at least as much as all of the rest of the positives. It is an action, not just words. But even that only provides a small amount of confidence.
What really matters is what happens over the next few months, and none of us knows that that will be until it happens. Sometimes you have to take a risk and trust someone before they can excel.
I'm not really concerned about an employer limiting someones involvement. History suggests that anyone who demonstrates competence as a kernel maintainer will be able to find employment doing that if they want it.
As I said I think MD, like any subsystem, needs someone to care. Care is shown in actions more than in words. Let's watch the actions.
And for the record: my work on MD has always been supported by my employer and I suspect that is true for the vast majority of maintainers. My work in other areas of the kernel which was not (strongly) supported by my employer has been very sporadic. Those are just the realities of life for those of us who are not independently wealthy.
On moving on from being a maintainer
Posted Jan 14, 2016 9:46 UTC (Thu) by hitmark (guest, #34609) [Link]