The purpose of this page is to explain what OpenSync is and does very briefly without going into the technical details of installation and configuration. OpenSync is a plugin-based application that basically provides a framework for synchronising between two devices. These devices could be just about any kind of database like:

  • A folder filled with vcard files containing contacts
  • An LDAP server having a huge list of contacts
  • An application like Mozilla Sunbird or Google Calendar managing calendars
  • A PIM (Personal Information Management) like Ximian Evolution or KDE PIM
  • A mobile phone which hosts contacts/ calendars/ notes

A special note about mobile phones First see if you phone is supported on this page. Generally speaking, synchronisation is implemented using what's called the OBEX or OBject EXchange protocol. Read more about it here on the wikipedia article. OBEX may be implemented over USB, bluetooth, infrared and HTTP. For all phone synchronisation purposes, please have a look at the SyncML plugins syncml-obex-client, syncml-http-server, IrMC plugin, Moto plugin, and Palm plugin at the download page.

The technical aspects of how the synchronisation is implemented can be found in this document.

Each device has its own way of storing information and the purpose of OpenSync is to extract this information and provide inconvertibility using an XML intermediate. OpenSync without any plugins is incapable of doing any synchronisation. Each plugin can be thought of an interface to a device. Two plugins may also be interfaces to the same devices... only different in the way they communicate with the device. A plugin may also provide more than one way to communicate with a device. For example, syncml-obex-client and syncml-http-server are OBEX and HTTP interfaces to a mobile phone. The syncml-obex-client further provides OBEX over USB and OBEX over bluetooth.

Syncronisation, as already emphasised, may be done between any two stores of data, even two directories containing files. To get a feel of how plugins work with OpenSync, dive into the first task of syncronising between two different directories using the two instances of the file-sync plugin here. Other documentation for using specific plugins to perform specific synchronisation tasks can be found along in the documentation page. Other relevant documentation can be found here.