Google recently launched their "developer" website called
Google Code. As part of the launch they have contributed 4 development libraries to the open sorce community. I also noticed that
google.org now has a new face.
google.org, supposedly the philanthropic arm of
google, is busy staffing personnel, and defining goals, priorities, and principles. The open source libraries found on
code.google.com site 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.
Goggle currently hosts these open source libraries on
sourceforge.net, and is making their works available through the
BSD open source license.
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 almost a year 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.
A complete list of Google's currently released open source projects are as listed below:
AdWords API Java Client Library
The Java client library for the AdWords API makes it easier to write Java clients to programmatically access AdWords accounts. The client library is provided in a single jar file that contains all the Axis jars and pre-compiled stub classes needed to write Java clients.
AjaXSLT
AJAXSLT is an implementation of XSLT in JavaScript, intended for use in fat web pages, which are nowadays referred to as AJAX applications. Because XSLT uses XPath, it is also an implementation of XPath that can be used independently of XSLT.
CoreDumper
The coredumper library can be compiled into applications to create core dumps of the running program, without termination. It supports both single- and multi-threaded core dumps, even if the kernel doesn't natively support multi-threaded core files.
Google mMAIM
mMAIM's purpose is to make it easy to monitor and analyze MySQL servers and to easily integrate itself into any environment. It can show Master/Slave sync stats, some efficiency stats, can return statistics from most of the "show" command, and more!
Sparse Hashtable
This project contains several hash-map implementations in use at Google, similar in API to SGI's hash_map class, but with different performance characteristics, including an implementation that optimizes for space and one that optimizes for speed.
Sitemap Generator
Sitemap Generator is a simple script that can be configured to automatically create Sitemaps and submit them to Google. Sitemap Generator can create these Sitemaps from a URL list, access logs, or a directory path hosting static files corresponding to URLs. You can read more about Sitemap Generator
here. Google has also created a
page listing the creativity that third parties have brought to the Sitemaps space.
Kongulo
Kongulo is a web spider for
GDS, written in ,a href="http://www.python.org/" target="_blank">Python. Offered as an example of how to write a GDS plugin in the fabulous Python programming language.
Goopy/Functional
Goopy Functional is a python library that brings functional programming aspects to python.
Perftools
These tools are for use by developers so that they can create more robust applications. Especially of use to those developing multi-threaded applications in C++ with templates. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.