December 13, 2006 12:52 PM PST
Newsmaker: A look inside Google's open-source kitchenSee all Newsmakers
The Mountain View, Calif.-based company has versions of software like Ubuntu running on its own machines, according to DiBona, the open-source programs manager at Google. For outsiders, it has recently released the Google Web Toolkit under an open-source license. The Java software development kit is designed to help programmers create Web 2.0 applications.
In addition, the source code for a company-sponsored project called Net Trust was recently published on Google Code, its collaboration space for open-source developers. Net Trust, a project started by L. Jean Camp at Indiana University, is an online antiphishing initiative. Web sites are flagged as trustworthy or not depending on what the members of an Internet user's social network think of them.
Despite all this activity, Google it is also a firm believer in proprietary software, DiBona said when he sat down for an interview with CNET News.com. He talked about which open-source programs the search company likes, how the open-sourcing of Java will affect Google and why there is a lot of code the company will never release to developers.
Q: What are the criteria for Google to support an open-source project?
DiBona: A couple of things go into it. Sometimes Google engineers will bring a project to us that they would like to see us fund, and then we work and see if funding actually makes sense for that project. By "makes sense," we mean that it would result in more code being created, more open-source developers being minted, or would otherwise help the open-source community in some manner.
If you look at all of our funding activities, you'll see that they fit into one of those three categories, or more than one. Net Trust basically helps the college (Indiana University) create more open-source code and more open-source developers, because you have a number of students working on this. We have broad latitude to do that kind of funding.
Net Trust is one of the open-source projects that Google is helping out with. How did that come about?
DiBona: A Google engineer approached to the open-source group almost a year ago. He had a friend at a college who was doing some research into fighting the phishing problem through the use of social networking. We do fund a lot of open-source software, and it sounded interesting. We met up with Jean (Camp) and saw what she was doing, thought it was kind of interesting, so we gave a donation toward that project.
Net Trust is basically a way for users to verify with each other that a site is what they think it is--or more importantly, when a site is not what they think it is. The idea is if you trust your friends, and if you trust your friends' friends, then you can trust the Internet a little bit more. That's pretty compelling.
Do you have a lot of people asking you to support open-source projects?
DiBona: What's funny about money and open source is that money does not necessarily translate into source code. We're very focused on that as being the output of our funding activities. It means that when people come to us wanting to do things that are more non-code-oriented, we don't go for that. We have a reputation of being good to talk to if you want code written, and not so good if you want other bureaucracies created.
Have any open-source projects come out of Google?
DiBona: We've released a lot of code, but we're more likely to take part in existing communities than we are to create new ones. I would rather add patches to the (Linux) kernel than create a new kernel. I would rather send patches back into Apache than create a new Apache. I think it's a better way to go.
What are the top open-source projects that Google or Googlers are involved in?
DiBona: That would be any number of Apache projects and the Apache Software Foundation in general. Then, with the hiring of Andrew Morton, the Linux kernel. We gave some patches back to MySQL, but it is probably not in the top five. OpenBSD and OpenSSH--we do have a lot of people who work on those.
And Firefox as well?
DiBona: Sure, Firefox. I don't know why I forgot.
It seems like all the other projects are on the server side, other than Firefox, which obviously is a client application. Is that a coincidence, are you more involved in server projects?
DiBona: Generally, we are.
Is that because you use that software yourself?
DiBona: Exactly. We're way more likely to patch out the things that are important to us, that's just natural. We have some stuff that we released that isn't really our bread and butter, but we mostly concentrate on things that matter to us.
So, what open-source software does Google use itself?
DiBona: We use the Linux kernel. We've got the GNU tools, we use a lot of the compiler collection from the Free Software Foundation. We use some Apache libraries--we don't use the Apache Web servers so often, but we do use a lot of their libraries. We use a lot of OpenSSL and OpenSSH. We use languages like Python and C. We use a fair amount of MySQL, all kinds of things.