World Library  
Flag as Inappropriate
Email this Article


Article Id: WHEBN0012152759
Reproduction Date:

Title: OpenSync  
Author: World Heritage Encyclopedia
Language: English
Subject: OPIE user interface, Kontact, Nokia Communicator, Gnokii, BitPim
Publisher: World Heritage Encyclopedia


The OpenSync Project
Stable release 0.22 / 28 October 2007
Operating system Cross-platform
Type Synchronization
License GNU Lesser General Public License

OpenSync is a software library framework used for synchronization of PIM data (contacts, calendar, tasks, and notes) between personal computers and mobile devices. It is derived from MultiSync. OpenSync is plugin based and its product-specific plugins allow support for a wide variety of different synchronization endpoints (PIM applications, mobile phones, personal digital assistants, groupware servers, and Lightweight Directory Access Protocol (LDAP) directories). Its design and implementation would allow other synchronization uses as well.

OpenSync has been selected to be KDE's main synchronization framework. It is cross-platform software that can be run on Microsoft Windows and various Unix-like systems, including Linux and Mac OS X.

OpenSync is free and open source software, released under the terms of the GNU Lesser General Public License.


OpenSync has an ambitious goal to solve all possible PIM synchronization needs. Regardless of its current shortcomings, its feature list is extensive:

  • Cross-platform software, implemented in C programming language
  • Plugin based
  • Uses threads
  • Two or more members in one synchronization (group)
  • Capabilities detection
  • Object merger
  • Object type filtering
  • Supported formats are defined in external XML file
  • Multiple graphical user interfaces for different environments
  • Command-line user interface
  • Bindings to other languages (Python)
  • vCard 2.1, 3.0 support
  • vEvent 1.0, 2.0 support
  • vNote 1.1 support
  • vTodo 1.0, 2.0 support
  • SyncML 1.1 and partial SyncML 1.2, WBXML support
  • IrMC support
  • Bluetooth support
  • USB support
  • HTTP support
  • LDAP support
  • Only SyncML server support

(Note: vEvent 1.0 is the same as vCalendar 1.0, and vEvent 2.0 is the same as vCalendar 2.0 or iCalendar, which all are supported as well.)

OpenSync synchronization takes place in groups which can have two or more different type of members supporting different set of object attributes. Development version also has a sync engine that is able to merge attributes from same object changed on different endpoints.


Virtual formats

Before synchronizing anything, OpenSync converts data coming from members into internal XML-based formats, which are:

  • xmlformat-contact
  • xmlformat-event
  • xmlformat-note
  • xmlformat-todo

This conversion is implemented in VFormat plugin. Format descriptions are in XML format, allowing more frequent updates to those without modifying and recompiling the actual program code.


OpenSync is able to automatically configure some products for synchronized attribute settings (for supported attributes and data formats).


OpenSync is able to merge different attribute changes of same object since last synchronization between different group members. This reduces significantly manual conflict resolutions and user attention to actual synchronization process.

Supported platforms

Since OpenSync is written in C and libraries it uses are openly available, it can be compiled to almost any platform where C compiler is available. Currently known working platforms are:

Supported devices

Support is based on general features and may vary depending on features of particular device, OpenSync bugs, or connection method used (Bluetooth, USB, IRDA).


The Motorola plugin is written in Python.


Generally, devices supporting SyncML 1.1 or 1.2 over Bluetooth, USB, or IP-protocol are supported. Nokia 770, N800, and N810 Internet Tablets using GPE suite are supported.

Sony Ericsson

Sony Ericsson devices supporting SyncML or IrMC.

User interfaces


Msynctool is the command-line interface that comes with OpenSync. Its name comes from the term "MultiSync", but it has been decided to change the name to something closer to the project name. Msynctool supports all features that OpenSync itself supports, and is thus considered to be the reference user interface.


Mototool is the command-line interface for Motorola's devices, and is also written in Python.


KitchenSync is the GUI frontend for the K Desktop Environment. It synchronizes KDE PIM-suite applications like Kaddressbook (contacts), KOrganizer (calendar), and Knotes (notes). Mail synchronization is not supported. In future versions KitchenSync will be ported to KDE Akonadi. KitchenSync is written with C++-language, Qt- and KDE toolkits.

KDE PIM applications can also be combined into Kontact framework, where they appear as a single application with tighter integration. As applications are the same, Kontact is also a supported application.


Gnome-Sync was a GUI frontend for GNOME desktop environment, now discontinued.[1] It was written in C and used the GTK+ toolkit.


Some of the plugins available for OpenSync are:

Current status

OpenSync remains under development, but no stable release has been made since 2007. That stable release is 0.22, and as the codebase will be its last 0.2x release (although some fixes have been added). Main development efforts now focus on the current versions. Development versions (0.31 through 0.39) have gone through major architectural changes including capabilities and merging support, but a stable 0.40 release has proved elusive.


These are current challenges that developers are aware of and trying to address in the future releases.

  • Older versions do not work in many cases.
  • Due to recent heavy modifications and rare releases, compiling it manually is currently recommended.
  • Most platforms ship the latest releases, which are laborious to compile manually.
  • Configuring current versions is difficult for normal users.
  • Lack of a Microsoft Windows PIM-suite plugin limits the community.
  • SyncML support is only for servers.
  • The architecture is not very suitable for binary data synchronization (music, pictures, etc.).

See also

Free software portal


External links

  • OpenSync homepage
  • LibSyncML homepage
  • LibWBXML homepage
  • MultiSync homepage
  • SynCE homepage
  • IrMC info

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.