Linux Groupware Roundup
For the vast majority of its users, the Internet represents e-mail and instant messaging. However, even if it is considered to be a mission-critical service that should perform at an optimal level, e-mail doesn't solve every communication problem. Scheduling a meeting with a few coworkers, for example, can be a tedious task when you don't know the availability of others or the room where the meeting might take place.
Groupware is software that facilitates communication and collaboration through e-mail, calendaring and scheduling, notes, contacts and task management. Good groupware solutions offer not only a Web interface for accessibility from everywhere but also compatibility with native clients on major platforms such as Linux, Apple Mac OS X and Microsoft Windows.
Usually, the more features a groupware solution offers, the less scalable it is. Groupware solutions providing many features generally are suitable for groups composed of no more than a few hundred users. Those that offer basic groupware functionalities, such as e-mail, contact and calendaring, are likely to satisfy the requirements of large deployments, up to thousands of users.
Along with dominant and established products such as Microsoft Exchange, IBM Lotus Notes and Novell GroupWise, excellent proprietary and commercial alternatives are available for Linux: Kerio MailServer, Scalix and Samsung Contact among others. Over the past few years, the Open Source community also has demonstrated a growing interest in messaging, calendaring and scheduling solutions. This article focuses on the status of these open-source efforts. It presents an overview of the various standards related to groupware software and examines the most promising projects being developed by the community.
Today, the most supported and implemented standard in calendaring and scheduling is iCalendar, which defines a common format for openly exchanging calendaring and scheduling information across the Internet. Along with iCalendar, two additional standards were proposed, iCalendar Transport-Independent Interoperability Protocol (iTIP) and iCalendar Message-Based Interoperability Protocol (iMIP). RFC 3283, titled “Guide to Internet Calendaring”, summarizes the relationship between the three standards: “iCalendar is the language used to describe calendar objects. iTIP describes a way to use the iCalendar language to do scheduling. iMIP describes how to do iTIP scheduling via e-mail.”
iMIP has seen some success but is not used commonly today. A real-time Calendar Access Protocol (CAP) also was proposed, but it eventually expired after only a few implementations of it were put in place. Because it is universally considered to be not a good concept, CAP is being abandoned.
Although a trend of using WebDAV to share and edit iCalendar data emerged from various calendaring software vendors—Apple iCal, Mozilla Sunbird and Novell Evolution—the Internet Task Force published the CalDAV specification. The draft proposes a standard to model calendar events as HTTP resources in iCalendar format. Commitments to support CalDAV have been made by various open-source groupware solutions, but the majority of commercial products still has to adopt the upcoming standard.
More recently, GroupDAV emerged as an effort to create a simple protocol to connect open-source groupware clients to open-source groupware servers. More precisely, GroupDAV focuses on three popular clients: KDE Kontact, Novell Evolution and Mozilla Sunbird. Similar to CalDAV, the proposed model uses HTTP and WebDAV to store groupware data, such as events and tasks, using the iCalendar standard, but it also stores contacts using the vCard standard.
E-mail service probably is the most solicited service in any groupware solution. Most organizations have a solid e-mail system and are interested in adding groupware-type functionalities on top of the existing infrastructure. To this end, the development version of Kolab2 makes heavy use of Cyrus IMAP Server's capabilities, including access control lists, annotations and shared folders. It stores every single object, such as a contact, event, note or task, in an e-mail message in the appropriate object's type folder. Kolab2 provides all groupware features and uses solid open-source server components, including Postfix, Cyrus IMAP Server, OpenLDAP and ProFTPd.
Kolab2 does not include a Web interface beside its administration interface, but connectivity is being added to most of Horde's excellent modules. The Horde Project combines a powerful PHP-based application framework with modules such as the Webmail program IMP, the calendar manager Kronolith and the contact manager Turba.
Installing Kolab2 is relatively easy to do, thanks to OpenPKG, a component that also makes the project deployable on many distributions. Kolab2 does not support CalDAV nor GroupDAV, and adding support for one of these protocols is hard, due to the nature of how objects are stored in Kolab2. In addition, you cannot update a message in IMAP; whenever a modification is done, identity is lost.
Formerly SKYRiX groupware server, OpenGroupware (OGo) is a feature-full groupware solution that sits side by side with an existing e-mail infrastructure. OGo provides group calendars, contacts, tasks, resources, projects and documents management and a Webmail client. OGo also provides GroupDAV support. Built on top of the SOPE application server, OGo has a well-structured architecture. Installation is relatively easy, as binary packages are offered for most distributions.
Figure 1. OpenGroupware offers calendars, document management and other features and supports the GroupDAV standard.
Formerly SUSE OpenExchange, OPEN-XCHANGE (OX) provides the same kind of functionalities that OGo offers, and it also sits on top of an existing e-mail infrastructure. Built around mainly Java-oriented components, OX provides a rich Web interface to its groupware features. Although a little behind other projects with regard to client interoperability, OX might be a natural choice for those comfortable with Java technologies.
If you don't have a robust e-mail infrastructure or if you are not particularly tied to it, the Hula and Citadel Projects are interesting groupware solutions. The new Hula Server Project, formerly the proprietary Novell NetMail product, is a complete mail and calendar server. It provides SMTP, POP3, IMAP and calendar services as well as a simple and efficient Web interface. The Hula Server features CalDAV support, and GroupDAV support is being added by Martijn van Beers. The installation and configuration of the Hula Server is easy to do, as packages are available for many distributions and the software offers a rich Web interface for managing all components of the system.
Figure 2. Hula, once Novell NetMail, has a simple, efficient Web interface. The Hula Address Book is shown here.
Citadel is a multithreaded groupware server implementing all mail standard protocols, although it can integrate with an existing mail transfer agent. Standard groupware functionalities such as mail, calendar, contacts, notes and tasks are supported. It offers a Web interface through WebCit in addition to a text interface. Citadel also joined the GroupDAV effort and already provides a working implementation.
Moving to a different sector, universities aggressively are integrating portal engines in their infrastructures, especially uPortal. Offering groupware functionalities in the portal is appealing. Projects such as University of British Columbia (UBC) Webmail and UBC Address Book have matured and are well integrated in uPortal. For calendaring services, the University of Washington (UW) Calendar Project can be integrated as a portlet in the portal engine, although the support is preliminary. Support for native clients, such as Novell Evolution or MeetingMaker, also is planned.
Additional projects are worth mentioning but should still be considered experimental: exchange4linux, OpenOffice.org Groupware and its Glow client and Chandler. Well funded by the Mellon Foundation, Chandler eventually could become a key player. Development activity also is dissipated among a cluster of overlapping projects based on PHP, such as eGroupWare, phpGroupWare and more.groupware. Despite their impressive number of features, these projects lack maturity and cannot be scaled for enterprise-wide deployments. In addition, most of them don't support clients other than a Web browser.
Table 1 presents the groupware servers described above and lists their respective functionalities. Some of those functionalities currently are in development.
Even if most of the groupware contenders provide a Web interface to every feature they offer, users often prefer a native client. Native clients provide access to standard groupware features, such as contacts, e-mail, notes and calendaring. On Linux, three native groupware clients are taking the lead over others: KDE Kontact, Novell Evolution and Mozilla Thunderbird and Sunbird.
Kontact, KDE's personal information management suite, contains e-mail, calendar, contacts, notes and news components. As of the Kontact 1.1 release, included in KDE 3.4, GroupDAV support is included.
Novell Evolution is a popular groupware client that offers e-mail, calendaring, contacts and task management in one application. The Noodle Project aims to improve the compatibility between Evolution and OpenGroupware. The developers recently adopted GroupDAV, which not only will allow Evolution to work with OGo but also with all groupware servers implementing the proposed standard, including Citadel.
The Mozilla Project, with Thunderbird and Sunbird, is coming along nicely with great cross-platform applications. Thunderbird already is a mature e-mail and contacts management application, and Sunbird is maturing quickly. Stelian Pop has started adding GroupDAV support to Sunbird, making interoperability with various groupware possible. There also is an effort called SyncKolab to add Kolab synchronization capabilities to Thunderbird and its calendar extension. This project is progressing rapidly, and Kolab2 support is in the works.
Another client gaining maturity is Aethera, a localized, multiplatform application developed by TheKompany.com. Although currently offering support only for Kolab1 and Citadel, it eventually may support GroupDAV.
Native clients for platforms such as Microsoft Windows and Apple Mac OS X also might become options with regard to the groupware solution. Commercial connectors currently are available for Microsoft Outlook—Toltec Connector for Kolab2, OXlook for OPEN-XCHANGE and ZideLook for OpenGroupware—but the usage of cross-platform open-source clients such as Mozilla Thunderbird and Sunbird certainly is an economically appealing option.
Although a Web interface is attractive for accessing groupware-related information, it sometimes can be difficult to have Web access. Most mobile workers have cellular phones or handheld devices that offer contact management, notes and scheduling. The need to synchronize these devices to a groupware product is growing and solutions are emerging.
Part of the GNOME platform, MultiSync is a modular program to synchronize calendars, contacts and other information between programs on your computer and cellular phones or handheld devices. MultiSync supports Novell Evolution, which can connect to many groupware solutions, as well as many devices such as Palm, Zaurus, PocketPC and many Sony-Ericsson phones.
KDE's universal syncing application, KitchenSync, is similar to MultiSync. Due to their similarity, the two projects are being merged into a new project called OpenSync. Part of the freedesktop.org collaborative zone, the OpenSync Project is creating a new API, libraries and synchronization plugins that eventually will become the standardized synchronization framework used by projects such as GNOME and KDE.
On the other hand, projects such as OpenGroupware and OPEN-XCHANGE support Palm synchronization through the HotSync manager. They now have started to add support for SyncML, an XML-based standard allowing you to synchronize PIM-related information from your mobile device directly with the groupware server.
A proliferation of groupware clients and servers now is available. Good proposed standards, such as GroupDAV and SyncML, need to be adopted by more projects and vendors in order to ease interoperability among native clients, mobile devices and groupware servers. We also should see efforts to merge soon among groupware developers, as there likely are too many solutions available currently.
Scalability remains to be seen, especially for a large amount of users—20,000 users and beyond. Projects such as SOGo, also based on the SOPE application server, address scalability by reducing the features of projects such as OpenGroupware, so they can scale to many thousands of users. This project, which started in August 2004, is promising in this regard.
Migration from existing groupware is another problem, particularly when Microsoft Exchange is involved. The OpenGroupware Project was started to address this issue, and hopefully progress will be made toward this adoption barrier.
In our next article, we will pick one of the groupware servers mentioned in this article and detail the installation and configuration steps required to deploy it as well as the native client's configuration.
Resources for this article: /article/8333.
Francis Lachapelle (flachapelle@inverse.ca) holds a Bachelor's degree in Computer Engineering from McGill University. He currently is a systems architect for Inverse inc., an IT consulting company located in downtown Montréal.
Ludovic Marcotte (ludovic@inverse.ca) holds a Bachelor's degree in Computer Science from the University of Montréal. He currently is a systems architect for Inverse inc., an IT consulting company located in downtown Montréal.