Anas Nashif | f09948b | 2022-04-05 09:25:00 -0400 | [diff] [blame] | 1 | .. _contribute_to_zephyr: |
David B. Kinder | 2d4728d | 2017-07-27 17:04:04 -0700 | [diff] [blame] | 2 | |
Anas Nashif | f09948b | 2022-04-05 09:25:00 -0400 | [diff] [blame] | 3 | Contributing to Zephyr |
| 4 | ###################### |
Anas Nashif | 541b261 | 2021-04-16 10:15:06 -0400 | [diff] [blame] | 5 | |
Benjamin Cabé | 6db5d84 | 2023-10-04 21:51:16 +0200 | [diff] [blame] | 6 | Contributions from the community are the backbone of the project. Whether it is by submitting code, |
| 7 | improving documentation, or proposing new features, your efforts are highly appreciated. This page |
| 8 | lists useful resources and guidelines to help you in your contribution journey. |
| 9 | |
| 10 | General Guidelines |
| 11 | ================== |
| 12 | |
Anas Nashif | dd41aca | 2021-05-05 20:16:14 -0400 | [diff] [blame] | 13 | .. toctree:: |
| 14 | :maxdepth: 1 |
Benjamin Cabé | 6db5d84 | 2023-10-04 21:51:16 +0200 | [diff] [blame] | 15 | :hidden: |
Anas Nashif | dd41aca | 2021-05-05 20:16:14 -0400 | [diff] [blame] | 16 | |
Anas Nashif | f09948b | 2022-04-05 09:25:00 -0400 | [diff] [blame] | 17 | guidelines.rst |
Anas Nashif | 4cecaf0 | 2025-01-16 07:44:44 -0500 | [diff] [blame] | 18 | contributor_expectations.rst |
Anas Nashif | 09a0beb | 2025-01-19 13:07:22 -0500 | [diff] [blame] | 19 | reviewer_expectations.rst |
Anas Nashif | dd41aca | 2021-05-05 20:16:14 -0400 | [diff] [blame] | 20 | coding_guidelines/index.rst |
Anas Nashif | b1043de | 2025-01-22 07:58:28 -0500 | [diff] [blame] | 21 | style/index.rst |
Benjamin Cabé | 6db5d84 | 2023-10-04 21:51:16 +0200 | [diff] [blame] | 22 | proposals_and_rfcs.rst |
Anas Nashif | 831a018 | 2025-01-16 12:21:12 -0500 | [diff] [blame] | 23 | modifying_contributions.rst |
| 24 | |
Benjamin Cabé | 6db5d84 | 2023-10-04 21:51:16 +0200 | [diff] [blame] | 25 | |
| 26 | :ref:`contribute_guidelines` |
| 27 | Learn about the overall process and guidelines for contributing to the Zephyr project. |
| 28 | |
| 29 | This page is a mandatory read for first-time contributors as it contains important information on |
| 30 | how to ensure your contribution can be considered for inclusion in the project and potentially |
| 31 | merged. |
| 32 | |
| 33 | :ref:`contributor-expectations` |
Benjamin Cabé | df294e3 | 2024-09-10 19:51:57 +0200 | [diff] [blame] | 34 | This document is another mandatory read that describes the expected behavior of *all* |
Benjamin Cabé | 6db5d84 | 2023-10-04 21:51:16 +0200 | [diff] [blame] | 35 | contributors to the project. |
| 36 | |
Anas Nashif | 09a0beb | 2025-01-19 13:07:22 -0500 | [diff] [blame] | 37 | :ref:`reviewer-expectations` |
| 38 | This document is another mandatory read that describes the expected behavior when revieweing |
| 39 | contributions to the project. |
| 40 | |
Benjamin Cabé | 6db5d84 | 2023-10-04 21:51:16 +0200 | [diff] [blame] | 41 | :ref:`coding_guidelines` |
| 42 | Code contributions are expected to follow a set of coding guidelines to ensure consistency and |
| 43 | readability across the code base. |
| 44 | |
Anas Nashif | 22b1e70 | 2025-01-20 08:33:28 -0500 | [diff] [blame] | 45 | :ref:`coding_style` |
| 46 | Code contributions are expected to follow a set of style guidelines to ensure consistency and |
| 47 | readability across the code base. |
Benjamin Cabé | 6db5d84 | 2023-10-04 21:51:16 +0200 | [diff] [blame] | 48 | |
| 49 | :ref:`rfcs` |
| 50 | Learn when and how to submit RFCs (Request for Comments) for new features and changes to the |
| 51 | project. |
| 52 | |
Anas Nashif | 831a018 | 2025-01-16 12:21:12 -0500 | [diff] [blame] | 53 | :ref:`modifying_contributions` |
| 54 | Guidelines for modifying contributions made by other developers and how to deal with stale pull |
| 55 | requests. |
| 56 | |
Benjamin Cabé | 6db5d84 | 2023-10-04 21:51:16 +0200 | [diff] [blame] | 57 | Documentation |
| 58 | ============= |
| 59 | |
| 60 | The Zephyr project thrives on good documentation. Whether it is as part of a code contribution or |
| 61 | as a standalone effort, contributing documentation is particularly valuable to the project. |
| 62 | |
| 63 | .. toctree:: |
| 64 | :maxdepth: 1 |
| 65 | :hidden: |
| 66 | |
| 67 | documentation/guidelines.rst |
| 68 | documentation/generation.rst |
| 69 | |
| 70 | :ref:`doc_guidelines` |
| 71 | This page provides some simple guidelines for writing documentation using the reSTructuredText |
| 72 | (reST) markup language and Sphinx documentation generator. |
| 73 | |
| 74 | :ref:`zephyr_doc` |
| 75 | As you write documentation, it can be helpful to see how it will look when rendered. |
| 76 | |
| 77 | This page describes how to build the Zephyr documentation locally. |
| 78 | |
| 79 | |
| 80 | Dealing with external components |
| 81 | ================================ |
| 82 | |
| 83 | .. toctree:: |
| 84 | :maxdepth: 1 |
| 85 | :hidden: |
| 86 | |
Carles Cufi | f938cc4 | 2021-02-17 17:31:12 +0100 | [diff] [blame] | 87 | external.rst |
Carles Cufi | 2c301fe | 2022-06-28 16:21:58 +0200 | [diff] [blame] | 88 | bin_blobs.rst |
Benjamin Cabé | 6db5d84 | 2023-10-04 21:51:16 +0200 | [diff] [blame] | 89 | |
| 90 | :ref:`external-contributions` |
| 91 | Basic functionality or features that would make useful addition to Zephyr might be readily |
| 92 | available in other open source projects, and it is recommended and encouraged to reuse such code. |
| 93 | This page describes in more details when and how to import external source code into Zephyr. |
| 94 | |
| 95 | :ref:`external-tooling` |
| 96 | Similarly, external tooling used during compilation, code analysis, testing or simulation, can be |
| 97 | beneficial and is covered in this section. |
| 98 | |
| 99 | :ref:`bin-blobs` |
| 100 | As some functionality might only be made available with the help of executable code distributed |
| 101 | in binary form, this page describes the process and guidelines for :ref:`contributing binary |
| 102 | blobs <blobs-process>` to the project. |
| 103 | |
Benjamin Cabé | 6db5d84 | 2023-10-04 21:51:16 +0200 | [diff] [blame] | 104 | Need help along the way? |
| 105 | ======================== |
| 106 | |
| 107 | If you have questions related to the contribution process, the Zephyr community is here to help. |
| 108 | You may join our Discord_ channel or use the `Developer Mailing List`_. |
| 109 | |
| 110 | |
| 111 | .. _Discord: https://chat.zephyrproject.org |
| 112 | .. _Developer Mailing List: https://lists.zephyrproject.org/g/devel |