1: +1 2: +1 3: +1 4: +1 5: +1 6: +1 7: +1 8: -1 documentation should be provided at the same time as a separate PR with the same name and {2/2} to indicate that they belong to the same PR. For LTS documentation may cause merge issues and increase the maintainers workload 9: +1 10: +1 11: +1 PRs should contain only 1 area ex drivers, arch, boards to make LTS port easy. PR should use the same title followed by the sequence PR with {number/total change PR} :ex arch/arm/cxd56: add feature x {1/2}, boards/arm/cxd56: add feature x {2/2} 12: +1 13: +1 14: +1 15: +1 16: +1 17: +1
On Tue, Feb 11, 2025 at 8:41 AM Michal Lenc <michall...@seznam.cz> wrote: > Hi, > > 1: +1 > 2: +1 > 3: +1 > 4: +1 > 5: +1 > 6: +1 > 7: +1 > 8: +1 > 9: +1 > 10: 0 these are sometimes necessary > 11: +1 > 12: +1 > 13: +1 > 14: -1 I would still apply it only for bigger changes > 15: +1 > 16: +1 > 17: +1 > > Thanks for organizing the vote! > > Michal > > On 2/11/25 00:37, Tomek CEDRO wrote: > > Hello world :-) > > > > As discussed extensively in various mailing list threads we have > > gathered all additional ideas for Contributing Guidelines update that > > should improve NuttX Code Quality and self-compatibility / long term > > maintenance. > > > > Lets vote what we have. If anything is missing then lets talk about > > this in "NuttX Code Quality Improvement 2025Q1" thread and add to vote > > here the final form. > > > > Each proposal is given number, please vote +1, 0, or -1 in reply for > > every number to vote for, neutral, or against proposed update. > > Comments are welcome too :-) > > > > 1. In Contributing Guidelines we are adding additional section for > > Reviewers in order to provide complementary set of rules that should > > filter out breaking code as much as possible also on our side. > > > > 2. Each PR (including git commits) _must_ adhere to requirements > > presented in Contributing Guidelines or will be auto-rejected until > > fixed / updated. > > > > 3. Git commit messages are as important as PR descriptions. These > > provide in-code descriptions of each change and are git interface > > independent. > > > > 4. Proper description of change is mandatory. Description must contain > > explanation on what proposed change do, why it is necessary, what if > > fixes, and how things are changed / fixed / updated, what is the > > impact (build / runtime / api / what area), how it was tested. Local > > code build and real world hardware runtime test logs must be provided > > where mandatory. Description can be single..several sentences long or > > bullet points but enough for anyone to understand change goals and > > details. Usually it will look similar for PR and git commit message. > > > > 5. Proper description in PR is mandatory, or change is auto-rejected > > until fixed / updated. Build and real world hardware runtime logs are > > mandatory. > > > > 6. Proper description in Git commit message is mandatory, or change is > > rejected until fixed / updates. Build and runtime logs are optional > > here if these are too long and already provided in PR. > > > > 7. Each git commit message must consist of topic, description, and > > signature, which are mandatory, or change is auto-rejected until fixed > > / updated. Topic consists of functional prefix, ":" mark, and short > > self-explanatory context. Description is separated from topic with a > > single blank line. Example already presented in Contributing > > Guidelines. > > > > 8. Changes must come with with documentation update where applicable. > > If change presents new functionality a documentation must be provided > > in the same PR (not in future). If change requires documentation > > update it must be contained in the same PR (not in future). Successful > > documentation build log shortcut is welcome. > > > > 9. We implement zero trust approach to user provided testing. It is > > the commit author duty to provide real world hardware build and > > runtime logs that must prove change does not break stuff for others. > > > > 10. Breaking changes are not welcome. This is anything that alters > > Build / Kernel / Architecture / API, alters both nuttx and nuttx-apps > > repo at the same time, breaks build/runtime/api for single or many > > boards/architectures/applications, breaks self-compatibility, breaks > > build/runtime compatibility with existing release code (packages) both > > for nuttx and nuttx-apps, etc. > > > > 11. We respect long term maintenance and self-compatibility is our > > ultimate goal. Alternative solutions and non-invasive approaches are > > preferred that offers user a choice and compatibility. Breaking > > changes are avoided, and planned towards next major release. > > > > 12. Breaking changes _must_ be discussed prior introduction on the > > dev@ mailing list. PR may be created with clear indication it is for > > discussion and marked as draft not to be "accidentally merged". > > > > 13. Breaking changes are special case where build and > > runtime test logs (i.e. apps/ostest) from more than one different > > architecture is mandatory. QEmu tests does not count here as it passed > > breaking change that did not work on a real hardware. > > > > 14. Number of minimum required code review votes should be increased > > from 2 to 4. This will ensure cross-checks and filter out faulty > > changes. > > > > 15. Counting review votes should come from independent organizations. > > There may be more than one review from a single organization, but > > these will count as one vote. > > > > 16. Single company commit, review, merge is not allowed. > > > > 17. Self committed code merge is not allowed. > > > > Thank you :-) > > Tomek > > >