Wie gebruik wil maken van Exchange, zit normaalgesproken vast aan Outlook als client, en andersom. Reden is het protocol: zowel client als server moeten dezelfde 'taal' spreken, en Microsoft was lange tijd niet happig om het MAPI/RPC-protocol te delen met anderen. Ondanks de moeilijkheden die dat gaf, zijn er pogingen geweest om dat interop-probleem op te lossen. Eerder deze week kwam bijvoorbeeld Zarafa aan bod, wiens groupware bekend staat om de goede samenwerking met Outlook.

Die interoperabiliteit kan dieper, en juist dat is een van de doelen van Openchange. Het project is in 2007 gestart, en vordert volgens ontwikkelaar Jelmer Vernooij gestaag. Zo bracht de ploeg eind vorig jaar een clientversie die gebruik maakt van het protocol. Die client is een plugin voor Evolution, het groupwarepakket in Gnome. In april, zo zegt Vernooij, hopen ze een proof-of-concept te kunnen presenteren van een server die gebruik maakt van de implementatie. "Gewoon een simpele server, die nog geen hele uitgebreide dingen doet zoals MAPI-naar-IMAP mappen en dergelijke", zegt Vernooij. Openchange is nauw verbonden met Samba, waarvoor Vernooij ook ontwikkelt.

Geen plugins

De implementatie probeert de protocollen zoals Microsoft die zelf ook gebruikt zo nauwkeurig mogelijk te reproduceren. "Dat betekent dat je verder aan de clientkant in Outlook geen extra dingen, zoals plugins, nodig hebt om het te kunnen gebruiken met een andere server", zegt Vernooij, die eraan toevoegt dat het zich daarmee onderscheidt van andere initiatieven als Zarafa. "Wat Zarafa bijvoorbeeld niet heeft, is dezelfde implementatie als Microsoft", zegt Vernooij. "Zarafa heeft een eigen plugin onder Outlook, die MAPI/RPC vertaalt naar het protocol van de server."

Het implementeren van MAPI blijkt niet eenvoudig. Tot een jaar geleden waren de protocollen nog niet gedocumenteerd; die kwamen pas beschikbaar toen Microsoft die op last van de rechter moest vrijgeven. "Voor die tijd moesten we door middel van netwerkanalyse erachter komen hoe die protocollen eruit zagen", zegt Vernooij.

Frans Café

Daarbij is niet gegrepen naar het middel van reverse engineering. "Een metafoor die de hoofdontwikkelaar van Samba altijd gebruikt is het leren van de Franse taal in een Frans café. Je kunt het hoofd van de kelner opensplijten en daar de informatie uit halen, dan zou je reverse engineeren. Maar wat wij doen is in het café zitten, en naar de gesprekken te luisteren en zo af en toe een woordje terug te zeggen." De documentatie bevat nog wel fouten, maar Microsoft is volgens Vernooij behulpzaam met het oplossen van de probleempjes.

SUSE Uiteindelijk moet Openchange voor interoperabiliteit zorgen tussen de verschillende clients en servers die in de groupwarewereld beschikbaar zijn. Ondertussen is bijvoorbeeld Novell al bezig met het implementeren van Openchange in de volgende versie van SUSE, zegt Vernooij. "We zijn geen concurrent voor andere groupwareprojecten. We zijn maar met iets van vijf ontwikkelaars, en om nou een complete groupware-implementatie uit de grond te stampen is te veel werk. We hebben al genoeg aan MAPI/RPC", zegt Vernooij. Sterker: Vernooij hoopt dat groupwareleveranciers het project omarmen. "Omdat we aan hun MAPI/RPC kunnen leveren, zijn we meer een aanvulling voor ze", zegt Vernooij. Bron: Techworld