Documentation/process/contribution-maturity-model.rst
Source file repositories/reference/linux-study-clean/Documentation/process/contribution-maturity-model.rst
File Facts
- System
- Linux kernel
- Corpus path
Documentation/process/contribution-maturity-model.rst- Extension
.rst- Size
- 4538 bytes
- Lines
- 110
- Domain
- Support Tooling And Documentation
- Bucket
- Documentation
- Inferred role
- Support Tooling And Documentation: documentation
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
.. 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
Annotation
- Atlas domain: Support Tooling And Documentation / Documentation.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.