Hi Neil,
On Thu, 4 Jun 2026 at 07:17, Neil Armstrong <[email protected]> wrote:
>
> Hi Simon,
>
> On 6/3/26 07:06, Simon Glass wrote:
> > Dear U-Boot Contributors,
> >
> > I would like to introduce the U-Boot Concept tree along with a few thoughts
> > on its role in U-Boot.
> >
> > By way of background, I have been a contributor for about 15 years - around
> > 10k commits and countless reviews. I have introduced many innovations into
> > the project: e.g. sandbox, device tree, C test infrastructure, Binman,
> > standard boot. Of course I could not have done any of this without the
> > U-Boot community (nor would there be any point).
> >
> > As the U-Boot project has matured, the demands for mainline stability and
> > rigorous review have created a natural friction for landing complex,
> > large-scale feature and refactoring series at the necessary pace. This
> > structural reality, which has slowed the adoption of ambitious efforts like
> > bootstd, VBE, xPL [1], and CI-connected hardware labs, is what the Concept
> > tree is designed to alleviate.
>
> The main issue to land complex large-scale feature and refactoring series is
> mainly the lack of human highly qualified reviewers, proper shared project
> infrastructure and funding for paid work. Not developers.
That's not quite what I am seeing. I am actually seeing quite a bit of
rejection and deferring. Perhaps that is just because of what you are
saying, but in any case, it is creating challenges.
Re infrastructure, I am already providing a lot. I have offered to Tom
to help with other pieces, if needed.
>
> >
> > I strongly believe that projects must evolve in order to stay relevant in
> > the long term. This includes code-refactoring, new features and subsystems,
> > along with migration of old code to use them. A look back at the U-Boot of
> > 2010 shows how far the project has come. I don't think anyone would still
> > be using U-Boot if it had not evolved.
> >
> > I have set up a 'Concept' tree, a possible future for U-Boot, as a way to
> > regain the old pace of innovation. This environment is a proving ground for
> > new features where we maintain a lower bar for risk tolerance and
> > completeness. We will accept partial and speculative features, provided the
> > underlying code remains robust and of high quality, with the shared
> > understanding that features may be dropped if they do not prove beneficial.
>
> I'm clearly against having a separate official "U-Boot" fork tree, this will
> only lead to confusion to users and contributors if it shares the same
> mailing-list and name.
Yes it cannot share the same mailing list - we tried that last year.
Do you think "U-Boot Concept Tree' is different enough for "U-Boot",
to avoid confusion?
>
> >
> > Another difference is AI. I believe that AI is the next step on from
> > compilers, which also took a long time to produce good code and find
> > acceptance. The Concept tree welcomes (and encourages) high-quality AI
> > contributions and reviews. It accepts PRs and allows reviews on PRs or the
> > mailing list. It relies 99% on automated tests (sandbox, QEMU and labs) so
> > sets a high bar for testing. It uses a separate Gitlab instance for now and
> > of course uses a separate mailing list and Patchwork project to avoid
> > cluttering the main list. Concept runs an AI-powered cherry-picker so that
> > it keeps up with mainline. In no sense is it operated as a fork.
>
> I'm clearly against using AI for any of development or review work as it
> can't be fully trusted and will monopolize precious reviewers time reviewing
> AI code instead of reviewing legitimate contributions from individual and
> companies.
>
> Using AI for CI testing and regression testing could help if it doesn't add
> a burden for maintainers by reporting false positives.
RIght, Tom has been very clear about this too, even suggesting that AI
is actually unethical. This is indeed one of my motivations for the
Concept tree.
>
> >
> > Once features are landed and functional in Concept I hope that many will
> > find their way to mainline, although inevitably some rework will be needed.
>
> Still I don't understand your point, Linux or Zephyr can land very complex
> features with a single tree, what make U-Boot different here ?
I made some guesses above ("the demands for mainline stability and
rigorous review"), but I'm open to your thoughts on the root cause.
No project is immune though. I worked a lot in Zephyr - one-hour
meetings every week across several areas, lots of engagement, but even
then one feature we did took over two years to land (luckily the
company could afford the cost :-) You may be aware that FIT (a fairly
minor feature) was kept out of the kernel for 15+ years. Another
example is perhaps the bootph tags. I introduced these into U-Boot in
2015 and found their way into linux around 7 years later.
>
> >
> > I recognise that introducing a new 'Concept' tree might initially cause
> > confusion or concern. This is an invitation to work together to define its
> > role. I welcome all feedback - positive or negative - here on the mailing
> > list, privately, or on irc. Let’s discuss how this initiative can help
> > U-Boot remain the defining firmware for the 2030s.
>
> Our immediate priority is helping U-Boot establish the proper technical and
> legal infrastructure to receive funding. Adding AI features, maintaining
> separate forks, and managing competing domains only distracts us from the
> critical task of switching off the dying Denx infrastructure.
I am not aware of what is going on there, but am happy to learn about
it if you can share details. From my experience, apart from patchwork
being down quite a bit, the infra is mostly holding up. In any case
you seem to be making my point about the limited bandwidth people have
to land features.
>
> This is my personal opinion,
> Neil
Yes, understood.
Regards,
- Simon
>
> >
> > [1]
> > https://lore.kernel.org/u-boot/CAFLszTg6sKpZ1yP3Pjgk9_Fx3MOh=iet2oahfglf3_nc+xx...@mail.gmail.com/
> >
> > Concept tree:
> > :
> > ::
> > ...:::.
> > :: :. -
> > . ::::::- - ::. ..
> > .:: .: -== =.:.
> > ::.- ::::. ::. :=:. ::::
> > ::. :: =.. :.-::: =:
> > .:-:-. -.:: ::=-:=:
> > ::::::=. -.:: ===: ::.
> > ::.:::=::=: -===:--==-::--::
> > :. :-=-.:==:. .: ::
> > ===: :: :
> > ==:
> > ==
> > :==
> > -==:
> > -+=:
> > =++=.
> > .-===:
>