Nice reading! We have similar experience 🙂
Not exactly agree with ownership of inner sources.
I found that is crucial to easily contribute, and create a new set of libraries - especially by product teams, FIRST, for their needs.
But in the long term, if something must have the hallmarks of a product, it is better if it is owned strictly by the platform team. Because it's not only about creating the solution but a proper design, managing the change, and selling it to developers and all staff around.
We did something like that:
• we have one mono-repo for "extensions libraries" - where everyone can share their idea or solution for some cross-cutting concern, even the smallest one. (contributing is really easy. No need to set up the whole repo from the beginning. Just enter your code, and the package will be published. These are packages VERY optional. It is a bag of ideas.
• we have set of libraries and repos owned, developed and maintained by platform team - these are more serious and bigger functionalities, essential and very often mandatory, like: configuration, messaging, microservice template, metrics, logging, distributed tracing, feature flags and so on