Working with the kernel development communityÂķ
So you want to be a Linux kernel developer? Welcome! While there is a lot to be learned about the kernel in a technical sense, it is also important to learn about how our community works. Reading these documents will make it much easier for you to get your changes merged with a minimum of trouble.
An introduction to how kernel development worksÂķ
Read these documents first: an understanding of the material here will ease your entry into the kernel community.
Tools and technical guides for kernel developersÂķ
This is a collection of material that kernel developers should be familiar with.
- Minimal requirements to compile the Kernel
- Programming Language
- Linux kernel coding style
- Kernel Maintainer PGP guide
- Email clients info for Linux
- Applying Patches To The Linux Kernel
- Backporting and conflict resolution
- Adding a New System Call
- Why the âvolatileâ type class should not be used
- (How to avoid) Botching up ioctls
Policy guides and developer statementsÂķ
These are the rules that we try to live by in the kernel community (and beyond).
- Linux kernel licensing rules
- Contributor Covenant Code of Conduct
- Linux Kernel Contributor Covenant Code of Conduct Interpretation
- Linux Kernel Contribution Maturity Model
- Linux Kernel Enforcement Statement
- Kernel Driver Statement
- The Linux Kernel Driver Interface
- Everything you ever wanted to know about Linux -stable releases
- Linux kernel management style
- Researcher Guidelines
- Kernel Guidelines for Tool-Generated Content
- AI Coding Assistants
- Linux kernel project continuity
Dealing with bugsÂķ
Bugs are a fact of life; it is important that we handle them properly. The documents below provide general advice about debugging and describe our policies around the handling of a couple of special classes of bugs: regressions and security problems.
Maintainer informationÂķ
How to find the people who will accept your patches.
Other materialÂķ
Here are some other guides to the community that are of interest to most developers: