Getting Involved

The OpenChange project welcomes anyone who would like to become involved in the project. We particularly need people with an interest in (in alphabetically order, not priority):
  • bug triage
  • development / coding in C, C++, Python or Perl (and possibly other languages depending on your development goals)
  • documentation / proof reading
  • system administration (especially with Exchange servers, although other mail / calendaring / task based tools and general sysadmin support would also be useful)
  • testing and bug reporting
To become involved, we suggest you start by:
  1. joining the main mailing list (see subscription information and the archive of previous posts to the mailing list for more information)
  2. Register on the tracker and post your questions in the Forums.
  3. and if possible, also join the IRC channel we use - #openchange on Freenode (server:, channel: #openchange).

Your next stage is then to set up a development environment (either from scratch, or starting with a pre-build appliance). Guides on how to do this are provided below. If you have trouble, please ask questions on the IRC channel (preferred) or on the mailing list.

We have an incomplete list of tasks (including bugs to fix and features to implement) on the issue tracker. Please let us know what you are working on before getting too far into it, to prevent any issues coming up at merge time, and also to allow us to provide guidance / suggestions where appropriate.

Thanks for your interest in OpenChange!

Task guide

Install OpenChange from source

Follow the instructions in this guide which explains HowTo Install OpenChange From Source.

Update OpenChange and Samba from source

Follow the instructions in this guide which explains HowTo Update OpenChange and Samba From Source.

Server setup

Follow the instructions in this guide which explains HowTo Setup OpenChange Server.

OpenChange server - beside its native compatibility with Microsoft Outlook - offers a pluggable storage's mechanism called mapistore. It provides a scalable solution to MAPI data storage allowing user to transparently store MAPI data on a large set of services and databases:

Client setup

Follow the instructions in this guide which explains HowTo Setup OpenChange Client.

Outlook setup

Follow the instructions in this guide which explains HowTo Setup Outlook with OpenChange Server.

If you experience severe problems with Outlook, then the Engaging with Microsoft on Outlook guide may be of use.

Administrator Guides

HowTo build your own OpenChange/SOGo appliance

Follow this guide if you want to setup an OpenChange appliance from scratch with SOGo backend.

Developer Guides

MAPIStore 1.0 development guide

This document describes the API used to write backends for OpenChange Server: MAPIStore 1.0 Development Guide

OCSManager Specifications

OCSManager is the OpenChange Service Manager. It is used to send notifications from a remote system to OpenChange Server and advise clients on remote changes.

This document covers the OCSManager installation, configuration and protocol specifications for authentication and notifications: OCSManager Specifications


This document describes the research, experiences and progress on implementing RPC over HTTP on OpenChange server side.

Useful documentation

OpenChange Server Documentation

OpenChange API Documentation

ExchangeRPC Investigation

The OpenChange project scope includes both implementing the "as documented" protocols from Microsoft, and also investigating and verifying the protocol (and its documentation). See Protocol Information.

Fast Transfer

We have an implementation of the "Fast Transfer" operations described in MS-OXCFXICS. See Fast Transfer for more details.

Project infrastructure

The OpenChange project has a strong commitment to appropriate infrastructure. A description of some of it is available in OpenChange Project Infrastructure.

HowTo Guides


Development status and tips

Overview of ExchangeRPC provides a starting point for developers (working with OpenChange libraries, or working on OpenChange).

The Client Side Function list shows where we are up to with particular Remote Operations. You can also look on the Issues list.

We have some Test Ideas, some of which are implemented by the OpenChange Project Infrastructure.

Architecture thoughts

Meeting Plans and Records