Documentation / process


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
.. raw:: latex

	\renewcommand\thesection*
	\renewcommand\thesubsection*

.. _process_index:

=============================================
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.

.. toctree::
   :maxdepth: 1

   howto
   development-process
   submitting-patches
   submit-checklist

Tools and technical guides for kernel developers
------------------------------------------------

This is a collection of material that kernel developers should be familiar
with.

.. toctree::
   :maxdepth: 1

   changes
   programming-language
   coding-style
   maintainer-pgp-guide
   email-clients
   applying-patches
   backporting
   adding-syscalls
   volatile-considered-harmful
   botching-up-ioctls

Policy guides and developer statements
--------------------------------------

These are the rules that we try to live by in the kernel community (and
beyond).

.. toctree::
   :maxdepth: 1

   license-rules
   code-of-conduct
   code-of-conduct-interpretation
   contribution-maturity-model
   kernel-enforcement-statement
   kernel-driver-statement
   stable-api-nonsense
   stable-kernel-rules
   management-style
   researcher-guidelines

Dealing with bugs
-----------------

Bugs are a fact of life; it is important that we handle them properly.
The documents below describe our policies around the handling of a couple
of special classes of bugs: regressions and security problems.

.. toctree::
   :maxdepth: 1

   handling-regressions
   security-bugs
   cve
   embargoed-hardware-issues

Maintainer information
----------------------

How to find the people who will accept your patches.

.. toctree::
   :maxdepth: 1

   maintainer-handbooks
   maintainers

Other material
--------------

Here are some other guides to the community that are of interest to most
developers:

.. toctree::
   :maxdepth: 1

   kernel-docs
   deprecated

These are some overall technical guides that have been put here for now for
lack of a better place.

.. toctree::
   :maxdepth: 1

   magic-number
   clang-format
   ../arch/riscv/patch-acceptance
   ../core-api/unaligned-memory-access

.. only::  subproject and html

   Indices
   =======

   * :ref:`genindex`