I would say maturity is just fine for the stage we’re at. We’re coming up on Indigo was the first really-truly-definitely stable ROS 1 version. We just hit ROS 2’s I-turtle this year. I think much of the Zenoh work to clean-up internal ROS 2 layers to support non-DDS solutions & having a non-DDS solution will account for a good chunk of the gripes about ROS 2 - and that is very much so ongoing and with heavy involvement with Intrinsic’s team and is responding to community concerns.
I won’t say things are perfect, but its quite an exaggeration to talk like ROS 2 isn’t ready for production and its performance is so inadequate. All of Nav2 can run on a Raspberry Pi which is heavily uses all of ROS 2’s APIs. both with and without process composition with tons of room to spare.
Moreover, I can point to multiple tractor companies, delivery robots, quadrupeds, large scale autonomous drones, and warehouse robotics companies til the sun goes down that publicly boast their use of ROS 2 by extension of Nav2: Robots Using — Nav2 1.0.0 documentation
There are things to do still yet, but it is proven many times over and has serious involvement and investment from the likes of iRobot, Bosch, Amazon, Sony, TRI, and other serious players that aren’t just dabbling. So, I disagree with your general viewpoint on this subject. I tend to trend pessimistic about things, but I’m not at all pessimistic about ROS 2 in its current state or where the trajectory is taking us.