I think what precludes the final victory of open source is that the world itself changed for the better. The mobile and web revolution brought easy to use software into the hands of billions. These are people who wouldn't have been able to touch a PC twenty years ago, let alone understand or care about what source code is. They have vastly different expectations than the professional software users that created the free source movement in the image of the hackers of the 70s and 80s. Just look at the number of rooted phones sold. It's an appliance model of computing.
In this new consumer environment, the free source development model is less adequate and cannot compete with commercial software that can directly monetize the apps and invest in further development. What is required, I think, is to update the free software philosophy to the 21st century, and relax some of the ideological goals to facilitate development and reach the more substantial goals, like privacy and security.
The walled gardens of Google and Apple can be replicated. What is lacking is a free software business model that can gather the $1 billion or so required.