Exactly what properties of Ethereum (or permissionless blockchains in general) enable dapps to be composable?

I’ve always heard how composability is a big advantage of defi etc., but what are the exact reasons why dapps on permissionless blockchains are composable? Is it just because they are open-source? If so, then what happens if more closed source apps get deployed on Ethereum and other blockchains? Would the composability component no longer exist?
submitted by /u/ericla1014
[link] [comments]