Hi all,

I would like to raise a concern about NuttX’s dependency on Espressif’s
esp-hal-3rdparty <https://github.com/espressif/esp-hal-3rdparty> repository
and discuss whether there is a way to give the NuttX community more control
over the changes required for its development.

The repository is publicly available, but it is maintained and controlled
by a single private company. As a result, external contributions are
handled according to that company’s internal priorities and availability,
which can make it difficult for the NuttX community to address issues that
block our own development.

As a concrete example, I opened espressif/esp-hal-3rdparty#13
<https://github.com/espressif/esp-hal-3rdparty/pull/13>, it has been open
for 28 days. It is a small change consisting of one commit and 15 added
lines across two header files—six lines in one file and nine in the other.
The PR has been acknowledged, but it has not received a technical review,
and there is no expected completion date.

I understand that the Espressif maintainers have other priorities, and this
is not intended as criticism of the individuals involved. However, I
believe it illustrates a governance problem for NuttX: changes required to
support NuttX on specific hardware may depend on a repository whose review
process and priorities are outside the control of our community.

My experience while porting Dropbear <https://github.com/mkj/dropbear> was
quite different. We encountered some problems during the port, but its
maintainer actively helped by reviewing the code, suggesting changes, and
quickly accepting the corresponding upstream pull requests.

I would therefore like to ask whether it would be possible to maintain a
fork of esp-hal-3rdparty under the Apache/NuttX umbrella, with appropriate
NuttX committers having write access. Such a fork could continue tracking
Espressif’s upstream repository, and generally useful changes could still
be submitted upstream whenever possible.

If maintaining a repository under Apache is not feasible or
appropriate, another
suggestion I have is to start building our own HAL and via kconfig select
between the internal driver or the 3rd-party. If you have other
suggestions, please let's talk about them.



*--Felipe Moura de Oliveira*
Linkedin <https://www.linkedin.com/in/felipe-oliveira-75a651a0>

Reply via email to