I'm now compiling the linux kernel 2.6, and finding there are more than 1,000 modules in total. How is a module approved to be included into the linux kernel?
migrated from serverfault.com Mar 21 '11 at 2:44
A patch or a git pull request is submitted with a request for comments. This is sometimes done to the kernel mailing list, but is frequently done on other lists pertaining to the subject of the patch first. Sometimes discussion about a proposed module is brought up before any code is even written. People ask why the patch is necessary, state their objections, and point out improvements that could be made. This is an iterative process. When the author is comfortable, he submits it to the Linux kernel mailing list during a time called the merge window.
The moment an official release is made, the opening of the merge window for the next version begins. As part of the closing of the merge window, a patch is either accepted or not. If the patch is accepted, the only further changes to that section of code that are allowed are bug fixes. Also as part of the closing of the merge window, a new RC (release candidate) version of the kernel is released. Almost always, people will have problems with the patch and bugs will need to be fixed or the patch will be reverted.