The Monthly GNU Column

Brave GNU World


This column looks into projects and current affairs in the world of free software from the perspective of the GNU Project and the FSF. In this issue, I'll focus on Comspari and the EU decision on software patents.

By Georg C.F. Greve

In the past, the German government has often caused a (positive) stir due to its activities with free software. The Federal Ministry of the Economy (BMWi) sponsored Gnupg [1], for example. Add to this a number of accompanying activities, such as a report by the Bavarian Accounts Office, the KBST letter, and the highly acclaimed migration guide by the Federal Ministry of the Interior (BMI).

Kolab

Besides dedicated sponsorship, the Federal Office for Security in Information Technology (BSI) part of BMI launched the Kroupware project in 2002. The public tender by the BSI was aimed to produce a groupware solution that would support strong cryptography and integrate seamlessly into a heterogeneous environment.

The government office gave a consortium comprising Erfrakon, Klarälvdalens Datakonsult [2], and Intevation [3] the task of developing the software. Internally, the design and the software was referred to as Kolab 1.

After completing the project, the trio continued development work, releasing a beta version 4 of the Kolab 2 server at the end of March 2005. At present, the Kolab consortium is responsible for directing software development. Thus, in the best tradition of free software, a new, internationally competitive product - and one that does not have any competition in some areas - has arisen. This looks like a case for Brave GNU World.

Like the first version, Kolab 2 [4] is basically a groupware solution. Kolab builds on a special server-client model by Martin Konold. In contrast to other groupware designs, Kolab turns a few principles back to front. For example, many other solutions are based on the principle that the server is the king of the hill and the users have to bow down and worship it. The Kolab server does things differently. The program makes the user king, and gives the user power to do things. The software simply helps coordinate things as a central intermediary.

Kolab 1 combined so-called partial free-busy lists from multiple calendars to provide a unified view. It displays overlap, but it does not show you blocked dates. Kolab 2 improves this design by using advanced free-busy lists. For the members of a calendar group, the list displays the entry headers for easier orientation. The design even allows you to collate lists from multiple Kolab servers, although the current server does not currently support this.

Soft Manipulation

This approach is driven by the user and prevents overlap, while at the same time protecting a user's privacy - this was an important criterion in Kolab's design. The other important criteria are extreme scalability, full integration of low bandwidth sites, the ability to work offline productively, and the ability to define appointments.

The Kolab server uses the following central components: OpenLDAP for authentication, Apache, PHP, and Horde [5] as the web interface, Cyrus IMAP Server [6], SASL [7] for mail, contact and calendar data storage and forwarding, and finally, Postfix for email transport with spam and virus filtering via Amavisd-new [8], which integrates both Clamav and Spamassassin.

When necessary, Perl and PHP provide programming glue. Whenever changes were necessary, or improvements needed to be introduced, they were developed within the framework of the individual projects and made available to other users.

The core of the Kolab server is the Cyrus IMAP daemon; its disconnected mode is the basis for Kolab's offline functionality, and it provides the scalability the project needs. Besides this, interoperability is one of the Kolab server's major advantages, allowing enterprises to run heterogeneous environments. Thanks to the Kolab 2 XML file format, Microsoft Outlook can actually manipulate the same records directly using a proprietary plugin.

Kolab clients are based on KDE. Again the developers deliberately opted for tried and trusted components, which they integrated with their own project in close cooperation with the inventors, before giving any changes back to KDE. As a result, KDE 3.4 has the complete Kolab client in its Kontact application (Figure 1). The only thing missing is support for personalized distribution lists. Although Evolution [9] works with Kolab in a mail context, Gnome lacks a similar level of Kolab connectivity and integration, although the Kolab consortium has stated that this is an important goal, as is the integration of other clients.

Figure 1: The KDE 3.4 Kontact contains a complete Kolab client.

KDE Integration

Thanks to KDE support, any Linux distribution that gives you KDE out of the box is geared for Kolab connectivity. This means you will be able to use your Linux laptop on the road in offline mode to manage appointments and coordinate them with users of other groupware products on Microsoft Windows or Apple machines. The typical user will be people who prefer to compose mail and organize appointments or contacts offline, and of course, workgroups that need to coordinate a number of members. And let's not forget that the Kolab server can be used as a simple email and LDAP directory server if so required.

The Kolab consortium will be the central repository for all future development, and for any major contractual deals. The enterprises can be seen as pioneers venturing into unknown economic territory. Whereas previous contracts involved the growth of skills and quality assurance, the future will show if major corporations have the vision to treat the consortium fairly.

As all the components are free software and the work that has been put into the project has been dedicated to developing free software - most of which is licensed under the GNU General Public License (GPL) - there is no danger of the Kolab project simply disappearing from the face of the earth overnight.

Recommendations

The Ägypten project [10] is another example state initiative and sponsorship of free software development; the project is the first to completely implement the Sphinx standard (ISIS/MTT) for secure communications. If you are interested in more information about free software at the Federal level in Germany, check out the excellent BSI website.

Comments & Suggestions

The email address column@brave-gnu-world.org is available for your comments on and suggestions to Brave GNU World. The GNU project homepage is at http://www.gnu.org. Georg's "Brave GNU World" column is available online at http://brave-gnu-world.org and the "We run GNU" initiative has a website at: http://www.gnu.org/brave-gnu-world/rungnu/rungnu.de.html

INFO
[1] GnuPG homepage: http://www.gnupg.org
[2] Klarälvdalens Datakonsult: http://www.klaralvdalens-datakonsult.se
[3] Intevation: http://www.intevation.net
[4] Kolab project: http://www.kolab.org
[5] Horde project: http://www.horde.org
[6] Cyrus IMAP Server: http://asg.web.cmu.edu/cyrus/imapd/
[7] Simple Authentication and Security Layer (SASL): http://asg.web.cmu.edu/sasl/
[8] Amavisd-new: http://www.ijs.si/software/amavisd/
[9] Gnome Evolution: http://www.gnome.org/projects/evolution/
[10] Ägypten project: http://www.gnupg.org/aegypten/
THE AUTHOR

Georg C. F. Greve Dipl.-Phys. has been using free software for many years. He was an early adopter of GNU/Linux. After becoming active in the GNU project he formed the Free Software Foundation Europe, of which he is the current president. More information can be found at http://www.gnuhh.org.