| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- .. SPDX-License-Identifier: GPL-2.0
- ========================================
- Linux Kernel Contribution Maturity Model
- ========================================
- Background
- ==========
- As a part of the 2021 Linux Kernel Maintainers’ Summit, there was a
- `discussion <https://lwn.net/Articles/870581/>`_ about the challenges in
- recruiting kernel maintainers as well as maintainer succession. Some of
- the conclusions from that discussion included that companies which are a
- part of the Linux Kernel community need to allow engineers to be
- maintainers as part of their job, so they can grow into becoming
- respected leaders and eventually, kernel maintainers. To support a
- strong talent pipeline, developers should be allowed and encouraged to
- take on upstream contributions such as reviewing other people’s patches,
- refactoring kernel infrastructure, and writing documentation.
- To that end, the Linux Foundation Technical Advisory Board (TAB)
- proposes this Linux Kernel Contribution Maturity Model. These common
- expectations for upstream community engagement aim to increase the
- influence of individual developers, increase the collaboration of
- organizations, and improve the overall health of the Linux Kernel
- ecosystem.
- The TAB urges organizations to continuously evaluate their Open Source
- maturity model and commit to improvements to align with this model. To
- be effective, this evaluation should incorporate feedback from across
- the organization, including management and developers at all seniority
- levels. In the spirit of Open Source, we encourage organizations to
- publish their evaluations and plans to improve their engagement with the
- upstream community.
- Level 0
- =======
- * Software Engineers are not allowed to contribute patches to the Linux
- kernel.
- Level 1
- =======
- * Software Engineers are allowed to contribute patches to the Linux
- kernel, either as part of their job responsibilities or on their own
- time.
- Level 2
- =======
- * Software Engineers are expected to contribute to the Linux Kernel as
- part of their job responsibilities.
- * Software Engineers will be supported to attend Linux-related
- conferences as a part of their job.
- * A Software Engineer’s upstream code contributions will be considered
- in promotion and performance reviews.
- Level 3
- =======
- * Software Engineers are expected to review patches (including patches
- authored by engineers from other companies) as part of their job
- responsibilities
- * Contributing presentations or papers to Linux-related or academic
- conferences (such those organized by the Linux Foundation, Usenix,
- ACM, etc.), are considered part of an engineer’s work.
- * A Software Engineer’s community contributions will be considered in
- promotion and performance reviews.
- * Organizations will regularly report metrics of their open source
- contributions and track these metrics over time. These metrics may be
- published only internally within the organization, or at the
- organization’s discretion, some or all may be published externally.
- Metrics that are strongly suggested include:
- * The number of upstream kernel contributions by team or organization
- (e.g., all people reporting up to a manager, director, or VP).
- * The percentage of kernel developers who have made upstream
- contributions relative to the total kernel developers in the
- organization.
- * The time interval between kernels used in the organization’s servers
- and/or products, and the publication date of the upstream kernel
- upon which the internal kernel is based.
- * The number of out-of-tree commits present in internal kernels.
- Level 4
- =======
- * Software Engineers are encouraged to spend a portion of their work
- time focused on Upstream Work, which is defined as reviewing patches,
- serving on program committees, improving core project infrastructure
- such as writing or maintaining tests, upstream tech debt reduction,
- writing documentation, etc.
- * Software Engineers are supported in helping to organize Linux-related
- conferences.
- * Organizations will consider community member feedback in official
- performance reviews.
- Level 5
- =======
- * Upstream kernel development is considered a formal job position, with
- at least a third of the engineer’s time spent doing Upstream Work.
- * Organizations will actively seek out community member feedback as a
- factor in official performance reviews.
- * Organizations will regularly report internally on the ratio of
- Upstream Work to work focused on directly pursuing business goals.
|