Here provide details on the architecture of OpenSync? in order to help a newbie contributor to manage his/her way through the code.
The opensync code relies a lot on GLib API to create a multi-threaded engine, which will work asynchronously, using mutex, cond, events, mainloops, etc.
