Development#

This page provides information for developers or packagers who want to use the SyncEvolution source code and/or contribute to the development of SyncEvolution. To contact the development team, use the mailing list. There is no shortage of features that new developers could work on. Many of them are documented in the SyncEvolution tracker. In addition, porting SyncEvolution to other platforms and/or synchronizing other data sources is something that will only be possible if motivated developers start contributing and maintaining these extensions of the current functionality.

Source Code#

The code is available in git repositories:

SyncEvolution

https://gitlab.freedesktop.org/SyncEvolution/syncevolution/, Open Hub statistics

staging area for patches against upstream Synthesis (use this for SyncEvolution)

https://gitlab.freedesktop.org/SyncEvolution/libsynthesis/

Getting started#

The HACKING document contains further information about working with the source code. The goal of the libsynthesis repository on freedesktop.org is to prepare patches developed by the core SyncEvolution team and publish them for upstream inclusion. If you want to contribute patches yourself, please work with the Synthesis repository and contact Synthesis regarding their contributor agreement. When compiling from source, then --with-synthesis-src=<path to checked out libsynthesis> in the SyncEvolution configure is useful to compile both projects in a single “configure+make” invocation. “make install” is only needed for the sync-UI and server data files and for automatically starting the syncevo-dbus-server. The code compiles with -Wall -Werror both with clang and gcc; you might find clang’s error messages more useful during development.

Further Reading#

For those who just get started with SyncML, there are various technical articles. Some of them can be found on Patrick’s blog, some on this site. Here is a list of recommended reading: