Android is the nail in proprietary software’s coffin
Years ago I made a prediction. I looked at the world of proprietary software, where companies tightly control their code, and compared it to the world of Free Software, where hobbyists and businesses across the world collaborate give away their code for free.
For a long time it seemed like the Free Software world was forever going to be playing catch-up. Linux was always lagging behind Windows and Mac, particularly when it came to gaming and ease of use. The Gimp still hasn’t caught up to Photoshop. Oracle was always a bigger, more powerful database than MySQL. It seemed inevitable that the group of hobbyists and random employees of interested businesses working on Free Software would never be able to compete with the huge teams of engineers working for the big software companies.
But the more I learned about Free Software, the more I started to see this as a temporary state. The problem was that the Free Software world was too young, and therefore too small. There were only a handful of nerds working on these projects, and a handful of companies involved, and there weren’t that many competing projects. It was a healthy ecosystem, but it was a small one.
But I could see that was changing, and that over time the ecosystem would get bigger and bigger and more diverse, and there would be more and more resources until we saw a kind of a switch. Instead of Microsoft’s engineering team dwarfing the Free Software community, the Free Software community would make Microsoft’s engineering team look like a startup. At that point, Microsoft and the other big proprietary software companies would be unable to compete. They simply wouldn’t be able to put together enough talented teams to build everything they’d need to reach parity.
I came to believe that, but for years it was just a theory. I had no reason to believe it other than a hunch based on some trends I was seeing. But this year that all changed. This year I got my proof.
This year, Free Software finally won.
And the place where you can see that most clearly is Windows Mobile vs. Android.
See, when Apple came out with the iPhone a couple years ago, everyone was blindsided. They made everyone’s cell phones–from Motorola to Windows Mobile to Palm–look like polished turds. In the race to build the phone platform of the future, they leapt out ahead of everyone.
And just like that, everyone was off like a flash. Google got to work on Android, and Microsoft started modernizing Windows Mobile. Both companies are working furiously to put out a platform that can match what Apple did.
Microsoft is racing against Google and Microsoft lost.
Now, you could say that Google has better engineers, or that they put better crack in the cornflakes or whatever, but I don’t think that’s why Microsoft lost. Microsoft lost because they have to build everything from scratch. And Microsoft has to build everything from scratch because they are a proprietary software company.
See, Google didn’t have to rewrite their kernel to run on faster mobile CPUs because Linux already runs on everything. Google didn’t have to write a brand new “full web” browser to run on mobile CPUs because Webkit already runs on phones. Webkit already runs on phone because Apple is using it on the iPhone. Google didn’t have to write new compilers to get their language to run on phone because Java already runs on everything. They didn’t have to rewrite their 3D graphics engine for phones because OpenGL ES already works on phones.
Google didn’t have to do half of what Microsoft is going to have to do, because they could pick and choose from the wealth of Free Software out there. Microsoft can’t use WebKit because they’d have to admit it’s better than their Trident rendering engine. They can’t use OpenGL ES because they want everyone to use DirectX.
And while Microsoft is slogging through months and months of trying to write their own versions of everything Apple and Google have done, Google is selling millions of phones.
So that’s that. We now live in a world where building a product on Free Software lets you utterly outmaneuver and outcompete your propriety competitors. Go figure.