Googles Open Source Boss, Chris di Bona.

Foto: Chris di Bona

Right from the start Open Source has been playing an important role at Google. Nowadays it's used nearly "everywhere" inside the company. From server to the engineering desktops and smartphones as Chris diBona, Googles "Open Source Manager" points out in an interview with He goes on to talk about Android as the "Linux desktop dream come true" and explains why the release model of Chrome and Android are so fundamentally different.

The interview was conducted during Googles I/O conference in the midst of May with Andreas Proschofsky asking the questions. Could you give us a little overview – to what extent does Google rely on Open Source software?

Chris DiBona: Most people recognize Android and Chrome, but Open Source at Google is much bigger. We have released something like 1,300 open source projects to the outside world in the last five years. That amounts to 24-25 million lines of code, using a variety of licenses. So basically whatever device or computer you use it most likely has some code from us in there, be it through our compiler or our application work. Would you say that releasing software as open source is already the default at Google? Or are you actively trying to convince developers to release their code as open source?

Chris DiBona: Our job is to make this step really easy if you want to. But we don't need to cheer-lead anyone. Engineers already know that they want to do it, when they come to us. They just want some help in this process. Could you give us an example how this would work?

Chris DiBona: Say you are an engineer and want to release a patch for GCC, you just send it to us, and we take a look at it and approve it. If your contributions look good, after a few times we just tell you to skip asking us.

If you want to start a new project this kicks of our timeclock where my office, patents and trademarks all have three days to approve it or to say why they can't. If they don' act the project gets automatically approved and you can do the release. Usually we finish all the paper work and all the bureaucracy before the developers are done with the process of engineering for release.

For larger projects – like Android and Chrome – we engage with them years ahead of time. We were talking with the Android guys probably three years before the G1 came out, helping them with their license compliance, selection and strategy. Are you telling smaller projects which license to use?

Chris DiBona: We default to the Apache license, if they want to use another one, we talk to them about why, and if it makes sense – like when you want to create something inside Firefox, where an Apache license is not appropriate – that's fine. Why did you choose the Apache license as a default?

Chris DiBona: We really like it, it has a couple of things which make it very modern. Obviously you are getting a copyright grant, you are free to use and modify the software – like with all open source licenses. But it also says for any patents that we have in relation to that software we are giving you a license free of charge, and your users can too. The only exception is, if you sue us – well you don't have that grant anymore. If you don't – it's yours, you don't have to worry about us sneaking up on you later. In earlier interviews I've seen you mention that MySQL might be the most important open source project used inside of Google...

Chris DiBona: I think this was true for a while, I don't think it is still as true anymore... Is this because the relationship to Oracle (who now owns MySQL) has gotten "more complicated"?

Chris DiBona: It's certainly gotten more complicated [laughs]. But I think MySQL has faded in prominence, not just at Google. What are you using instead?

Chris DiBona: Well we are still using MySQL in parts of our ad-system. But when you come to the size of Google, commercial databases – even the open source ones – simply don't scale. So we ended up writing up our own, we had to. BigTable, Megastore, we've done publications on all of these. Besides the ones you are developing yourself, what are the most important open source projects for Google?

Chris DiBona: Honestly, I'd say the GCC. But also the Linux kernel and all the compiler tools, languages like Java, C++ and Python. Also we found that things like OpenSSL is super-important to us, also FFmpeg, so we try to help them out as much as we can. Where do you use Linux inside of Google?

Chris DiBona: Everywhere. Every production machine / server inside of Google is running Linux, Android of course, lots of desktops. Which percentage of desktops is running Linux?

Chris DiBona: That's a good question. We have Linux, a very very small amount of Windows, and a fair number of OS X machines. If you'd look at laptops it's maybe 70 percent Mac OS X and most of the rest is Linux, we are a huge customer of Apple. Engineering Desktops are overwhelmingly running on Linux. We have our own Ubuntu derivative called "Goobuntu" internally for that, integrating with our network – we run all our the home directories from a file server – and with some extra tools already built-in for developers.

And we are also trying to deploy ChromeOS, but ChromeOS really isn't a developer experience. I have one of those machines and it's pretty good when I'm not doing any software development, but it's not really a full replacement for me. Are you following Ubuntu upstream closely?

Chris DiBona: We try to. But the problem for every organization is to follow the mainline, so you want to stay close, but not too close, because you want to present a stable interface to your users. Right now we are pretty close, but honestly I don't know the exact number. Ubuntu has recently switched to a new interface, Unity. Are you going to deploy this?

Chris DiBona: We probably won't use it, unless it's super-compatible with our tools. For most Googlers it's Eclipse, it's VIM, it's Emacs – those things run fine under Ubuntu. So basically you just need GTK+?

Chris DiBona: Yeah, and Unity still supports GTK+, right? [laughs]

Ubuntu has an interesting path ahead of it. I don't know if you saw that Shuttleworth announced that he wants to have 200 million people using Ubuntu in four years. When I read that it was like "Wow – that's an aggressive target". Do you know how many users they now have?

Chris DiBona: They are saying 12 million, which sounds fine, but you really can't measure such a thing reliably, we've tried in the past.

Just to give you a number: We've been public that we are now shipping 350.000 Android devices a day. So delivering 200 million devices would take us up to two years, in the desktop world that's a staggering amount of machines. How does a company like Google balance the need between wanting secrecy on new developments and doing it open source?

Chris DiBona: That varies between project. If you look at Chrome, every commit is instantly online. Android has a punctuated release model based on its marketing needs. Why is the chosen model for Android and Chrome so fundamentally different?

Chris DiBona: It's a different kind of market. If you look at Android we have lots of partners. We have chipset partners, we have handset partners, we have carrier partners. They all want to use Android and they all want to have something special about themselves. So they want to use Android for that specialness. What that means is that one handset vendor probably doesn't want to interact too much with the other handset vendors because they are competitors. And Android gets caught in the middle of all of this. And the bigger question then becomes how you architect software that it's still useful around that kind of model. As an open source advocate – does it hurt to see the source code release of Android "Honeycomb" being delayed?

Chris DiBona: I wish it had been out sooner, sure. But at the same time Android has always been the kind of project that releases when it wants to. That's meant in the past that we've released the code behind "Cupcake" weeks ahead of the phone-update itself, and the same was true for "Donut" and "Eclair". Honeycomb is the first release that comes a little bit later. And I want to point out that we are absolutely in compliance with the LGPL and GPL code, that parts are up there now, it's just the Apache-licensed code that is delayed.

And I fully trust Andy [Rubin] and his team when they say it will come out when they feel it's ready. The thing about Android is, it's sometimes hard to understand when they do a delay, but at the same time Android is the dream come true. It's your Linux desktop, it's the ultimate success story of Linux that I've been working on personally since 1995. And it's so gratifying to see Linux hitting literally hundreds of thousands of people every day. For years we've been talking about the Linux desktop and its chances for becoming really successful. Do you think this question is still relevant with the rise of mobile platforms?

Chris DiBona: The really big question here is, will people accept the Linux desktop that looks like a ChromeOS machine, will they accept a Linux desktop that looks like Android? And if the answer is yes – and I think it is actually – then the Linux desktop will grow to be quite popular. But I don't think the "classic" Linux desktop will ever be as popular as Mac OS X or Windows.

Working in technology for years you realize quickly how insecure most peoples machines are, how compromised they are, how compromised servers are. And I know when I use a ChromeOS machine that I don't have to worry about this anymore, because it's actually very very difficult for it to get compromised. Couldn't it be that ChromeOS is a bit too far ahead of its time?

Chris DiBona: Maybe. But it's okay if it is though. It's a different kind of machine. ChromeOS says you are going to do everything online, you are going to have this machine remotely maintained and incredibly stable and safe. And that's different to what we've told people today in computers, where we say "Here is this thing that has so many features, so many applications".

I can tell you as someone who uses ChromeOS in a corporate environment – it's just great, it just always works. I don't have to worry about it going down, I don't have to worry about loosing it, I can even leave it on a plane and not worry about it. And as somebody who works in a very large company that is often the target of hackers, that's a pretty good thing. I think ChromeOS will be extremely popular with people who a) love the internet and don't want to maintain a machine and b) corporate environments. I don't think IBM will adopt it but I do think there are a lot of companies out there who will adopt it very quickly.

Desktop security models are just incredibly permissive. And it hurts me to say that, but most people don't have the computer education to maintain a secure machine. For instance if you are in a hotel and they have a business center somewhere, where you can print out boarding passes, I can guarantee you, almost every single one of them is compromised. But isn't it a bit difficult to sell people the security advantages of the cloud story when even huge companies like Sony mess their security up in such a big way like in recent weeks?

Chris DiBona: The whole Sony thing has been staggering. I'm just amazed, I can't believe it. I guess they just didn't prioritize security – at all. Obviously [laughs]. Not that they were just compromised, cause compromises can happen. But the way Sony was compromised and the availability of credit card data on their network – it's just shocking. I know companies, that refuse to take credit cards cause they are not sure they could handle it securely, but with someone who has 77 million credit card number, you would assume they know what they are doing. No machine who faces the user should ever be able to see a full credit card number, maybe the last four digits, but everything else – never. If you take on such a responsibility – well you take on the responsibility.

Honestly though: After the whole Rootkit thing back in 2007/2008 I already had a hard time picturing giving Sony my credit card details for storage. Google has been doing the "Summer of Code" for a few years now, sponsoring students to work on specific improvements in Open Source software. How would you describe Googles interest in doing this?

Chris DiBona: Google has lots of interests here. We need to see more open source code created, we need to see more open source developers. Open source developers create the standards and the protocol that basically keep the Internet free and competitive. Also there is a certain amount of Googlers that came out of that program.

We spent something over 28 Million Dollars on SoC since we started – and it's been great. The best thing about it though is this second order effect, where organizations that take part in the Summer of Code become extremely good in taking on new developers. Giving them new tasks that are easy to complete if they are dedicated, etc. They get more welcoming, they have idea lists. So we require them to be gentle to newcomers – and that persists even when the Summer of Code is over. So this has been great for Open Source in general. Which are the most used licenses on Google Code?

Chris DiBona: I think last time I read the numbers it was about equal Apache and BSD, with a little bit less GPL. Why don't you support Git on Google Code right now?

Chris DiBona: Because we don't [laughs]. So you are working on this?

Chris DiBona: Yes, we will add that.

(,, 26.06.11)