OpenChange, KDE bring Exchange compatibility to Linux

29.01.2009
Recent developments in the OpenChange and KDE open source projects are set to bridge a "missing link" in messaging and groupware compatibility from Microsoft's Exchange to open source clients.

Many open source groupware suites lay claim to this holy grail of interoperability, but the software to synchronise address book, task and calendar information with Exchange is sold as a proprietary extension.

Speaking at the Linux.conf.au Linux and open source conference in Hobart last week, Canberra-based OpenChange and developer Brad Hards said the ultimate goal of the project is to implement the Microsoft Exchange protocols as used by Outlook, not IMAP or WebDAV, but the Exchange MAPI/RPC protocol.

"We're working with the Microsoft Exchange protocols and work it mostly does," Hards said. "Mail is easy the stuff, what is hard is the address book, calendar, free-busy lists, and notes. These are a big deal in the enterprise."

"In my workplace -- a major government department that shall remain nameless -- the main dependency on Outlook and Exchange is not mail, but seeing other people's calendars and making shared appointments. You can't get appointments with some people unless you send them invitations."

OpenChange has client and server-side libraries for Exchange integration and relies heavily on code . It is open source software licenced under the GPL version 3.

Hards said more work is being done on the client side and "we have code for the server", but estimates another 12 months of development is required to produce an OpenChange server ready for production.

"Why OpenChange? We are not just trying to do mail, but all the time management stuff," he said.

"You should be able to change out some of your clients, or introduce new clients, and you don't need to change the backend. You could use an Exchange server or OpenChange server, Windows client or Linux client. Potentially, you might run either -- or some combination -- depending on users' needs."

The client side C++ libraries were contributed to by a Google Summer of Code student project and Hards said the code is "maturing well".

"Out of 120 RPCs we implement about 88 and they are mostly right," he said. "80 have unit tests behind them and French developer Julien Kerihuel coded most of it. I coded about 1 percent of it. A French company has done some good work along with the Evolution guys from Novell."

Hards said the bad news is some of OpenChange is "pretty ugly" and that is expected as "some of what it's describing is ugly".

"It was originally done off wire catches, but now we almost always code off documentation," he said. "Some stuff is ugly to deal with, but we do it. I would not be doing demos that showed real implementations without documentation."

Hards demonstrated message and groupware information transfer between Windows and Linux virtual machines on his notebook using the OpenChange command line tools.

"We will try to back it onto a database like MySQL, PostgreSQL or Oracle," he said. "A lot of the [Exchange] operations are asking for database operations. The conceptual stuff says 'table and row'."

"Once you have a set of bindings and client libraries it doesn't just have to sit on the desktop. It could be mobile. Task creation and a whole stack of interesting integration can happen when you get to this level. It will look like Outlook except work better."

In future, Linux users should be able to do Exchange RPC over HTTP, or "Outlook Web access", as that requires "almost no change" to OpenChange.

Exchange client coming to KDE with Akonadi

The OpenChange client already has some tools, but, by Hards' own admission, are not very user-friendly and are being integrated into the GUI desktop applications of Evolution in GNOME and which is a core part of KDE's PIM suite.

"Evolution does mail, address book, calendar, to-do lists, and memos from an Exchange 2007 server," Hards said. "The KDE one is not that good yet and has a little way to go. My experience is with Exchange 2003. The Public folders work and one user reported 40,000 e-mails working."

Akonadi is the framework, or "broker" for personal information management in KDE 4, but it is not KDE specific.

"A proposal to host Akonadi on was refused [but] I would love to see GNOME API in Akonadi," Hards said.

KDE 3.5 had a PIM framework but the components ran as separate processes looking like a single groupware program.

"KMail is a fairly big maintainability problem for KDE [and] the changes from KDE 3.x to KDE 4.x are huge," Hards said. "In the KDE 4 series we want to separate the networking part from the UI and solve some technical problems like address book accessibility."

The Akonadi "server" is a client-only application that acts as an information broker to the "client" applications like Kmail.

Akonadi uses MySQL as the database and not all KDE applications have been ported to it so Hards expects production-ready integration with an Exchange server with the KDE 4.3 release due in mid-2009.

"I would not recommend Akonadi in production use," he said. "Akonadi can see the Exchange calendar and mail, and there is a hack to make Akonadi show data in the KOrganiser calendar."

To progress the development of OpenChange on the desktop, Hards needs testing infrastructure as "the only test server I have is on my laptop".