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 KDE developer Brad Hards said the ultimate goal of the OpenChange 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 developed for Samba 4. 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.