Finally, a scalable groupware solution that matches the offerings from big vendors.

This article is a follow-up to “Linux Groupware Roundup”, published in Linux Journal in July 2005. As you might know, a few things have changed since 2005:

  • CalDAV has been adopted by the IETF as a proposed standard, and open-source projects, such as Bedework, OSAF Chandler Server (Cosmo), Zimbra and SOGo, implement the protocol.

  • The Sync4j Project, a PIM-data synchronization server, is now called Funambol. It also has received major enhancements in the past few releases.

  • In 2006, Novell retracted all full-time employees from the Hula Project. In 2007, Messaging Architects announced the acquisition of NetMail, from which Hula is derived. Thereafter, faithful contributors to Hula forked the source code in a new independent project named Bongo.

  • The latest version of Apple Mac OS X Server (code-named Leopard) is shipped with a CalDAV server called Calendar Server.

  •'s groupware client named Glow is being replaced by a Mozilla-based PIM suite.

  • A new project named Zimbra obtained considerable attention, especially from Yahoo!, who bought the company in September 2007.

The open-source collaboration servers mentioned in the 2005 article have all survived the competition:

  • Both (OGo) and Open-Xchange (OX) remain good servers for companies that want to continue using Microsoft Outlook, even though these products have not integrated any new appealing features during the past three years.

  • Citadel has improved its GroupDAV support, but the authors still refuse to implement CalDAV.

  • Bedework has forked the UW Calendar Project and quickly brought the project to maturity.

This article focuses on Scalable (SOGo), a complete open-source groupware that integrates all requirements one would expect from a collaboration suite: accessibility, consistent interfaces, scalability and stability.


Based on, a project with more than ten years of maturity, Scalable provides a complete groupware solution oriented toward scalability instead of depth in functionality. SOGo offers all standard groupware features, including the following:

  • Personal and shared calendars with events and tasks.

  • Personal and shared address books with LDAP sources.

  • Personal and shared e-mail mailboxes.

It also stores calendar information using the iCalendar standard and contact information using the vCard format. This avoids information loss when exchanging over protocols supported by SOGo, such as CalDAV, CardDAV and GroupDAV.

In development since 2004, the project has greatly improved during the past few months. Inverse, developers on the project, contributed many improvements, such as CalDAV, CardDAV and ACL support. Furthermore, it re-created SOGo's Web interface so that it matches the look and feel of Mozilla Thunderbird and Lightning (or its standalone equivalent, Sunbird). The interface now also makes use of Ajax. Although CalDAV and IMAP take care of the calendaring and e-mail integration of the Mozilla suite with SOGo, address books also needed to be synchronized. Inverse created a plugin for Thunderbird named SOGo Connector that adds this functionality among others.

These contributions allow SOGo to provide Web and native interfaces sharing the same look and feel, features and data—a considerable advantage and uncommon characteristic compared with other FOSS groupware solutions.


SOGo depends on a few core components, such as Apache, PostgreSQL, an LDAP server and an IMAP server (preferably Cyrus IMAP Server, Dovecot or Courier) that uses the LDAP server as the authentication back end. You need to install those (or reuse existing installations) and get them running properly before continuing with the SOGo installation instructions. SOGo supports other database back ends, but for this article, we assume the use of PostgreSQL and that all components, including the LDAP server, are installed on the same server. Furthermore, SOGo depends on the following components:

  • GNUstep make and base for compiling and installing the project and subprojects.

  • SOPE, for server-side Web application development.

Start with obtaining GNUstep make and base. If you're using Debian, you can install both components with apt-get:

% apt-get install gnustep-make libgnustep-base1.13 

Then, retrieve the SOPE and SOGo's sources from the official Subversion server:

% svn co SOPE-trunk
% svn co SOGo-trunk

SOPE needs to be patched so that it works well with SOGo. Once you have pulled SOPE from the trunk successfully, apply the SOPE patch included with SOGo:

% cd SOPE-trunk
% patch -p0 < ../SOGo-trunk/SOPE/sope-patchset-*.diff

Prior to compiling SOPE and SOGo, make sure to source the script that comes with GNUstep make. This will define some environment variables used by GNUstep make when building the packages. When using the Debian packages, this script is located in /usr/GNUstep/System/Library/Makefiles/ Once sourced, compile and install SOPE, as follows:

% ./configure --with-gnustep --enable-strip --disable-debug
% make && make install

And, finally, compile and install SOGo, its Web templates and resources:

% cd ../SOGo-trunk
% ./configure --with-gnustep --enable-strip --disable-debug
% make && make install
% cp -a UI/WebServerResources UI/Templates $GNUSTEP_LOCAL_ROOT/



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

SOGo 1.1.0 with SOPE r1660 compilation

SOGood's picture

just do apt-get install libmemcached-dev

SOGoCache.h:29:36: warning: libmemcached/memcached.h: No such fi

Anonymous's picture

I am having the same issue... Running on Ubuntu 8.04 64 Bit.

SOGO's compilation

Arnaud's picture

Hello there,

Francis this is great tutorial!

However, you may need to update it as the option --with-gnustep in

   % cd ../SOGo-trunk
   % ./configure --with-gnustep --enable-strip --disable-debug

doesn't seem to exist anymore.

Then on my Debian Lenny machine, the GNUstep make is located in /usr/share/GNUstep/Makefiles/, no more in /usr/GNUstep/System/Library/Makefiles/

Finally, I still have an error during the SOGo's make :

   SOGoCache.h:29:36: warning: libmemcached/memcached.h: No such file or directory

Would someone knows how to resolve this issue ?

Best regards,

Good Tutorial

nirwan's picture