Open-source software is frequently mentioned as a choice for companies looking to create their own enterprise search applications. But best use of open-source calls for knowledge of what to expect.
Open-source as a software delivery concept originated with the “open” Unix operating system, originally developed by AT&T Bell Laboratories. Many Unix “flavors” were produced by commercial enterprises and educational institutions over forty years. Hardware vendors adopted it as an alternative to their proprietary operating systems, encouraged by a government mandate in the 1980s that government computational procurements would standardize on Unix. That edict was not sustained, but many hardware and software companies shifted direction or launched new Unix initiatives based on that mandate.
We can learn a lesson from the case of the popular Unix alterative to Windows for PCs, Linux, which is maintained by a dedicated open-source community pioneered by its namesake Linus Torvalds. The community is necessary for enriching this OS.
Any organization creating products or services based on Linux must provide assurances that its products will continue to work in customer environments that are almost always heterogeneous. Delivering an application based on a version of Linux that works only at a single point-in-time does not last in the real world. Thus, these “Linux shops” need to continue with modifications, improvements, and sometimes mundane changes just to stay in business. That means having internal or external experts to continue providing high-level technical support.
A recent InformationWeek article referred to the Department of Defense (DoD) embracing open-source software; one case mentioned was the open-source Drupal application for content management at the WhiteHouse.gov site. The article makes excellent points about misconceptions relating to open-source that also apply to enterprise search. To this we add what must be known before starting down the open-source path:
1) Open-source software is, by definition, free to be downloaded, but that does not mean it is cost-free. Experts will be required to install, implement, tune, and administer the software. It will not arrive with a “quick install” that brings up a workable interface for the administrator or end-users. Those must be designed, developed, tested, and supported.
2) Just as with commercial search software applications, there are ongoing costs. Even when you have finished tailoring an application to enterprise needs, it is never “done.” The surrounding environment will change (e.g., operating systems) and users will demand enhancements and more features and functions.
3) Content that workers want to search will grow, and types of content will change. Scaling the application and adding new types of content will require changes to indexing “instructions” and how search results are displayed.
4) As noted in the cited article, legal requirements and licensing must be researched and understood by the enterprise IT and technical staff that will support, enhance, and modify open-source code. There are community standards to follow, and various packages come with “use” requirements.
5) There are a number of open-source search engines, but by far the most widely deployed is Apache Lucene. It is the basis for many commercial products that include a search function. Those commercial ventures tend to be active members of the open-source community, which continues to improve Lucene in ways that benefit all users.
When deciding to use Lucene or any other open-source search engine, the enterprise needs a “deep bench” of gurus. The best option is a service provider that serves that purpose, so keep in mind that there must be a large community of experts that can support your open-source choice. Lucene has a large user-community and a growing body of third-party developers to help you implement and sustain the software.
Free software does have costs that must be factored in to make “free” a successful business choice, so adopt with eyes wide open.
— Lynda W. Moulton consults at LWM Technology Services on knowledge management strategies for enterprises.