Every organization has one: Someone who may be brilliant in some ways, but can really stick his foot in his mouth. Sometimes, as with Richard M. Stallman and the Free Software Foundation, it can be the head of the organization. With Google, the latest case of foot in mouth disease goes to Steve Yegge, a Google engineer who declared that "Google+ is a prime example of our complete failure to understand platforms from the very highest levels of executive leadership."
Yegge published his rant on Google+ for all to see. Later, Yegge claimed that he was so new to Google+ that he didn't realize he had sent it to the world. Right there, is a red flag. He's declaring Google+ to be a complete failure but he doesn't even know how to use a Google+ circle? Clearly, he hasn't a clue about the very system he's declaring to be a failure.
That didn't stop him from declaring that "The Google+ platform is a pathetic afterthought" and that "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." He goes on and on like that for quite a while.
The morning after, Yegge wrote that he had "taken the post down at my own discretion. It was kind of a tough call, since obviously there will be copies."
Yegge also added that while internal PR told him that they wouldn't censor him, he felt that had to delete it from the public view anyway. He said it's because it was for internal use. He added, "It's obvious to everyone that you're posting your own opinion and not representing the company in any way, whereas external posts need lots of disclaimers so people don't misunderstand. And I can assure you, in case it was not obvious, that the whole post was my own opinions and not Google's. I mean, I was kind of taking them to task for not sharing my opinions. :)"
He also added, after the horse was out the barn door, that "The other reason I deleted it is that it's really a private conversation between me and my peers and co-workers at Google. I love working at Google, and I especially love the fact that I'm comfortable posting something as inflammatory as my post may have been. The company is super open internally, and as I said several times in my post, they really try hard to do everything right. That includes being open to strongly differing opinions, and that has certainly not been true at every company I've worked at."
That's certainly true. Yegge has a history of shooting his mouth off and annoying people. As Jurgen Appelo, a writer and software developer wrote in 2008, he would never hire Yegge because of his "tunnel vision, distorted sense of reality and false reasoning. I can't abide know-it-alls." In short, Yegge has a history of saying things that really annoy his programming peers.
That isn't to say Yegge didn't make some good points. As Ted T'so, a Google engineer and leading Linux kernel developer observed on Yegge's public Google+ thread (Oh the irony!), "The bits about the pro's and con's of SOA [Service-Oriented Architecture] (and what you have to do so you can use SOA sanely from an ops and development point of view) are definitely worth publishing in a cleaned up fashion. Definitely a well written rant, even if it was published in the wrong place. :-)"
T'so continued, "One observation that might be worth making publicly is that one of the reasons why Microsoft got so good about platforms can perhaps be traced to the US consent decree, which forbade Microsoft apps from using internal interfaces, thus forcing them to follow what you called the Gold Rule of Platforms of eating your own dog food. So I think it was more than just Microsoft selling platforms from the very beginning. They were forced by the US Government to be very strict about how they export their interfaces from the OS to their apps."
T'so concluded, "And one thing about platforms which is very hard to get right --- every API [application programming interface] you export is one that you have to support for a long, long, time, where "long, long" approaches "forever". If you have an internal source tree, and the API is only for use internally, it's possible to do a global code search followed by a global fix up if you discover that you didn't quite get the interface right. But once you release an API externally (and this is true for both the Linux kernel as well as a web API), it's Forever, or close enough to it. Not everyone is good at designing interfaces that can meet that standard; it takes practice and judgment and experience."
So, yes there was some good in Yegge's comments. He should take a lesson from T'so in how to put his arguments so that he doesn't throw the Google+ baby out with his programming bathwater concerns. After all many of us find Google+, SOA problems and all, pretty darn useful.