Thanks for the reply, Gavin.
That chart is very useful. It does show a marked increase in adoption of this last version (0.10).
Different versions existing on the network isn't a problem until there is some incompatible change in either the consensus code (a hard fork) or the p2p networking protocol (and even that doesn't have to be a problem if there are "bridge" nodes that speak both versions of the protocol and relay blocks/transactions across the incompatible networks).
That's good that different versions isn't a problem in
most cases.
But what about those cases where it is? For instance, increasing the block size limit is one example of a hard fork that is likely coming, and one that would necessitate a majority of nodes to adopt the latest version for the changes to go into effect. What if we need to change the block size limit again 5 years in the future? Will it be easy, or even possible, to get majority adoption then?
I'm looking more into the future when the number of nodes is not so small as it is today. Bitcoin nodes will eventually be on millions of devices around the world, such as routers, satellites and other machines, and not every device will get updated.
So, new versions of bitcoin would seem to be combating a greater and greater number of old versions in order to attempt to gain majority adoption, thus resulting in ever-increasing version adoption time-frames.
I'm glad this is only a concern for hard forks, but will it be a concern or problem that needs addressing, even if it's just for these rarer circumstances?