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

Below are the essential guides that every developer should read.

.. toctree::
   :maxdepth: 1

   license-rules
   howto
   code-of-conduct
   code-of-conduct-interpretation
   development-process
   submitting-patches
   handling-regressions
   programming-language
   coding-style
   maintainer-handbooks
   maintainer-pgp-guide
   email-clients
   kernel-enforcement-statement
   kernel-driver-statement

Other guides to the community that are of interest to most developers are:

.. toctree::
   :maxdepth: 1

   changes
   submitting-drivers
   stable-api-nonsense
   management-style
   stable-kernel-rules
   submit-checklist
   kernel-docs
   deprecated
   embargoed-hardware-issues
   maintainers
   researcher-guidelines

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

.. toctree::
   :maxdepth: 1

   applying-patches
   adding-syscalls
   magic-number
   volatile-considered-harmful
   botching-up-ioctls
   clang-format
   ../riscv/patch-acceptance
   ../core-api/unaligned-memory-access

.. only::  subproject and html

   Indices
   =======

   * :ref:`genindex`
