13 October 2007

Exchanging Exchange for OpenChange

Because of its hooks into the rest of the stack, Exchange is one of the key programs for turning companies into Microsoft shops, so this could be quite important if it comes to fruition:

OpenChange aims to provide a portable Open Source implementation of Microsoft Exchange Server and Exchange protocols. Exchange is a groupware server designed to work with Microsoft Outlook, and providing features such as a messaging server, shared calendars, contact databases, public folders, notes and tasks.

We are working on two different aspects:

* Provide interoperability with Exchange protocols. This is the MAPI library development purpose (libmapi). MAPI stands for Messaging Application Programming Interface and is used within Microsoft Exchange. The OpenChange implementation provides a client-side library which can be used in existing messaging clients and offer native compatibility first with Exchange server; and in a near future with OpenChange server. As a proof of concept and in order to keep the implementation close to what developers shall expect, we are developing a gnome-evolution plugin which relies on libmapi.

* Provide a transparent replacement to Microsoft Exchange Server with native Exchange protocols support and direct communication with Microsoft Outlook. This basically means that OpenChange server won't need any plugin installation in Outlook. The server is tighly linked to Samba4 since it is developed as an endpoint module for smbd (the samba server daemon). One of the main objective with the server development is the abstraction layer architecture we are working on; it would not be sane for long term development either to rewrite a messaging server or to work with a single existing product. As a matter of fact, openchange should be able to run with any messaging server. For the first technical preview, we will surely orient the development towards a sqlite backend for testing purposes and a postfix one for production one.

(Via tecosystems.)

No comments: