Is Google losing it?
by Glyn Moody
Google matters for open source. First and foremost, it is an example of a multi-billion dollar global company that simply would not be possible without an underpinning of free software. Open source's customisability means that its engineers have been able to fine-tune Linux and other code to meet Google's very specific needs. That, and the fact that there is no licensing fee, has allowed the company to scale its operations to unprecedented levels – rumoured to be over a million servers.
Secondly, its ethos of engineering excellence has meant that a number of the top open source coders have joined the company – people like Guido van Rossum and Jeremy Allison – and can spend some working time on their own code. This supports those projects, and provides a useful incentive for up-and-coming hackers – and shows that giving stuff away can be financially rewarding as well as ethically satisfying.
Thirdly, Google has helped open source projects through its Summer of Code scheme. It has released free software: Chromium and WebM, for example. It has also supported GNU/Linux better than most, offering versions of many of its programs – Google Earth, Picasa etc – for that platform.
Finally, it is probably the most powerful of open source's supporters in terms of financial and political clout. It has been vocal in its dissatisfaction with software patents, and is beginning to express its alarm at the latest US proposals on copyright enforcement.
Google, then, is a key ally for free software. And that means its growing series of mis-steps are extremely bad news, because they damage its credibility – and hence its ability to fight for things that are important for the free software world.
Some of those blunders suggest a worrying loss of control in core competencies like engineering. For example, the Gmail app for the iPhone has been widely derided. Its redesigns of Google Reader have prompted a petition asking for the original design to be brought back. And judging by my own experiences with the hideously gappy Gmail re-design, I can see people making a similar call there.
You have to wonder what review processes were in place that allowed all this to happen – do the managers really know what's going on? And it seems that I'm not the only person to ask these questions. Tellingly, there have been at least two high-profile incidents where Google engineers went public with their concerns about what was happening inside Google.
Here is something you've may have heard but never quite believed before: Google's vaunted scalable software infrastructure is obsolete. Don't get me wrong, their hardware and datacenters are the best in the world, and as far as I know, nobody is close to matching it. But the software stack on top of it is 10 years old, aging and designed for building search engines and crawlers. And it is well and truly obsolete.
He also had concerns about the company's culture:
The nature of a large company like Google is such that they reward consistent, focused performance in one area. This sounds good on the surface, but if you're a hacker at heart like me, it's really the death knell for your career. It means that staking out a territory and defending it is far more important than doing what it takes to get a project to its goal. It means that working on Search, APIs, UI, performance, scalability and getting each one of those pieces across the line by any means necessary is actually bad for your career.
Engineers who simply staked out one component in the codebase, and rejected patches so they could maintain complete control over design and implementation details had much greater rewards. (I was one among many who felt this way, and had colleagues who deserved more recognition than me who received less, lest you think I am belly-aching =)
The other engineer with qualms is Steve Yegg, who is concerned about another aspect of Google's culture:
We don't understand platforms. We don't "get" platforms. Some of you do, but you are the minority. This has become painfully clear to me over the past six years. I was kind of hoping that competitive pressure from Microsoft and Amazon and more recently Facebook would make us wake up collectively and start doing universal services. Not in some sort of ad-hoc, half-assed way, but in more or less the same way Amazon did it: all at once, for real, no cheating, and treating it as our top priority from now on.
Google+ is a knee-jerk reaction, a study in short-term thinking, predicated on the incorrect notion that Facebook is successful because they built a great product. But that's not why they are successful. Facebook is successful because they built an entire constellation of products by allowing other people to do the work. So Facebook is different for everyone.
The problem we face is pretty huge, because it will take a dramatic cultural change in order for us to start catching up. We don't do internal service-oriented platforms, and we just as equally don't do external ones. This means that the "not getting it" is endemic across the company: the PMs don't get it, the engineers don't get it, the product teams don't get it, nobody gets it. Even if individuals do, even if YOU do, it doesn't matter one bit unless we're treating it as an all-hands-on-deck emergency. We can't keep launching products and pretending we'll turn them into magical beautiful extensible platforms later. We've tried that and it's not working.
Of course, those are only two voices, but the accusations are pretty serious, and seem based on factual issues, not just opinions. But the malaise at Google isn't "just" about engineering: there are big questions hanging over the management too.