Google isn’t the first company to offer code search. Santa Monica, CA-based Koders was launched in April 2005, and Krugle in Menlo Park, CA, went live in February 2006. Although the features of these engines differ–Krugle, for instance, allows people to search for code by project, unlike Google’s tool–their goal is the same: to allow programmers to reuse code that’s already been written, to make better software more quickly.
The rising popularity of code search is important, says Ken Krugler, founder and chief technology officer of Krugle. In surveying programmers, his company found that 20-27 percent of their time was spent searching for reusable code. “Everyone talks of code reuse as being the silver bullet to the problems of improving the software creation process,” he says. “To me, search is a key part of that.”
Google Code Search began as an internal tool for the company’s engineers, many of whom already participate in open-source software projects, Stocky says. The engineers were constantly searching for chunks of free code to complete their software, and used the tool to do it.
In fact, open-source developers have been using the general Google search to try to find code for a while, says Karsten Wade, a senior developer at Red Hat, a provider of open-source technology. Google’s Code Search tool “gives a friendly face to code snippets,” he says, adding that it will likely spur open-source development further by allowing more code to be found more easily. People can simply post pieces of code or how-to programs on their blogs, he says, and Google will find it. Moreover, an increase in code sharing could produce other benefits, he says, such as helping people find common mistakes.
Google Code Search currently resides in Google Labs, where the company’s latest product ideas are tested. The tool isn’t perfect, admits Stocky–it can’t yet find all the source code that’s available (Google has a form that allows people to submit code they’ve missed). The company plans to add support for more repositories of source code. But aside from improving code access, it’s not clear how exactly the new tool will evolve. “We want to get a lot of feedback to know what features people want that aren’t there,” says Stocky. “I’ve thought a lot about the potential directions to go, but [we want to know] what people are asking for.”