I would be very happy to help with all i can.
Post by Lorenz Meier ***@px4.io [nuttx]
Letâs take a step back.
What Iâve asked for is the vision, not the status quo. If youâre not
striving towards extensive QA then it drives away the ones who do care
about testing and who would be willing to offer their help. So without the
clear vision towards it all the support you would be wanting will never
Itâs also not helping the discussion to quote the BSD license disclaimer.
A disclaimer is not a mission statement, its a legal protection mechanism..
Everybody has that and yet most engineers strive for much higher goals in
terms of quality.
What it would however require would be the commitment of both the
maintainer as well as the development community to establish testing
processes. That means running code through the CI system before merging it
(which kind of forces the usage of pull requests, so it adds a constraint).
It means that no code is merged that fails a test (so contributors will
find that they need to fix their contributions regularly because the test
system uncovers corner cases) and that at times youâre chasing issues with
the test system instead of progressing on the core code.
If NuttX wanted to establish this, we would be able to help with
engineering bandwidth and if there would be a foundation we would probably
find companies which want to contribute funding to create quality.
But in my experience in creating an open source community you have to show
the vision (and actions) first before companies do pitch in. Weâre happy to
contribute to building a proof-of-concept in terms of test setup if that
The difference is that Linux has subsystem maintainers that gather localized
changes, validate them, and submit them to Linus after review. I believe there
are multiple levels in this hierarchical structure.
In NuttX Greg has to do all the validation.
The problem we have if we want to follow this structure, is that we would need
seriously dedicated volunteers to handle subsystems in the long term. For the
moment we have none, that's why Greg suggested a foundation with a paid QA manager.
About the repository, a "staging" branch is probably enough for the final
validation by Greg before merge in the "gold" master, along with repos managed
by each subsystem maintainer.
Hi, Greg. Thanks for the thoughtful e-mail. I was wondering how Linux kernel
deal with this and I believe the answer is that the face the same problem..
Question: do we need to have another repository for that? Would a devel (for
developments) branch and a master (for stable code) branch not suffice?
Thanks for the offer! But in my point of view, what is needed is nothing
that could be provided with a part time effort. This is not just a matter of
doing a couple of tasks, it requires a full dedication..
- Develop a QA plan that address how every thing would be done
- Manage the repositories, separating NuttX into a nuttx-dev and a golden
nuttx repository. All changes would be made in nuttx-dev and only merged into
nuttx when they meet all QA requirements.
- Perform continuous build testing of all 400 or so board configurations.
This current takes about a half a day to do on a high end PC under Linux. This
time could be probably reduced with a build farm.
- Review and verify (to the extent reasonable) all PRs. Assure that all
changes are 100% consistent with the coding style.
- Merge the verified code into nuttx. Assure that there is only a single
commit per functional change and that the comments are pristine so that we can
dispense with a separate ChangeLog.
- Perform periodic releases.
- Develop plans for automated testing and some build and test farm to
perform regression testing.
- And probably lots more.
That is a job description, not a task you can do part time. None of the
above makes sense to do piecemeal if there is not a dedicated resource and a
commitment to support the work over the long haul.
- Form a non-profit organization that can have employees,
- Obtain financial support, perhaps through SPI?
- Hire and manage the above-mentioned QA person
Thiago Costa de Paiva
FSF member: 11963
Linux User: 565327
Yahoo Groups Links