We will have to agree to disagree. If you think poorly written code is an excuse for taking the property of others so be it. My morality requires doing no harm to others......it's as simple as that.
Then you are one of the (visibly many) ethereum supporters who don't know what is the mind boggling idea of a smart contract, which is somehow strange, as the whole value proposition of ethereum is to make smart contracts.
In a smart contract, "code is law, all the law, and nothing else is the law". I wrote already a few posts on that, but essentially, in a smart contract, you replace totally all human law (state law, international law, morality and all that) by a piece of code, which is the ultimate verdict on "right" and "wrong". If the code allows it, it is right/legal/fair and if the code doesn't allow that, it is wrong/illegal/unfair.
This is the whole idea: you turn "right" and "wrong" into something like a law of nature: by running the code, ALL you can do is right, and it is IMPOSSIBLE to do wrong. As such, you do not need judges, police and prisons, because only RIGHT things can happen. Yes, but the "right" and "wrong" in this world are very, very, very strange. But this is needed to do a smart contract, that a computer can decide, and that no police or judge is needed.
The Ethereum foundation has scammed people by letting them think that a smart contract is akin to a paper contract, but "in software". That is not true. A smart contract is a piece of code that replaces all of human law and morality by a mechanical execution. A paper contract exists inside a whole bed of human legal constructs, from state and international law, down to human morality and sense of fairness. A paper contract is much more than what's on paper: it includes implicitly a whole environment of legal and moral rules.
The Ethereum foundation sold smart contracts as if it was similar to a paper contract and people believed it. If they would have realized how "unlegal", "immoral" smart contracts are BY DEFINITION, then they might not have poured 150 million in something like the DAO.
Because by definition, if the code tells you that you can do it, by definition, you are legal, right, and you are not harming any one. That is the strangeness of a smart contract. If the code gives you the coins, then you did so legally.
All the standard arguments of "poorly written software", "exploits", "bugs" and so on don't even exist as a concept in a smart contract.
In fact, the big scam of the DAO was not that there were "bugs" in the code. The big scam was that the DAO guys "explained" the supposed, intended workings of their code. In fact, given that the DAO law was the code, they should have only put online the byte code of the DAO. Not even the source code. Only the byte code. THAT was the law and nothing else.
This is similar to not writing a "summary of intend" when you sign a paper contract, but only the contract itself. What tricked people was that the DAO website told other things than the code.
In the normal software world, what counts is the intend, and if code does something else, people call that "bugs" and the code is adapted to the intend in an update. However, in a smart contract, it is the other way around. You should deduce intend from the (byte) code, and not the other way around.
People simply seem not to understand the weirdness of a smart contract ; in the first place, ethereum supporters, because they believe in the simplism that a smart contract is like a paper contract, but written in code. It isn't. At all. A smart contract is a terribly weird idea and very inhuman. I support smart contracts but that is because I am a fan of the Singularity, where humanity will be replaced by machines. This is actually the only kind of vision in which smart contracts make sense. The Ethereum foundation didn't tell you that, did it.
This inability of some to not understand both that funds were stolen and at the same time the fork essentially broke ETH as a cryptocurrency is surprising. Essentially ETH might as well be put on a single server now because the blockchain serves no purpose.
I perfectly understand that, but that is even another issue. That is like bitcoin not forking over the more than 50 large bitcoin thefts (real thefts of wallets this time). But it is still another issue.
A far better solution would have included catching the thief and suing the creators of the DAO (along with various associates). This would have allowed DAO purchasers to get their money back, encouraged due diligence in future contracts and penalized all guilty parties. Additionally one of the purposes of a blockchain over a centralized data base (malleability) would have been preserved.
By saying that, you confirm that you don't understand the essence of a smart contract. The "thief" wasn't a thief under the code=law system. People only signed up to a contract they didn't understand (including their authors): it wasn't a venture capitalist firm, but it was a hacker's bait. Which is normal. EVERY COMPLEX SMART CONTRACT is a hacker's bait because NONE works as "intended". That's in the nature of smart contracts, and what the Ethereum foundation forgot to tell you.
Only small smart contracts can reasonably well be considered more or less doing as intended. The claim that complex smart contracts do as intended is the same claim as saying that one can write a complex piece of software not containing bugs or exploits ever.
So all complex smart contracts, being the law, will be legal hacker's baits.