Developers shouldn't have this kind of control unless your product is for developers. I say this as a developer.
The article mentions it only works if you hire insanely smart people, but that's also not a sufficient condition. You can have really amazing programmers, but if they don't have a strong understanding of your demographic and your goals, they're not "smart" in the way that's most relevant to this particular sort of decision.
I also dislike the phrase to begin with. Asking forgiveness rather than permission is often more effective, but that doesn't mean it isn't also irresponsible and a breach of trust. In an environment that doesn't claim this sort of non-regulation (i.e. most of them), if your integrity sells for the value of one commit and the risk of breaking or misdirecting your employer's project, you have more fundamental problems than potential bugs in production.
If you have the freedom to make decisions, you also have the responsibility of being correct.
I'm not sure of the full intentions of the article nor your comment, but I think you may have missed a major point here. The article does not seem to argue that insanely smart people know all the right answers; instead it argues that insanely smart people have a pretty good idea when something is a bad idea, and will be the type of person who works out the right answer prior to pushing it live. That said, the other cases is covered as well...
Actually, mistakes are fine. They’re something you trade off for other variables like speed of iteration.
One problem I have with your second quote is that "speed of iteration," like intelligence of employees, is not in and of itself enough to make the result good for the product. The latter requires that the employees understand the target audience and their needs. The former requires that your iterations are moving in a direction that satisfies your target demographic, and if it doesn't, this isn't just not beneficial: Your speed of iteration becomes directly detrimental to the product.