
- #SUBMITTING TO LINUX KERNEL SOFTWARE#
- #SUBMITTING TO LINUX KERNEL CODE#
- #SUBMITTING TO LINUX KERNEL SERIES#
Stable releases are normally only maintained for a few mainline release cycles, unless they are marked as long-term releases (LTR). Long term: Long-term releases are stable releases selected for long-term maintenance to provide critical bug fixes for older kernel trees. Stable kernel updates are released on average, once a week, or as and when required. Any bug fixes for a stable kernel are backported from the mainline kernel and applied to stable git by a designated stable kernel release maintainer.

After Linus releases a mainline kernel, it moves into stable mode. Stable: Stable releases are bug fix-only releases. Kernel developers test these releases for bugs and regressions. These releases must be compiled from source. Release Candidate: Release Candidate or RC releases are mainline kernel pre-releases that are used for testing new features in the mainline. During this period, the developers, maintainers are busy so new developers might see a slow response from the community. Please note that the quiet period isn't formalized, and each sub-system might handle it differently. Maintainers and key contributors are busy getting their trees ready to send pull requests to Linus. One week after rc1 was released, rc2 comes out rc3 comes out a week later, and so on, until all the bugs have been fixed! Regressions are also resolved if they are present.Ī new cycle begins with 3 weeks of quiet period, which starts a week before the release, and continues through the 2-week merge window.
#SUBMITTING TO LINUX KERNEL SERIES#
During this period, a series of release candidates (rc) are released by Linus. Now the cycle moves into the bug fixes-only mode.
#SUBMITTING TO LINUX KERNEL CODE#
As the name itself suggests, merging of all the development code together! Thousands of change sets (patches) are pulled into Linus's tree during this 2-week window, at the end of which he releases the first release candidate known as rc1. All the major new development is added to the kernel in this merge window. Subsystem maintainers send signed git pull requests to Linus either during the merge window or before. During this merge window, he pulls the code for the next release from subsystem maintainers. This process initiates with Linus Torvalds, wherein, he releases a new kernel and then opens a 2-week merge window. These new versions are called kernel releases. A new version of the kernel is released when a set of features and bug fixes are ready. The kernel development is a continuous process.

That means releases are not held up for features. Releases are time-based rather than feature based. The Linux kernel is not a product of one single person, in fact, it is a result of collaborative development efforts from developers all around the world! Small incremental changes to the kernel, also known as patches, add new features, make enhancements, as well as fix bugs.Ī new release comes out once every 10 to 11 weeks. You can check out her blog for more details. In addition, she is helping with stable release kernel testing. She has also contributed to IOMMU, and DMA areas. Shuah maintains the Kernel Selftest framework, USB over IP driver, and cpupower, and is an active contributor to the Linux media subsystem. She is an experienced Linux Kernel developer, maintainer, and contributor. Shuah Khan is a Linux Kernel Fellow at The Linux Foundation. Most of the information shared in this article is taken from the course A Beginners Guide to Linux Kernel Development and the Linux kernel's documentation. Also, I would like to give credit to The Linux Foundation and Shuah Khan for the content of this article.

I have tried to curate the content from various resources. I would like to share what I am learning about the Linux kernel development process via this article. At all times, new development and current release integration cycles run in parallel. It is a 24 hour a day, seven days a week, 365 day a year development process that results in a new release once every 9-10 weeks, along with several stable and extended stable releases. Over 13,000 kernel developers from around the world have contributed to the Linux kernel. The Linux kernel is the largest component of the Linux ecosystem, and is charged with managing the hardware, running user programs, and maintaining the security and integrity of the whole system.
#SUBMITTING TO LINUX KERNEL SOFTWARE#
Linux, created by Linus Torvalds, as a hobby project, has become the world’s largest open source software project in the history of computing.
