All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai] [RFC][PATCH] Add CONTRIBUTING guide and workflow explanation
@ 2018-09-04 17:31 Jan Kiszka
  2018-09-05  4:26 ` Greg Gallagher
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Kiszka @ 2018-09-04 17:31 UTC (permalink / raw)
  To: Xenomai

Shall both help new comers to understand in which form patches are
requested and what will happen to them normally after submitting them.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---

I'm looking for honest feedback on this! Is it too much? Is something
missing? Is something seen differently?

Basically, I took what I once created for Jailhouse and what we are also
using elsewhere now, slightly adjusting it for Xenomai. Shall be a
living document as we evolve workflows.

 CONTRIBUTING.md | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 113 insertions(+)
 create mode 100644 CONTRIBUTING.md

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000000..4ee8b7cc1f
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,113 @@
+Contributing to Xenomai
+=======================
+
+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.
+
+
+Contribution Checklist
+----------------------
+
+- use git to manage your changes [*recomended*]
+
+- follow Linux Kernel coding style, see also
+  [Linux kernel coding style](https://www.kernel.org/doc/html/latest/process/coding-style.html) [**required**]
+
+- add the required copyright header to each new file introduced [**required**]
+
+- structure patches logically, in small steps [**required**]
+    - one separable functionality/fix/refactoring = one patch
+    - do not mix those there in a single patch
+    - after each patch, the tree still has to build and work, i.e. do not add
+      even temporary breakages inside a patch series (helps when tracking down
+      bugs)
+    - use `git rebase -i` to restructure a patch series
+
+- base patches on top of latest master or - if there are dependencies - on next
+  (note: next is an integration branch that may change non-linearly)
+
+- test patches sufficiently AFTER the last edit (obvious, but...) [**required**]
+
+- add signed-off to all patches [**required**]
+    - to certify the "Developer's Certificate of Origin", see below
+    - check with your employer when not working on your own!
+
+- indicate if you think a patch fixes a bug present in a stable branch as well,
+  either in the cover letter of the patch series of after the "---" separator
+  of the patch itself
+
+- post patches to mailing list [**required**]
+    - use `git format-patch/send-email` if possible
+    - send patches inline, do not append them
+    - no HTML emails!
+    - CC people who you think should look at the patches, e.g.
+      - affected maintainers
+      - someone who wrote a change that is fixed or reverted by you now
+      - who commented on related changes in the recent past
+      - who otherwise has expertise and is interested in the topic
+    - pull requests on gitlab are only optional
+
+- post follow-up version(s) if feedback requires this
+
+- send reminder if nothing happened after about two weeks
+
+
+Developer's Certificate of Origin 1.1
+-------------------------------------
+
+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](https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin)
+for further background on this process which was adopted from the Linux kernel.
+
+
+Contribution Integration Process
+--------------------------------
+
+1. patch reviews performed on mailing list
+    * at least by maintainers, but everyone is invited
+    * feedback has to consider design, functionality and style
+    * simpler and clearer code preferred, even if original code works fine
+
+2. accepted patches merged into next branch
+
+3. further testing done by community, including CI build tests, code analyzer
+   runs, on-target tests
+
+4. if no new problems or discussions showed up, acceptance into master
+    * grace period for master: about 3 days
+    * urgent fixes may be applied sooner
+
+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.
-- 
2.16.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Xenomai] [RFC][PATCH] Add CONTRIBUTING guide and workflow explanation
  2018-09-04 17:31 [Xenomai] [RFC][PATCH] Add CONTRIBUTING guide and workflow explanation Jan Kiszka
@ 2018-09-05  4:26 ` Greg Gallagher
  2018-09-05  7:21   ` Jan Kiszka
  0 siblings, 1 reply; 3+ messages in thread
From: Greg Gallagher @ 2018-09-05  4:26 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: Xenomai@xenomai.org

On Tue, Sep 4, 2018 at 1:31 PM Jan Kiszka <jan.kiszka@siemens.com> wrote:

> Shall both help new comers to understand in which form patches are
> requested and what will happen to them normally after submitting them.
>
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
>
> I'm looking for honest feedback on this! Is it too much? Is something
> missing? Is something seen differently?
>
> Basically, I took what I once created for Jailhouse and what we are also
> using elsewhere now, slightly adjusting it for Xenomai. Shall be a
> living document as we evolve workflows.
>
>  CONTRIBUTING.md | 113
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 113 insertions(+)
>  create mode 100644 CONTRIBUTING.md
>
> diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
> new file mode 100644
> index 0000000000..4ee8b7cc1f
> --- /dev/null
> +++ b/CONTRIBUTING.md
> @@ -0,0 +1,113 @@
> +Contributing to Xenomai
> +=======================
> +
> +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.
> +
> +
> +Contribution Checklist
> +----------------------
> +
> +- use git to manage your changes [*recomended*]
> +
> +- follow Linux Kernel coding style, see also
> +  [Linux kernel coding style](
> https://www.kernel.org/doc/html/latest/process/coding-style.html)
> [**required**]
> +
> +- add the required copyright header to each new file introduced
> [**required**]
> +
> +- structure patches logically, in small steps [**required**]
> +    - one separable functionality/fix/refactoring = one patch
> +    - do not mix those there in a single patch
> +    - after each patch, the tree still has to build and work, i.e. do not
> add
> +      even temporary breakages inside a patch series (helps when tracking
> down
> +      bugs)
> +    - use `git rebase -i` to restructure a patch series
> +
> +- base patches on top of latest master or - if there are dependencies -
> on next
> +  (note: next is an integration branch that may change non-linearly)
> +
> +- test patches sufficiently AFTER the last edit (obvious, but...)
> [**required**]
> +
> +- add signed-off to all patches [**required**]
> +    - to certify the "Developer's Certificate of Origin", see below
> +    - check with your employer when not working on your own!
> +
> +- indicate if you think a patch fixes a bug present in a stable branch as
> well,
> +  either in the cover letter of the patch series of after the "---"
> separator
> +  of the patch itself
> +
> +- post patches to mailing list [**required**]
> +    - use `git format-patch/send-email` if possible
> +    - send patches inline, do not append them
> +    - no HTML emails!
> +    - CC people who you think should look at the patches, e.g.
> +      - affected maintainers
> +      - someone who wrote a change that is fixed or reverted by you now
> +      - who commented on related changes in the recent past
> +      - who otherwise has expertise and is interested in the topic
> +    - pull requests on gitlab are only optional
> +
> +- post follow-up version(s) if feedback requires this
> +
> +- send reminder if nothing happened after about two weeks
> +
> +
> +Developer's Certificate of Origin 1.1
> +-------------------------------------
> +
> +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](
> https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin
> )
> +for further background on this process which was adopted from the Linux
> kernel.
> +
> +
> +Contribution Integration Process
> +--------------------------------
> +
> +1. patch reviews performed on mailing list
> +    * at least by maintainers, but everyone is invited
> +    * feedback has to consider design, functionality and style
> +    * simpler and clearer code preferred, even if original code works fine
> +
> +2. accepted patches merged into next branch
> +
> +3. further testing done by community, including CI build tests, code
> analyzer
> +   runs, on-target tests
> +
> +4. if no new problems or discussions showed up, acceptance into master
> +    * grace period for master: about 3 days
> +    * urgent fixes may be applied sooner
> +
> +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.
> --
> 2.16.4
>
> _______________________________________________
> Xenomai mailing list
> Xenomai@xenomai.org
> https://xenomai.org/mailman/listinfo/xenomai


I like this, it puts us more inline with the mainline kernel work flow.
 Is there any benefit to creating a maintainers file?  Should we ask that
checkpatch.pl be run against patches as well?

-Greg

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Xenomai] [RFC][PATCH] Add CONTRIBUTING guide and workflow explanation
  2018-09-05  4:26 ` Greg Gallagher
@ 2018-09-05  7:21   ` Jan Kiszka
  0 siblings, 0 replies; 3+ messages in thread
From: Jan Kiszka @ 2018-09-05  7:21 UTC (permalink / raw)
  To: Greg Gallagher; +Cc: Xenomai@xenomai.org

On 2018-09-05 06:26, Greg Gallagher wrote:
> 
> On Tue, Sep 4, 2018 at 1:31 PM Jan Kiszka <jan.kiszka@siemens.com 
> <mailto:jan.kiszka@siemens.com>> wrote:
> 
>     Shall both help new comers to understand in which form patches are
>     requested and what will happen to them normally after submitting them.
> 
>     Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com
>     <mailto:jan.kiszka@siemens.com>>
>     ---
> 
>     I'm looking for honest feedback on this! Is it too much? Is something
>     missing? Is something seen differently?
> 
>     Basically, I took what I once created for Jailhouse and what we are also
>     using elsewhere now, slightly adjusting it for Xenomai. Shall be a
>     living document as we evolve workflows.
> 
>       CONTRIBUTING.md | 113
>     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>       1 file changed, 113 insertions(+)
>       create mode 100644 CONTRIBUTING.md
> 
>     diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
>     new file mode 100644
>     index 0000000000..4ee8b7cc1f
>     --- /dev/null
>     +++ b/CONTRIBUTING.md
>     @@ -0,0 +1,113 @@
>     +Contributing to Xenomai
>     +=======================
>     +
>     +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.
>     +
>     +
>     +Contribution Checklist
>     +----------------------
>     +
>     +- use git to manage your changes [*recomended*]
>     +
>     +- follow Linux Kernel coding style, see also
>     +  [Linux kernel coding
>     style](https://www.kernel.org/doc/html/latest/process/coding-style.html)
>     [**required**]
>     +
>     +- add the required copyright header to each new file introduced
>     [**required**]
>     +
>     +- structure patches logically, in small steps [**required**]
>     +    - one separable functionality/fix/refactoring = one patch
>     +    - do not mix those there in a single patch
>     +    - after each patch, the tree still has to build and work, i.e.
>     do not add
>     +      even temporary breakages inside a patch series (helps when
>     tracking down
>     +      bugs)
>     +    - use `git rebase -i` to restructure a patch series
>     +
>     +- base patches on top of latest master or - if there are
>     dependencies - on next
>     +  (note: next is an integration branch that may change non-linearly)
>     +
>     +- test patches sufficiently AFTER the last edit (obvious, but...)
>     [**required**]
>     +
>     +- add signed-off to all patches [**required**]
>     +    - to certify the "Developer's Certificate of Origin", see below
>     +    - check with your employer when not working on your own!
>     +
>     +- indicate if you think a patch fixes a bug present in a stable
>     branch as well,
>     +  either in the cover letter of the patch series of after the "---"
>     separator
>     +  of the patch itself
>     +
>     +- post patches to mailing list [**required**]
>     +    - use `git format-patch/send-email` if possible
>     +    - send patches inline, do not append them
>     +    - no HTML emails!
>     +    - CC people who you think should look at the patches, e.g.
>     +      - affected maintainers
>     +      - someone who wrote a change that is fixed or reverted by you now
>     +      - who commented on related changes in the recent past
>     +      - who otherwise has expertise and is interested in the topic
>     +    - pull requests on gitlab are only optional
>     +
>     +- post follow-up version(s) if feedback requires this
>     +
>     +- send reminder if nothing happened after about two weeks
>     +
>     +
>     +Developer's Certificate of Origin 1.1
>     +-------------------------------------
>     +
>     +When signing-off a patch for this project like this
>     +
>     +    Signed-off-by: Random J Developer <random@developer.example.org
>     <mailto: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](https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin)
>     +for further background on this process which was adopted from the
>     Linux kernel.
>     +
>     +
>     +Contribution Integration Process
>     +--------------------------------
>     +
>     +1. patch reviews performed on mailing list
>     +    * at least by maintainers, but everyone is invited
>     +    * feedback has to consider design, functionality and style
>     +    * simpler and clearer code preferred, even if original code
>     works fine
>     +
>     +2. accepted patches merged into next branch
>     +
>     +3. further testing done by community, including CI build tests,
>     code analyzer
>     +   runs, on-target tests
>     +
>     +4. if no new problems or discussions showed up, acceptance into master
>     +    * grace period for master: about 3 days
>     +    * urgent fixes may be applied sooner
>     +
>     +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.
>     -- 
>     2.16.4
> 
>     _______________________________________________
>     Xenomai mailing list
>     Xenomai@xenomai.org <mailto:Xenomai@xenomai.org>
>     https://xenomai.org/mailman/listinfo/xenomai
> 
> I like this, it puts us more inline with the mainline kernel work flow.  
>   Is there any benefit to creating a maintainers file?

For the Xenomai core, we do not really have a structure of 
submaintainers at this point, and I didn't want to mix up I-pipe with 
Xenomai in this document (where we do have role splits). If we want to 
cover I-pipe as well, that should be clearly identified.

>  Should we ask 
> that checkpatch.pl <http://checkpatch.pl> be run against patches as well?

We can add that as recommendation to he coding style section.

I'm not a fan of requiring to pass such checks literally. In the end, 
humans need to be happy with a consistent style, not scripts. But if 
someone has no clue how to achieve that, the script can be helpful.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-09-05  7:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-04 17:31 [Xenomai] [RFC][PATCH] Add CONTRIBUTING guide and workflow explanation Jan Kiszka
2018-09-05  4:26 ` Greg Gallagher
2018-09-05  7:21   ` Jan Kiszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.