As I understand it, Bitcoin blocks were always limited by MAX_SIZE (32 MiB). It was in 2010 when MAX_BLOCK_SIZE (1MB) was introduced as a temporary anti-DOS measure.
Unfortunately, while many had high hopes that a robust mechanism could be devised to defeat the blocksize problem, no such proposals have survived close scrutiny. Clever-sounding fee policy discussions (transactions becoming more expensive as blocks grow) were replaced with more general musings about votes (e.g. have full nodes report how long it takes them to download and verify blocks and adjust MAX_BLOCK_SIZE to target a sane duration). Today, the blocksize limit remains in place and we seem to be left with few, very ugly options.
Bitcoin originally had no block size limit; it was added later as an anti-DOS measure with the expectation that it would be increased if necessary.
Really? I never knew that! Who wrote the 1M limit into the codes? I have always assumed 1M was hard-coded in from the beginning, and miners/pools have been experimenting with the block size themselves to balance propagation speed and fees.
Well you're right although I'm not sure if it was 32 MB. Someone older would have to verify if it had a 32MB limit at some point.
No the 1MB limit was not hard-coded from the begging. This is something that the majority seem to think, but it is wrong. We've reached that point in time where the measure, i.e. limit needs an increase.
We need to make enough room for future users and their transactions.