Sunday, March 20, 2005

Google Open-Sources Code

SAN DIEGO—Developers who are curious about how Google's engineers compile and debug their code are getting a chance to use some of the search company's internal tools. Google Inc. introduced a developer Web site called Google Code during a presentation here Thursday at the O'Reilly Emerging Technology Conference. As part of the launch, it has contributed source code from four software development libraries and tools to the open-source community.

The libraries focus on compiling and debugging code and include tools for the C++ and Python languages. Google has made them available through the BSD open-source license, which means developers can use the code for commercial and non-commercial applications, said Chris DiBona, Google's open-source program manager. Google Code marks the first time Google has formally released code to the open-source community, though Google engineers themselves are well known as contributors to many open-source projects, DiBona said. "This is a new channel for us," he said. "These are all actively used libraries within Google."

Google is hosting the source code on the SourceForge.net open-source development site. Along with information on the contributed code, Google Code provides a directory of Google's existing developer APIs, which include APIs for Web search, Google's AdWords advertising system and Google Desktop. It also offers developers an online forum for sharing ideas.

The Google Code program is the latest in a string of developer-focused announcements from the major search providers. Yahoo earlier this month opened search APIs to developers and this week unveiled a research project for predicting search-term popularity.

While the four initial contributions only reach a targeted set of developers, DiBona said they are only the beginning of source code releases coming from Google. DiBona joined Google about eight months ago to oversee its open-source efforts. He coordinates with Google engineers, many of whom are anxious to open code from the tools they are creating during their infamous "20-percent time," he said. Google engineers devote 20 percent of their time, or an average of one day per week, working on projects of their own interest.

The four Google Code releases include a library called CoreDumper, which developers can compile to create core dumps of the running program, and a Python library called Goopy Functional for bringing functional programming aspects to Python, Google announced. Also provided are a project called Sparse Hashtable, containing hash-map implementations being used at Google, and PerfTools, a set of tools for creating robust applications, especially when developing multithreaded applications in C++ with templates, according to Google.

Source: eWEEK