That would be a disaster basically , nodes have the right to vote is just like voting on Bitcointalk polls basically people have alternative accounts and they could vote more then once which screw things up .
Also how they are supposed to know who is running a node and who is not , even by using something like
https://getaddr.bitnodes.io/ I suppose it's possible to trick and make software that does the same thing as Bitcoin Core , also ... how they will know you didn't run Bitcoin Core only for the moment of the vote then close it . All that looks complicated
I agree its complicated. I am thinking about what would happens if we go ahead with a fork increasing block size . In that case some nodes would accept the block and some wont. Nothing is stopping people from spawning more nodes in this case also. Which fork wins ? Shouldn't it be the one have more number of geographically spread nodes.
I was thinking how we could simulate/predict this behaviour by voting. Of course people could spawn more nodes (as in case of a real fork). We need a way to weight down votes of newly spawned nodes / nodes connected to less number of peers.