See also reddit.com/r/rad_decentralization, named-data-networking, and web assembly. I think ultimately a common cross-environment cross-language platform with semantic versioning and a peer-to-peer module registry will make it much more practical to adopt and evolve these types of systems.