> So how can one claim the hardfork fixed a protocol bug?
If I understand it, it isn't fixable without affecting every existing contract, so, the best fix was to patch the problems it caused, patch Solidity, introduce safer opcodes that avoid it, and invest heavier on security, which is exactly what was done (just see how much the EF is spending on security-related grants...)
> where the bug had nothing to do with the Ethereum protocol itself. I don't think the two are comparable.
You're defining "bug" to fit your purposes. It wasn't "just a faulty contract". The entire protocol had a reentrancy situation that wasn't intended by any of its developers nor expected by any of its users, and that went against the expected semantics of its official programming language; it was a protocol bug, for any sensible definition. I don't see anyone neutral arguing it wasn't.
If you argue The DAO hacker had the right for the Ether he got because "that's what the code said", you could also claim the Bitcoin address had the right to claim his billions BTC, because that's what the code said back then. He only followed protocol rules and got all his money taken away by the hard fork.
That's a blatant lie, running a full node is not required to "be decentralized", for the same reason you don't need to run a full node in Bitcoin. Light nodes have the same guarantees about the integrity and irreversibility that full nodes do. Perhaps you should try learning about them - see https://github.com/ethereum/wiki/wiki/Light-client-protocol - before stating things you don't understand? The fact that the worst thing a "fudster" like you has to say against Ethereum is that it had a hard fork to revert a millionaire hack caused by a bug in early stages of the project; whereas something not too different also happened to Bitcoin - see https://en.bitcoin.it/wiki/Value_overflow_incident - when it had the same age; says it all.
I don't often comment here, but I simply can't understand why an human being would come to the internet and hatefully attack things it doesn't like with straight made-up facts. I mean, I know this is so common, I just don't get why. This kind of thing makes me sad about humanity as a whole. Why can't we be nice to each other?
If I understand it, it isn't fixable without affecting every existing contract, so, the best fix was to patch the problems it caused, patch Solidity, introduce safer opcodes that avoid it, and invest heavier on security, which is exactly what was done (just see how much the EF is spending on security-related grants...)