Welcome to OpenSync - A Synchronization Framework

OpenSync project is an ongoing effort to create a synchronization framework that will be platform independent, general purpose synchronization engine utilizing modular plugins for content formats and different kind of connection types. Being based on plugins would allow extending it easily to new purposes and devices without radically changing the architecture itself, allowing it to support wide variety of devices used today and in the future.

Even being a general purpose framework that keeps the doors open for many use cases, the OpenSync's main and most practical goal is to create a solution to synchronize PIM (Personal Information Management - addressbook contacts, calendar events and tasks, personal notes, etc) data between mobile devices like mobile phones, PDAs (Personal Digital Assistant), desktop computer PIM tools and -services.

OpenSync is a successor of project Multisync, created by the same people. Multisync's development has seized and it's not maintained anymore. Users using it should look to upgrade OpenSync when possible. The combined project history of these projects is long and currently the future looks bright for achieving the original goals.

There is a introduction in the form of a presentation from FOSDEM 2007.

News

Releases 0.22 (and 0.2x svn branch) and before are considered stable and suitable for production. 0.3x releases introduce major architecture and API changes and are targeted for developers and testers only and may not even compile or are likely to contain severe bugs.

0.3x releases are not recommended for end users or distribution packaging.

Check the component status. All current efforts focus to finalize the next stable 0.40 version out as planned in roadmap. Older news are also available.

The goals of OpenSync

  • Provide a framework that can be used for general synchronization
  • Reusability. The framework should be usable by many applications
  • Speed. Synchronization should be as fast as possible.
  • Flexibility. We cannot predict what formats / devices the future will bring. Therefore OpenSync is built as flexible and modular as possible.
  • Integrity. Data must never be lost, no matter what happens.
  • Portability. The framework should run on as many platforms as possible (Linux, Windows, Mac OS, BSD, etc)
  • Language neutral. OpenSync is extensible in using other languages like python, java and even more.
  • No dependencies on a X-server. OpenSync is a library that can be embed into other applications. Therefore it is possible to use GUIs, CLIs or whatever you can imagine.

Download

To download the source or to configure the binary repositories for various *nix systems, please have a look at the related documentation:

Documentation / FAQ / Help

For questions that aren't answered in the documentation, try our mailing lists:

How can you help us?

  • Test the trunk before the 0.40 gets released
  • Report found problems as tickets
  • Write, improve the documentation
  • Fix bugs for 0.39 release
  • Join to active OpenSync community
  • Please share your knowledge of OpenSync: do not hesitate to use the wiki to edit and add information you deem appropriate.