Interview with Chris DiBona of Google
Open source is brutal: an interview with Google's Chris DiBona
Chris DiBona is the Director of Open Source for Google. He is also one of the great champions of open source, dating back to when he first fell in love with Linux at his university.
At the All Things Open conference this year, Chris will give an update on Google's current open source software activities and a retrospective, of sorts, on the origins and state of Android.
I caught up with him to discuss his favourite Linux distribution, the brutal nature of open source, and his view of Google's responsibilities as an industry leader.
Read more in this interview.
What's something we don't know about your path to Google and working with open source?
I first used Linux while I was at school, as we needed to write some client/server stuff for the operating systems class I was taking. Fortuitously for me, the Sun workstation lab was crowded, very hot due to poor ventilation, smelly (coder odor), and the terminals were very very slow. I figured, what the heck, let's give this Linux thing a shot on a 486-16 I had lying around at home. Best decision ever. I fell in love with the Linux OS. It was so great, fast, and feature-full even back then compared to other unixes. I got an A in the OS class, too.
A question almost as dangerous as asking about your favourite sports team; what's your favourite Linux distribution?
Ha! A flip answer would be Android as that's the device with a Linux kernel that I use more than anything else by two orders of magnitude, though most people don't consider it a distribution in the common way we talk about them. I'm typing the reply to this question on Chrome running on a Ubuntu/Debian derivative. I'm running a Debian instance on Google compute engine and I have a Fedora machine at home that I use from time to time. I carry a Chomebook around for most of my presentations and feel it's probably the most secure machine I own.
Favorite though? Android.
You spent a long time working with open source and Linux before moving to Google in 2004. What made you want to work with Google?
When I decided to return to full time work after a brief period consulting, Google's offer was the strongest and the most interesting to me. The idea of being able to be Google's 'open source person' and to build the effort from scratch was deeply appealing to me. I also felt that Google was (and is) still doing really interesting computer science and that appealed to me in ways that the other offers didn't.
Not only do you mentor and consult on a variety of different projects, you're also involved with Google Ventures, helping to fund startups, so what is it that you look for in a project? What makes you say: "Yes, I want to help you"?
Well, honestly, I am mostly looking for it to be interesting. For Google Ventures, I am not really in the deal flow so much as I'm brought in on open source issues (which are interesting and legion).
In an interview a few years ago you said, "Google works with the open source community. Sponsorship implies stewardship, and that's a pretty serious thing." Does Google hope to avoid stewardship in the communities it's involved in? Are the two inextricably linked?
I think so. I would rather Google engineers and non-google open source engineers see each other as peers in computer science. We do realize that our broad funding of open source projects can imply stewardship like control of projects, but you know, that's how it goes even if that sort of thing doesn't really correlate.
You once called open source “brutal”. What did you mean by that?
Well, I think I was asked why open source works and when you think about how software engineering management works in industry, it shouldn't. Disparate, distributed, non-homogenous teams are extremely difficult to run in a company, but in open source it creates some world-class terrific software. Why is that?
I think that it is because open source projects are able to only work with the productive people and ignore everyone else. That behavior can come across as very harsh or exclusionary, and that's because it is that: brutally harsh and exclusionary of anyone who isn't contributing.
This is why project forking is so important. If a person is rejected from a project for whatever reason, they can fork and take the project in a new direction, and if their ideas and execution is superior to the primary project, that fork becomes the new reality and those people that rejected that developer are now the rejected.
So, I guess what I'm saying is that survival of the fittest as practiced in the open source world is a pretty brutal mechanism, but it works very very well for producing quality software. Boy is it hard on newcomers though...
Fourteen years ago, you edited an O'Reilly book about open source. Has the landscape of open source changed much in those years? Do you think open source will overtake the proprietary model in the future?
The landscape has changed a bit, with the notable demographic difference being that we've seen a growth in the number of people in companies working on open source, and I perceive a slight decline in open source participation in the academy, which I blame on the tech-transfer/bayh-dole patenting process being a real barrier to code licensing. Similarly, some open source coming out of universities and companies simply isn't open source enough as there is a fair amount of side dealing going around on around patents. I'm tempted to say that if it isn't a patent granting license, you should be suspicious, but that's probably a bit extreme a position to take at this time.