Hi Simon,
> > > 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.
Well maybe others in the community don't see the value it provides.
Not everyone sees ideas of others as good ideas, people have varying
opinions on them, that's fine, but we as a community decide what lands
and what doesn't, some times we as a community disagree and that's
fine. Not every idea will land upstream and that's not necessarily a
bad think. For example I see little value in mouse support in an early
bootloader.
> 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?
The time where it should share the same mailing list is when patches
are moving from your concept to the main tree when undergoing review.
Do the patches your pushing to your concept tree need to be sent to a
mailing list?
> > > 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.
To avoid the scrutiny of using AI? If that's the case and you're
intention I have further concerns.
Also it seems you are even using AI to reply to people on serious
mailing list things, I have concerns of your use of it there too!
> > > 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.
I made some guesses above too.
> 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.
So some time things take time, if they're not right or ready I don't
see the problem there. If there's demand for it people tend to find
the time to review it to move things forward.
> > > 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.
The infrastructure really isn't holding up, the patchwork is run by
ozlabs and is currently unrelated. We have a deadline on the denx
infrastructure and your failure to hand over the domain hasn't helped
there.
Peter