Contributions to Xenomai are always welcome. This document explains the general
requirements on contributions and the recommended preparation steps. It also
sketches the typical integration process of patches.
use git to manage your changes [recommended]
follow Linux Kernel coding style [required]
add the required copyright header to each new file introduced [required]
structure patches logically, in small steps [required]
git rebase -i to restructure a patch seriesbase patches on top of latest master or - if there are dependencies - on next
(note: next is an integration branch that may change non-linearly) [required]
test patches sufficiently AFTER the last edit (obvious, but...) [required]
add signed-off to all patches [required]
indicate if you think a patch fixes a bug present in a stable branch as well [recommended]
post patches to mailing list [required]
git format-patch/send-email if possiblepost follow-up version(s) if feedback requires this [required]
send reminder if nothing happened after about two weeks [recommended]
When signing-off a patch for this project like this
Signed-off-by: Random J Developer <random@developer.example.org>
using your real name (no pseudonyms or anonymous contributions), you declare the
following:
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
See also Sign your work - the Developer’s Certificate of Origin
for further background on this process which was adopted from the Linux kernel.
patch reviews performed on mailing list
accepted patches merged into next branch
further testing done by community, including CI build tests, code analyzer
runs, on-target tests
if no new problems or discussions showed up, acceptance into master
a stable-relevant patch is applied to the related stable branch after it was
merged into master (except for patches that are stable-specific)
gitlab facilities are not used for the review process so that people can follow
all changes and related discussions at a single stop, the mailing list. This
may change in the future if gitlab should improve their email integration.