March 11, 2008

FOSS helps Krugle help developers search for code

Author: Bruce Byfield

In three years, Krugle, the company behind the code search engine of the same name, has gone from an idea to a company that's starting to produce revenue. CEO Steve Larsen, a veteran of half a dozen startups, attributes this brief time to market as being due largely to free and open source software (FOSS). According to Larsen, FOSS has shaped most aspects of the company, including its hiring practices and relations with business partners and users.

The idea for the company came to Ken Krugler while he was working on the Chandler Project at the Open Source Applications Foundation. As Larsen tells the story, Krugler noticed how often his fellow developers were using Google to find code, examples, or answers. He also noticed how elaborate such searches had to be, since Google was not organized to search code. Even distinguishing between the Java programming language and coffee took some organization, let alone parsing different languages or ranking results by relevance.

This insight was significant because, as Larsen says, "Writing code from scratch is not what most developers do today. Most of their time is spent assembling and integrating things that have already been built." Larsen estimates that the average developer spends at least a quarter of his time on research.

Yet, he says, until Krugle, no tool existed for companies to locate code and technical information, even on their own networks. While doing due diligence, he found most companies are able to use tools like grep and find to hunt down their own code, but only "providing they know exactly what they're looking for and where it is." Many executives, asked how they would find something in code, would respond, "I would go ask Kevin." (Kevin is Larsen's name for the ubiquitous developer at any company who knows where everything is.)

Krugler conceived of a search engine optimized for code search. He took the idea to his fraternity brother Brian Jacobs, a general partner at Emergence Capital Partners. Jacobs arranged the company's first million dollars of financing, and brought Larsen on board as CEO. A second-round financing of $12 million followed, largely through Rustic Canyons Partners.

Nearly three years later, Krugle has crawled more than 2.6 billion lines of free code in 600 repositories around the world. While anyone can use its free search engine, the company has also started selling Krugle Enterprise, software as a service that companies can use to add their private code to searches. These efforts employ 21 people full-time and another half dozen contractors, and require some 185 machines in four clusters that reindex sites every few days.

The company is not yet profitable, but Larsen says that it met its projections for January, the first month of promoting its enterprise product, and may exceed its February projections. He expects the first profitable quarter in 2009 -- a short time by the standards of venture capitalists, who are typically used to waiting as long as seven years before they see a return on their investment.

Building on FOSS

From the first, Krugle has relied on FOSS for the development of its products. The company not only uses software such as Apache, GNU/Linux, and Python in its daily operations, but its products are built on FOSS -- largely the Nutch, Lucene, and ANTLR projects. Larsen estimates that "80-90%" of the code developed by Krugle has been contributed back to these projects. The remainder of Krugle's code, including its search algorithms, remains proprietary.

At the height of Krugle's initial development, "We probably had on our payroll or as contractors 75-80% of the contributors to those projects," Larsen says. "It helped that they almost always gave us a break on their hourly rate because of the fact that everything they wrote was going back into the open source world. So we really helped strengthen those projects a lot over the last two years."

Other members of the community contributed less directly by bringing overlooked repositories to the attention of Krugle, a practice that Larsen suggests is responsible for the rapid improvement of the engine's search capacities.

Larsen also credits community input for improving the search engine's usability. The interface, he says, has "been literally vetted by hundreds of thousands of developers over two years, with us listening to their input and making all sorts of changes. If we had not built this as an open source company, we never would have got [this input]."

Larsen admits that community members were nervous after the second round of financing, when, on the advice of investors, the company started focusing on its proprietary elements. In particular, some were concerned that the search engine might no longer be free. However, Krugle assured the community that the free search engine would remain so, and that enhancements to the proprietary search engine would also go into the free one.

Larsen considers the interaction with the community a successful example of the reciprocal relations that FOSS is based upon. On the one hand, by making existing code easier to find, Krugle allows developers to "go and work on the cool stuff" sooner rather than perform the routine jobs.

In addition, Krugle's drive to market has benefited the community "by making open source much easier to find within the corporation; and by helping to find open source that has licences that are OK to use, we're actually responsible for moving open source usage a lot faster inside the enterprise. We've made open source more mainstream."

On the other hand, looking back at what Krugle has built, Larsen says that, had the company used proprietary approaches, "We could never have done it with $12 million in three years. Impossible. We could not have built this without having good chunks of open source code available to us."

Learning about FOSS

A stranger to FOSS, Larsen quickly found himself in an environment that was different from the one he was used to at other startups. "Dealing with the community did take an adjustment. There's things you need to learn about dealing with open source, and there isn't a rulebook. You have to learn correct behavior.

To avoid the mistakes that other companies have made when dealing with the community, Krugle assembled a small group of advisors, such as Andrew Aitken, the founder and managing partner of The Olliance Group, which advertises itself as an open source business consultant. It also hired FOSS veteran John Mitchell, the founder of JBoss, as chief architect. Through such advisors, Krugle was able to develop a FOSS policy and received introductions to FOSS evangelists and think-tanks, as well as advice about developing FOSS policies and how the company should interact with the community.

"It turns out that the message was a lot easier than we thought," Larsen says, "because we're not just taking open source code and bundling it up and selling it. We're taking open source code and creating a service. So the open source community doesn't really have a problem with us."

Adjustments to thinking

Larsen also discovered that working with FOSS provided some unexpected benefits. Since the search engine would be used almost entirely by developers, one of the requirements for developers working at Krugle was a willingness to have their work scrutinized by peers. Somewhat to his surprise, Krugle found that, while developers used to a proprietary environment were unenthusiastic about such scrutiny, FOSS-oriented developers enjoyed the idea -- no doubt because, in the community, receiving recognition for your work is often the only reward.

"It's a huge lesson," Larsen says. "One of the hardest problems in starting a company is attracting top engineering talent. Open source developers tend to be better developers because they are attracted to having other developers scrutinize their work."

Another change for Larsen was the relations with potential competitors. In a proprietary environment, Krugle would likely view companies such as Palamida and Black Duck Software as direct rivals, since all three companies have businesses built around code search. However, in the FOSS world, each of the three is specialized enough that any direct competition is some years away -- although it may help that Krugle is aimed at developers while Palamida and Black Duck are designed for general counsels.

"There's a real camaraderie among CEOs of open source companies," Larsen says. "In fact, The Olliance Group sponsors periodic dinners just for open source CEOs. Because we're in the same business, within five minutes the room is so loud and so noisy with everybody talking at the same time that you can hardly hear yourself."

A final difference is that Krugle has to be much more responsive to the community. The company employs one developer whose main duty is to answer questions on the mail forums, or to ensure that the person with answers does so. Nor, despite his position, is Larsen himself immune to this increased accessibility. He regularly staffs booths at trade fairs, and his email address is available on the company Web site.

As a veteran of many small startups, this situation doesn't bother Larsen at all. "I'm pretty responsive," he says. "When people want to get me, they get me pretty quick." Nor is he concerned about the extra demands on his time. "I don't think people abuse it," he says, referring to his accessibility. "I haven't found that. But that's who I am. I'm big about talking to people."

Splitting the responsibility

Asked what advice he would give other FOSS-oriented companies, Larsen says, "Don't wait too long to figure out how to make money. There is some tendency, especially in the early stages of business, to overlook business fundamentals due to open source idealism."

Larsen considers that Krugle has managed to avoid this pitfall through his partnership with Ken Krugler. "Because I'm here, Ken can have that idealism. He can do his job and not worry about the business model.

"As he thinks about it, he worries about the 80% of the business that really maters, which is the product, and I worry about the 20% of the business about how we get funded, who pays the rent, who do we hire, and all that sort of stuff. While, if you're in my world, I think about my role as taking part of the 80% of business that really matters, and Ken takes care of the other 20%. We're both comfortable with the other believing the way we believe. I don't try to change his mind, and he doesn't try to change mine."


  • Programming
  • Open Source
  • Business
Click Here!