One way to solve this is to create a modular super-app for which developers can write components. This is much more than just the idea of plug-ins or extensions, because the super-app will be built from the ground up, and at various layers, to be highly modular, which almost every aspect being replaceable with user-chosen components. Also, the basic structure of the app and the its extension points cannot be changed unless by majority vote of registered users.
For example, imagine a task super-app. The user should be able to choose from various competing workflows, UIs, or 3rd-party integrations. These components could be purchased outright from a gallery, subscribed to, or paid per use. So if I have a little idea about how to improve todo lists, I don't have to build an entire app from scratch to do it, I can just define a UI flow.