My main contention with Law 3.0 is that software is terribly strict. Law is notorious for its verbosity and yet it fails to cover absolutely all cases (I believe there's a reason Common Law is still in practice and laziness to switch to Civil Law system is probably not it). Let's take a speed limit example. How do you put in software a reason to break the limit? Say, there's an emergency, your wife is about to deliver a baby or someone's gotten stubbed. Is it a big deal to break speed limit or run a few red lights on empty intersections in the middle of a night? How would software in your car know it should allow that? We can hope our cars would be completely autonomous, fully connected to coordinate with other cars on the road and driven by an AGI so you could reason with it and explain what the emergency is. But how would that work before we get all that? We think of software as super flexible and easy to change. And it is in comparison, say, to replacing hard metal parts in a machine. But it's extremely strict until it's changed. Another matter is reliability. All software is buggy. And the more it's changed the buggier it gets. Imagine once in a blue moon speed limit is not getting enforced because some value overflowed and the limit effectively gets larger than the speed of light. Or on February 29th for whatever reason instead of enforcing maximum speed the limit flips to be the minimum. I'm not even talking about security of OTA settings changing. You can refer to @internetofshit for an abridged list of delights. I mean, I sure want my boiler to heat the water when it's a little cheaper rather than in the peak hours. And hive mind of self-driving cars sounds wonderful. But somehow all these delights keep staying in the future, in the promises and we're keeping getting only more surveillance, more bugs, more vulnerabilities