Do you prefer using a product or a tool?
Straightforward UX, or extensive feature-set?
Clear value proposition, or infinitely customisable?
Slick or austere?
Strictly implementing one vision and set of goals, or adding all kinds of features that different people request or contribute?
Extensive user documented, or code and settings panels (or config files) as documentation?
Historically, the former tends to be proprietary apps, while the latter then to be free software projects that clone the intitial vison/functionality, and then evolve mostly by adding features. The complexity goes up and the UX goes down.
These days we have free software products (eg. Mastodon and Pixelfed) and free software tools (eg. Pleroma).
The question is how do you preserve the user-freedom advantages of tools while gaining the user traction and usability of products?
I suggest one approach could be having a generic backend tool, with standard protocol-based federation and an open API that enables frontend app designers/developers to create slick products that implement all kind of different visions and use cases.
I hope Pleroma and
http://commonspub.org can help make something like this happen.