13
Maintainers Don't Scale Daniel Vetter, Intel OTC Kernel Recipes 2016, Paris

Kernel Recipes 2016 - Maintainer’s Don’t Scale

Embed Size (px)

Citation preview

Page 1: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

Maintainers Don't Scale

Daniel Vetter, Intel OTCKernel Recipes 2016, Paris

Page 2: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

why?

● impossible to volunteer new co-maintainers● perception of bottleneck in running

$ git apply­mbox

Page 3: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

why not … ?

● submaintainers or topic trees (arm-soc model)● moar scripts! (gregkh model)

Page 4: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

(after) KS 2015

● Linus endorsing group maintainer models● 2 maintainers, ~15 committers● … it's just a big group

Page 5: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

disaster failed to materialize

● over the top happy contributors● much better mesh collaboration● now suddenly a bored maintainer● commit rights is a really good carrot● bonus: distributed integration conflict handling

Page 6: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

maintainer as a service

● coordination with other trees● consensus engineering● connecting people● pull requests & nonlinear commits● taking the blame

Page 7: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

ingredients: a team

● non-maintainer reviews as the norm● consistent group● drive-by contributions as a minority

Page 8: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

ingredients: docs&tools

● dim maintainer tools: https://cgit.freedesktop.org/drm/drm-intel/log/?h=maintainer-tools

● process documentation:https://01.org/linuxgraphics/gfx-docs/maintainer-tools/drm-intel.html

● manpage, bash completion & kitchen sink

Page 9: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

ingredients: CI

● IGT gpu tools&tests: https://cgit.freedesktop.org/drm/igt-gpu-tools/

● series-aware patchwork to tie into m-l● hard problem

Page 10: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

ingredients: rough consensus

● defaulting to no action● agreement on goals and target● disagreement on the path is acceptable● stakeholders = committers/regular contributors

Page 11: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

ingredients: bugfix flow

● all bugfixes applied to -next● only maintainers cherry-pick to -fixes

● git merge ­X ours for backmerges

● handled using Fixes: tags

Page 12: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

next (well, at KS)

● updating MAINTAINERS● tree-wide refactorings vs. bugfix flow● more maintainer teams like this?● KS invitations?

Page 13: Kernel Recipes 2016 -  Maintainer’s Don’t Scale

summary

● much more scalable leaf maintainer model● (big) group resilience● integrates into the maintainer hierarchy● now rolling out for drm-misc