At the time, the proposed change was controversial, and as you've said
about stability and why you work with FreeBSD you can understand that this
would have introduced a major change to how our build system works, but
that caused work on this PR to stop and I think some feelings were hurt,
which is a terrible tragedy, especially in a volunteer-driven project.
That is why I propose a formal discussion and vote to place CMake on the
Roadmap and reflecting the needs and preferences of the user community.
Matias' effort suffered from insufficient dialog and participation and
from the lack of a clear mandate.
Personally I do not have an opinion on what the build system should be, as
long as it works, ...
I used to have strong opinions because ultimately I was the person who
would end up having to support other people's tool choices. People
would "commit it then forget it" and the maintenance of those things
were always left on me. But now that the community is responsible for
maintaining their own code decisions, there is no reason for me to feel
that way. But it is hard to shake old preferences and biases.
One strong opinion that I still have is that whatever we do in the build
system, it must be verified that it works with all known configurations
and that it works on all supported platforms. This implies a
significant testing effort which, I think is appropriate and correct for
some with scope like this.
but just as a word of caution, if anyone would like to
propose a big change, whether it's CMake, Python, Kconfig..., there should
be a community discussion, possibly even followed by a vote, to decide the
matter community-wide before anyone invests time implementing code that
might not be merged.
Oops.. I should have read a little further before responding. I agree,
obviously. In fact, I think we should make it a policy that ALL major
roadmap decisions always reflect the will of the community and not any
individual or small cliche or special interests within the community.
In fact, I think a clear roadmap and mandates would be a great thing for
the project.
Device tree is another technology that has been advocated for NuttX with
a few strong advocates but with no clear mandate from the community.