The flurry of recent products at Berkeley's OSCOM (open-source Content Management) conference September and new interest from large enterprises indicate that open-source CMS is about to make big gains in acceptance. The tough economic times make open-source CMS look even more appealing, but the ability to customize the code is also a driving force.
"Right now people are just not that interested in spending the kind of money that the major products are asking, and are instead looking for low cost alternatives" says Gartner analyst Lou Latham.
But the advantage of open-source solutions goes beyond cost savings. Content management, by its very nature, requires a degree of customization, and by having access to the source code, developers can do things like add support for a unique content type right into the codebase--an option not possible with proprietary tools.
Here's a look at some of the issues enterprises need to evaluate when looking at open-source CMS products, and how four of the main open-source contenders--Zope, Midgard, OpenCms, and Red Hat CCM--stack up.
There are dozens of open-source content management tools, many of which were initially developed for specific, and often small-scale projects. For this reason, many of them can't scale to meet the needs of the enterprise; you need to consider what kind of load you expect your content management system to handle, and make sure your software choice will be up to the task.
Scalability is an issue with any major software purchase, but there are other considerations unique to open-source. First, it's important to select a product that appeals to developers, and that has an active developer community--for the obvious reason that for an open-source project, growth and innovation is dependent on the quality and quantity of developers it can attract. Secondly, because not all open-source products are backed by a commercial organization, it's important to determine if outside support is available. If it isn't, or if it's limited, you have to be confident that your in-house staff has the skills necessary to maintain your system.
All four of these products offer, as Latham says, "the basic content management toolkit," which includes a content repository, dynamic page generation, and workflow. Each offers other features as well, including syndication, personalization, caching, and editing tools. "Content Management" is a broad rubric, and feature sets vary widely beyond the core capabilities mentioned above. I won't go over the full features of every product, but due diligence is necessary to make sure a solution fits your current and projected needs.
Zope: Zope was released as open-source in 1998. As a result of this early start, "Zope is probably ahead of the rest technically," says Latham. Zope is based on the open-source language Python, with portions written in C for speed. A large number of modules and extensions are available, some from third-party developers (in particular a number of front-ends to Zope's CMS API), and some from Zope Corporation itself.
Zope is targeted squarely at the enterprise market, according to Robert Page, CEO of the Zope Corporation, which initially developed Zope six years ago and now shepherds the open-source effort.
"The primary competitors to Zope are Vignette and Interwoven," says Page. "There are no other enterprise-class open-source systems with which we compete." Zope can use common RDBMSs, LDAP, and file systems to hold content, and extensions allow load balancing across multiple machines. Page says that a single production instance of Zope is currently handling up to 1,500 hits per second, and lists Viacom, AARP, the US Navy, and NATO as clients. A number of support options are available: Zope Corporation provides consulting and support, as do a number of other consultancies.
Unlike the other products looked at here, Zope includes its own application server, which might actually be a disincentive to companies that have already invested in a J2EE or .Net app server and don't want the headache of supporting two products. Also, Python, while a mature language, doesn't enjoy the same level of recognition as Java, VB, or C#, and shops that have invested in J2EE or .Net may not want to deal with having another language in the mix. Zope is available for all major platforms, including Linux, Solaris, Windows, and Mac OS.
Red Hat Content and Collaboration Management: The Red Hat Content and Collaboration Management (CCM), formerly the Ars Digita Community System, is a J2EE solution that requires a separate app server (Tomcat, Resin, Oracle, WebLogic, or WebSphere), and either Oracle or the Red Hat version of the Postgres database. It runs in a Unix environment (Solaris or Linux).
Howard Jacobson, VP and GM of Content Collaboration Management at Red Hat, lists Vignette, Interwoven, and Documentum as CMM's competitors. The first strength of CMM is that it's a Red Hat product. It enjoys the same support and training options as the rest of the Red Hat applications, and Red Hat is able to devote considerable development resources of its own to CMM, as well as attract a broad community of outside developers. When used with Red Hat Linux Advanced Server, Jacobson says that CMM can provide "nearly continuous scalability" by allowing more CMM servers to be brought online as necessary. And for the same reasons, it fits into a common enterprise software environment.
Because it only works with Solaris or Linux, CCM is not an option for anyone looking for a Windows solution. But the app servers supported, and Oracle, are common components in the enterprise software environment; Red Hat has clearly tailored CMM to be part of that mix.
Jacobson says that CMM "has been deployed in organizations as large as 300,000 employees," and it is currently in use at Siemens, the World Bank, and WGBH Boston, among others.
OpenCms: OpenCms was launched in 1999, and is supported by Swedish Internet consultancy Framfab, which has offices in six European countries. Framfab Germany is the main sponsor of the OpenCms project.
Like CMM, OpenCms is a J2EE product, written in Java. It comes bundled with Tomcat, but has been tested and deployed on ATG Dynamo, WebLogic, and WebSphere, according to Michael Emmerich, head of OpenCms Professional Services for Framfab. Unlike CMM, OpenCms is able to use a broad variety of RDBMSs to hold content, including Oracle, SQL Server, Sybase, and mySQL.
On November 11th, OpenCms released the second beta of version 5.0, and is expecting a final release by the end of 2002. The new version offers a new templating engine, JSP support, a new link management system, and improved stability.
Consulting and support for OpenCms is available through Framfab and other European-based companies like Alkacon. US-based support options are limited, though all documentation and training materials are available in English. To date, OpenCms has been deployed by LGT Bank of Lichtenstein, BP South Africa, and UNICEF Netherlands, among others. According to Emmerich, OpenCms is in use with sites receiving up to 150,000 page views per day.
Midgard: Midgard is the most purely open-source oriented of this group, relying on the LAMP stack--that is, Linux, Apache, MySQL, and PHP. This may make it more attractive to open-source purists, but it might be a drawback to those working in a more heterogeneous environment and wishing to stick with app servers or databases they may already be using.
According to Henri Bergius, one of the founders of Midgard, plans are in the works to port the full version of Midgard to Windows, and also to support databases besides MySQL. In the meantime, a version called "Midgard Lite" has been released that runs on Win32 platforms, with a reduced feature set.
Like OpenCms, Midgard originated in Europe, and most of its current deployments, and support options, are there--Midgard is in use at Ricoh France, CMSWatch, and the University of the South, among others. Current documentation is weak, but is being improved.
PHP, the scripting language upon which Midgard is based, is widely used, well supported, and fast. Still, it is considered by many to not be as enterprise-capable as a J2EE or .Net app server, in large part because load balancing is not as easily implemented.
More to come
There are many more open-source content management tools available than we can look at here, and it may be worth investigating PHPNuke (and its derivatives, PostNuke and Xaraya), Cofax, Wyona, Slashcode, or Xoops. Your choice will depend on the technologies you are already using, the level of local support available, and, perhaps most importantly, your in-house development capability.
"Assume that in the next 12 to 18 months, if you use this stuff, you better have some strong support options available in-house," says Latham. If you can handle the support requirements, you might save a bundle. And with access to the source code, you may be able to customize your implementation in a way no proprietary product can match.