2. LinuxKernelDevelopmentProcess
Release Cycle Step 2
2 Week Merge Window: Maintainers send git pull requests to Linus goes through the cycle of pulling each request and testing during the merge window.
Quiet Period
From about a week before the release through the 2 week merge window. So 3 weeks in total.
Kernel Tree
Kernel Git Repo, can be either Main or a Subsytem
Release Cycle Step 3
Linus releases Release Candidate 5.3-rc1: Merge Window is closed, and the 6-7 week integration cycle for fixing bugs, and regressions, begins
Release Cycle Step 1
Linus releases mainline 5.2
Long-Term Release
Long-Term Releases are stable releases selected for long-term maintenance to provide critical bug fixes for older kernel trees. Stable releases are normally only maintained for a few mainline release cycles
More Linux-Next Tree
Patches in Linux-Next after and during the merge window are for the Next Release.
Release Candidate
Release Candidate or RC releases are mainline kernel pre-releases that are used for testing features in the mainline. These releases must be compiled from source. Kernel developers test these releases for bugs and regressions
Patches
Small incremental changes that might add new features, make enhancements, or fix bugs
Release Cycle Step 4
Stable Release Cycle Process: First Stable 5.2.1 released with bug fixes from mainline (5.3.-rc1) with other active stable releases. Bug fixes will be included in all active stable releases.
Stable Release
Stable releases are bug fix-only releases. After Linus releases a mainline kernel, it moves into a stable mode. Any bug fixes for a stable kernel are back ported from the mainline kernel and applied to a stable git by a designated stable kernel release maintainer. Stable kernels are released on average, once a week, or on an as needed basis
Mainline Kernel Tree
The tree is maintained by Linus Torvalds. This is where Linus releases mainline kernels and rc releases
Stable Tree
The tree maintained by Greg Kroah-Hartman. This tree holds the stable release branches
Linux-Next Tree
This is the integration tree maintained by Stephen Rothwell. Code from a large number of subsytem trees gets pulled into this tree periodically and then released for integration testing. The process of pulling changes from various trees catches merge conflicts (if any) between trees
Release Cycle Step 5
Will there be a rc8?: Linus releases the mainline stable after rc7 or rc8 based on his confidence level of the quality