Imagine a world where a software is maintaining millions of dollars worth of money, but there is an exploit which allows the hacker to take all that money away. Now imagine you can’t do much about it because you can’t update your software, so all you can do is wait and watch or pull the plug of the whole server.
This is a world we are living in with the software/contracts being developed for the Ethereum blockchain.
Immutability of blockchain has its advantages in making sure that things are tamper proof and the whole history of change can be seen publicly and audited. When it comes to smart contracts, immutability of the contract code has its disadvantages which makes it hard to update in case of bugs. The DAO and the Parity Wallet exploit are a good example of why smart contracts should have the capability to upgrade.
There is no de facto