I'd rather make a decision that turns out to be wrong later than waffle about possible alternatives for too long
Linux was successful because most of his decisions turned out to be right. The guy is a genius.
QFT, I would actually further argue it is lucky he was right so often as he has shown a complete arrogance and unwillingness to admit when he is wrong despite what he says.
Nope. Linus is perfectly willing to admit he is wrong when proven so. Don't confuse that with backing down out of politeness to appease and avoid confrontation. He doesn't do that, and thank goodness for that.
Here's the thing that many people don't understand: Linus places *technical correctness* above all else.
That is one of the reasons Linux has been successful - he is unwilling to compromise that technical correctness for the sake of politeness, "getting along", appeasement, "business reasons" and the like. That, coupled with the fact that he's a very good engineer and project leader has kept the project on a steady path of constant and *consistent* improvement.
In the early years of the project, that was really important, IMHO, because Linux wasn't perfect and often inferior to an existing technology. But it was good enough, generally rock solid when it got things right and everyone could count on the fact that it would improve rapidly and consistently without much backsliding, if any. In other words, what Linux was good at, you could count on staying good, and what it wasn't good at *yet*, you could count on getting better in the future.
Now that I think about it, that sense of future reliability was probably a very important factor in the success of Linux, because it allowed people to lay the foundations for projects and businesses that relied on Linux, and by they time they were ready to go into production, the kernel was solid enough handle the job, usually at a fraction of the cost of existing commercial solutions. In other words, Linux turned out to be a safe bet. So Linux adoption was quite rapid (as soon as it was ready to take on a task, if not slightly before) and steadily increasing. I attribute that in no small part to Linus and the rest of the kernel developers, both because of the 'willingness to be wrong' (which kept the project moving steadily) and the complete unwillingness to let things stay wrong when it was clear they were.