Krugle: Business and Egosurfing
William Grosso @ June 15, 2006
Krugle went live yesterday. It's a search engine "for code and technical content."
That is to say, vertical search focused at the software developer market. Very interesting to me because I often want such a thing. When you're hacking together a prototype, you often "google for code." Having a tool that's explicitly designed for this purpose is a good thing.
And, once upon a time, I contemplated building such a thing. It's not that hard to build a prototype (mine used a really simple-minded spider, lucene, and some pattern matching). I didn't build a more robust version, though, because a robust version looked like a lot of work (and had some problems that felt unsolvable. For example: figuring out whether a particular code fragement is a high-quality code fragment. I suspect that Krugle's going to get around that problem by relying on the developer community to give feedback).
Even more importantly, I didn't see the business. Quite honestly, I wouldn't pay for access to Krugle. And though that may be a function of where I live, I suspect the vast majority of potential users are similar.
Which means that this is probably an OEM-and-advertising play (OEM? Absolutely. MSDN needs to do much better at search and I could see them wanting to incorporate a good application to solve the problem). But … 8 million in funding? I don't quite see the necessary returns there.
But, for the here and now, Krugle's live and fun. And there's evidence that advertising is big bucks these days, so maybe it'll stick around for a while.
So my first search on Krugle was, of course, about me. I wrote a few articles for O'Reilly a few years back and I keep hoping they've had some impact on the quality of code being written out there.
So I searched for AbstractRemoteMethodCall (a nice little object I wrote to encapsulate remote procedure calls).
And I found clear cut-and-paste usage (from the generics version of the codebase)
I'm not sure what to think. I would have loved for whoever did this to have contacted me. And, of course, for them to have kept my name on my code, or at least said something somewhere in the comments about me (and pointed people to the articles).
What I'm really uncomfortable with, though, is that jhomenet is GPL'd. My code wasn't. And it feels weird to have my code taken, pasted without attribution into another source tree, and then GPL'd.
On the other hand, at least someone's using it. That's good, right? The point of the articles was to teach people to build better software. And they are.
Filed under: Career, Java | Share on Facebook
Hi Bill,
I think there will be many more similar posts to yours, once it’s easier for people to search for code replication across all public source.
What I’m hoping is that open source developers will use this as motiviation to do a better job of providing attribution and complying with licenses. That’s the positive outcome, versus just trying harder to mask the fact that a chunk of code was copied from someplace else.
Should be interesting to see what happens - thanks for giving it a try. And we plan to be around for longer than just a little while
Hi Ken,
I dunno. I could spend time and energy trying to publicly shame the people who wrote jhomenet into acknowledging their use of my code. But, quite honestly, this blog is as far as it’ll go. There’s not enough ROI there for me to take it further.
The implication is that, if we assume other developers behave similarly, Krugle is unlikely to be a significant deterrent to someone who casually copies code into a codetree.
On the other hand, I like what you’ve built. Thanks for making it available. And now that I’ve figured out to search on my name, I’m noticing *lots* of reuse of my code.
A feature suggestion: can I say “everything but [these projects]” ? If I’m looking to see for unauthorized use of my code, I’d like to not get hits from things I know about.
Also: index numbers to hop around in search results (e.g. directly go to page 3) would be nice.
Bill
Hi Bill,
1. You can currently do a code search with -project: to exclude a specific project; this can be repeated multiple times to exclude a set of projects.
We’re adding support for -site: as well, to do more general exclusion.
2. Having page numbers displayed as part of the search result is on the to-do list, hopefully soon.
Thanks,
– Ken