Even if the problem hadn't been found during testing, if miners had gradually rolled out the change to 0.8 (with a built-in bigger block-size limit), then when the problem cropped up, as long as 51% of the mining power hadn't been on the new "big block 0.8 release", there would not have been a hard fork.
The problem that cropped up is a hard fork, so by definition it would have happened. It's clear now that a hard fork is unavoidable. The only question is when does it happen and who will lose out because of it.
If only a few miners had been on "big block 0.8 release", they could have produced a block the rest of the world didn't understand. But, wouldn't the rest of the world continued on without that block? A single orphan block. I don't exactly consider this a "hard fork". Am I missing something, here?
The problem was that 51% of the miners were running an essentially untested combination of software and blocksize. Without manual intervention, the fork that evolved would have continued forever. *This* is what I call a "hard fork".
Also, I'm afraid it's very easy to say "just test for longer" but the reason we started generating larger blocks is that we ran out of time. We ran out of block space and transactions started stacking up and not confirming (ie, Bitcoin broke for a lot of its users). Rolling back to the smaller blocks simply puts us out of the frying pan and back into the fire.
We will have to roll forward to 0.8 ASAP. There isn't any choice.
The official release of 0.8.0 was just 3 weeks ago:
https://bitcointalk.org/index.php?topic=145184.msg1540252#msg1540252Unless you are the IT department at Citibank, you cannot possibly expect all of your branches and customers to upgrade on your schedule. Forcing a tight upgrade schedule on customers and merchants will kill bitcoin as surely as a forked blockchain. I think LukeJr suggested a 2 year upgrade window. Seems more reasonable than 3 weeks. Bitcoin isn't the same as Ubuntu, but look at their support window.