Google's Open Source Projects
- Which projects are being released?
- We've chosen 4 projects to start out. Perftools, sparsehashtable, coredumper and goopy/functional. Details can be found at http://code.google.com/projects.html.
- Why did you choose these particular projects?
- Well, several reasons, actually.
- Google Engineers picked them.
You may have heard about 20% time, in which Google engineers are encouraged to work on a personal project one day out of the week. Open Source interests a lot of Google developers, so we thought taking advantage of this program was a good way to prepare code for release and maintenance.
- They make future releases possible.
The programs we've chosen are all what we consider infrastructural programs. By releasing these tools, we will be able to release more software that relies on them later.
- These are the ones that were ready first.
- Are these programs still in active use at Google?
-
They aren't just in active use; they're in active development. These first projects are all current, actively maintained code straight out of our repositories, and as we improve them, those improvements will be merged into the free code base.
- Who is their intended audience?
- The code we're initially releasing is targeted at professional software development engineers who work with multi-threaded templated C++ code or who want functional features in python. We know that this is a somewhat limited audience; we made this decision specifically so we can work with a smaller community to iron out any bugs in our release and ongoing maintenance processes. Over time, we plan to release more tools useful to broader groups of developers.
- Why are you releasing code through Sourceforge?
- Well, because they were nice enough to oblige, and because developers here like Sourceforge. Future homes for new projects might include Tigris.org or language specific sites like the Vaults of Parnassus and CPAN.
- What licenses are the projects provided under?
- The first set are being released under the BSD 2.0 new license, to encourage their use in all kinds of software projects.
- How are licenses chosen at Google?
- We generally default to the preference of the open source release engineer who dedicates their time to releasing the code. Most of those currently involved are comfortable with the BSD license for these infrastructural developer tools. Future projects are as likely to be released under the Apache, MIT or GPL licenses.
- What will you release next?
- We've got a long list of software we want to release, so consider subscribing to our updates feed or discussion list, for more news as it happens.
- How can I communicate with other developers on a particular project?
- We've set up a discussion list for each project on Google Groups, which is monitored by other external developers on the projects and the Google engineer whose 20% time made the code release possible. Google's Open Source program manager, Chris DiBona, also monitors the lists to ensure that we keep doing a good job of interacting with outside developers.