Welcome to OpenSync - A Synchronization Framework

The OpenSync project is an ongoing effort to create a synchronization framework that will be a platform independent, general purpose synchronization engine utilizing modular plugins for content formats and different kind of connection types. OpenSync's modularity should allow it to be extended easily to new devices and purposes 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, 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 stalled and it is no longer maintained, so users using it should look to upgrade to 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 an X-server. OpenSync is a library that can be embedded 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

Documentation is under heavy re-organizing process, and still contains some outdated pages or pages that reside in the wrong location. We're working to fix this but it takes time. We apologize the inconvenience and encourage readers to join to this effort.

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 the  0.39 release
  • Join the active OpenSync community
  • Please share your knowledge of OpenSync: do not hesitate to use the wiki to edit and add information you deem appropriate.

opensync.org Projects