Peter Todd's email on the dev-list got me thinking that there are two types of protocol rules:
CATEGORY #1. Rules that we all agree we need in order for Bitcoin to function as sound money (e.g., you can't create coins out of thin air or spends coins that aren't yours).
CATEGORY #2. Rules that some people think we need as a crutch for current technology limitations (e.g., the max block size, max sigops, max bytes hashed, fee discount for segwit, max utxo set size, etc.)
Blockstream/Core and Unlimited both agree on the importance of unambiguously enforcing the rules from Category 1. However, our approach to Category 2 is completely different.
Blockstream/Core wants to apply a "top down" approach where Category #2 rules are strict and decided upon by Core-devs and tweaked as necessary to engineer the desired overall system behaviour. More rules are seen as a good thing to them because it gives them more switches to flip and knobs to turn.
These people do not trust market mechanism nor the wisdom of crowds, and so they feel it is important to limit the ability of the end user to adjust the behaviour of his node in ways that might affect the emergent network behaviour. They believe that Bitcoin's success is dependent on a group of talented developers (themselves) evaluating tradeoffs, making wise decisions for how nodes ought to behave, and then enforcing that behaviour by whatever means are necessary.
Unlimited wants to allow a "bottom up" approach where Category #2 rules are fuzzy and emerge organically from within the system itself. Rather than a strict block size limit, Unlimited allows nodes to safely set their own limit but with a mechanism to ensure convergence upon a single chain. This same philosophy can be extended to all of the Category #2 rules. As
@Gavin Andresen pointed out, if nodes simple choose to drop blocks that take longer than (e.g.) 20 seconds to download and fully validate, then this single rule (which could even vary from node to node) would effectively place limits on block size, sigops, bytes hashed, UTXO lookups, etc., but in a way that naturally scales as the network becomes faster and more powerful. Convergence can be ensured if nodes simply try for longer to download and verify blocks the further from the tip those blocks are.
The people who support Unlimited trust market mechanisms and so they want to expand the ability of the end user to adjust the behaviour of his node--
especially in ways that might affect emergent network behaviour. They believe it is the aggregate effect of a bunch of small decisions made each day by thousands of nodes operators and millions of bitcoin holders that will best design the strongest network. There is no prescibed behavior to enforce, beyond fighting to tear down barriers that limit the community's access to information and the community's ability to
freely adjust the behaviour of their nodes.
So which is the future for Bitcoin? Will we see more and more central planning and control? Or will we see a relinquishing of that control into the capable hands of the market?