Lucene started as a self-serving project. In late 1997, my job uncertain, I sought something of my own to market. Java was the hot new programming language, and I needed an excuse to learn it. I already knew how to write search software, and thought I might fill a niche by writing search software in Java. So I wrote Lucene.
In 2000, I realized that I didn’t like to market stuff. I had no interest in negotiating licenses and contracts, and I didn’t want to hire people and build a company. I liked writing software, not selling it. So I tossed Lucene up on SourceForge, to see if open source might let me keep doing what I liked.
A few folks started using Lucene right away. In 2001, folks at Apache offered to adopt Lucene. The number of daily messages on the Lucene mailing lists grew steadily. Code contributions started to trickle in. Most were additions around the edges of Lucene: I was still the only active developer who fully grokked its core. Still, Lucene was on the road to becoming a real collaborative project.
Now, in 2010, Lucene has a pool of active developers with deep understanding of its core. I’m no longer involved in day-to-day development; substantial additions and improvements are regularly made by this strong team.
Through the years, Lucene has been translated into several other programming languages, including C++, C#, Perl, and Python. In the original Java, and in these other incarnations, Lucene is used much more widely than I ever would have dreamed. It powers search in diverse applications like discussion groups at Fortune 100 companies, commercial bug trackers, email search supplied by Microsoft, and a web search engine that scales to billions of pages. When, at industry events, I am introduced to someone as the “Lucene guy,” more often than not folks tell me how they’ve used Lucene in a project. I figure I’ve only heard about a small fraction of all Lucene applications.
Lucene is much more widely used than it ever would have been if I had tried to sell it. Application developers seem to prefer open source. Instead of having to contact technical support when they have a problem (and then wait for an answer, hoping they were correctly understood), they can frequently just look at the source code to diagnose their problems. If that’s not enough, the free support provided by peers on the mailing lists is better than most commercial support. A functioning open-source project like Lucene makes application developers more efficient and productive.
Lucene, through open source, has become something much greater than I ever imagined it would. I set it going, but it took the combined efforts of the Lucene community to make it thrive.
So what’s next for Lucene? I can’t predict the future. What I do know is that even after over 10 years in existence, Lucene is still going strong, and its user and development communities are bigger and busier than ever, in part thanks to the first edition of Lucene in Action making it easier for more people to get started with Lucene. With every new release Lucene is getting better, more mature, more feature-rich, and faster.
Since the first edition of Lucene in Action was published in 2004, Lucene internals and its API have gone through radical changes that called for more than just minor book updates. In this totally revised second edition, the authors bring you up to speed on the latest improvements and new APIs in Lucene.
Armed with the second edition of Lucene in Action, you too are now a member of the Lucene community, and it’s up to you to take Lucene to new places. Bon voyage!
Founder of Lucene,
Nutch, and Hadoop