summaryrefslogtreecommitdiff
path: root/Documentation/process/index.rst
blob: 6cb732dfcc72245639e93638083c60fdb7141195 (plain)
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
.. 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
   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`