Re: [stdexec] Long-Term Ownership and Maintenance of stdexec Dependency
Chinmoy Dey <[email protected]>
| Newsgroups | org.ozlabs.lists.openbmc |
|---|---|
| Message-ID | <[email protected]> |
Hi Patrick, Thank you for the detailed clarification. I sincerely appreciate the deep expertise, sustained effort, and careful technical judgment that you and the OpenBMC community bring to this work. My question was purely about understanding the dependency’s long-term maintenance model, not NVIDIA’s involvement or the quality of stdexec. I appreciate the clear and pragmatic direction you outlined for its continued use and future transition. This context is helpful, and I will keep it in mind in any future discussion. Thank you. Regards, Chinmoy Dey > On 1 Aug 2026, at 12:32 AM, Patrick Williams <[email protected]> wrote: > > On Tue, Jun 23, 2026 at 12:29:03PM +0000, Chinmoy Dey wrote: >> Hi OpenBMC Community, >> >> I would like to start a discussion around the long-term ownership and maintenance model for the stdexec dependency that is currently part of the OpenBMC dependency chain. As I understand it today: >> >> * >> bmcweb references sdbusplus through subprojects/sdbusplus.wrap: >> * >> https://github.com/openbmc/bmcweb >> * >> sdbusplus is maintained under the OpenBMC organization: >> * >> https://github.com/openbmc/sdbusplus >> * >> https://github.com/openbmc/sdbusplus/blob/master/subprojects/stdexec.wrap >> * >> sdbusplus in turn references stdexec through subprojects/stdexec.wrap : >> * >> https://github.com/NVIDIA/stdexec >> >> First, I would like to acknowledge and appreciate the work that has gone into this implementation. The intent of this note is not to question the quality of the code or the contributions made by NVIDIA, but rather to discuss whether there may be an opportunity to align this dependency more closely with OpenBMC’s long-term governance and maintenance model. Since stdexec is now part of a commonly consumed dependency path within OpenBMC, it may be worth considering whether a community-maintained approach could provide additional benefits, such as: >> >> * >> Reduced risk from repository access, policy, or ownership changes outside the OpenBMC project >> * >> Broader review and maintainer participation and long-term support >> * >> Improved community ownership , transparency and reduce dependency risk >> >> If there have already been discussions on this topic, or if there is a preferred roadmap for the dependency, I would greatly appreciate any references or guidance. My goal is simply to explore whether we can further strengthen the sustainability, transparency, and long-term maintainability of the OpenBMC dependency ecosystem as it continues to grow. >> >> Thank you for your time and consideration. I look forward to hearing the community’s thoughts. > > I didn't respond to this before because honestly it sounded like a > competitor to NVIDIA trying to assert a "we shouldn't use any software > from my competitor" stance. Nexthop isn't even an OpenBMC contributor; why > should you have any influence on this? At least sign the CCLA before > you try to "assert influence". > > For background, stdexec was the reference implementation of P2300 > (std::execution) during the standards process. It is currently the only > complete implementation. We are using it because it is a reference > implementation of a very useful aspect of C++26, which we have based > future async programming around. > > The day GCC and Clang have a native P2300 support, we will start work to move > off stdexec and use the native support. If you look at the way our > headers are structured it is even designed so that all stdexec usage is > replaceable with std::execution. > > I don't see any cause for concern of using the stdexec library anymore > than I would have concern for using nlohmann::json (which is maintained > by a single person). If for some reason NVIDIA moves the repository in > a direction that isn't useful for us we can always pin the SRCREV to a > point that does work for us, but I really don't foresee them doing that. > > I'm the only one in OpenBMC (as far as I know) that has contributed to > stdexec and I sure don't want to maintain our own private fork of the > P2300 specification. If you were to print it out, the specification is about > 190 pages and the implementation is some expert level C++. The primary > author is such a C++ expert that there is a primitive named after him > (niebloids) and was also the primary author of the std::ranges specification. > I'm not going to compete with that and I doubt anyone else in the project is > going to either. Where the guy works shouldn't matter when his code > speaks for itself. > > -- > Patrick Williams