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.
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.
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.
- Geek Guide: The DevOps Toolbox
- Nmap—Not Just for Evil!
- Download "The DevOps Toolbox: Tools and Technologies for Scale and Reliability"
- High-Availability Storage with HA-LVM
- Resurrecting the Armadillo
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- DNSMasq, the Pint-Sized Super Dæmon!
- March 2015 Issue of Linux Journal: System Administration
- Localhost DNS Cache
- Days Between Dates: the Counting