Syncevolution: Open Source and Funambol

10

Click here to load reader

Transcript of Syncevolution: Open Source and Funambol

Page 1: Syncevolution: Open Source and Funambol

13/04/23

SyncEvolutionPatrick Ohly

Page 2: Syncevolution: Open Source and Funambol

2

Overview

□ SyncEvolution□ The Plan: the road to

world domination□ The Past: 3 years and

counting□ The Future: at

crossroads□ Life as an external

contributor:□ Patch handling

Page 3: Syncevolution: Open Source and Funambol

3

Master Plan

1. Replace proprietary protocols &data formats with open ones:SyncML, vCard 2.1/3.0, iCalendar 2.0

2. Local SyncML Clients

3. SyncML server for desktops

Page 4: Syncevolution: Open Source and Funambol

The Past: Milestones; Contributions

10/2005 scratching an itch: Evolution;ported Funambol C++ lib to Linux

03/2006 first release 0.1;compatibility with other servers,automatic testing

07/2007 Nokia Internet Tablets

12/2007 Mac OS X & iPhone

09/2008 release 0.8 with consistent command line & config handling, client framework complete (file sync)

Page 5: Syncevolution: Open Source and Funambol

The Future: At Crossroads

Will other developers use SyncEvolution and contribute to it? Yes, Debian packager (docs). Not as part of Code Sniper program (KDE).

How do we get a SyncML server onto desktops? Funambol server deployment complex, not written for desktops.

Local server can and should interact with user (assistance during merging).

Page 6: Syncevolution: Open Source and Funambol

Maintaining Patches

Reasons for separate patches: no commit rights, code review

Tools:

copy + diff

patcher/quilt: maintain patch series

git/bzr/hg/monotone: distributed revision control systems

Page 7: Syncevolution: Open Source and Funambol

Git Repository of Funambol CPP SDK Source Code

git clone git://github.com/pohly/funambol-cpp-client-api.git

Complete history since January 2006

Contains stable release branch used for SyncEvolution

Updated from Subversion regularly

Can track Subversion directly

Page 8: Syncevolution: Open Source and Funambol

Using git

Commit to local branch: git add, git commit

Merge regularly with trunk: git pull

Clean up local patches: git rebase –-interactive origin/trunk

Publish patches: git format-patch origin/trunk, git send-email *.patch

Page 9: Syncevolution: Open Source and Funambol

9

Conclusions

□ Try out SyncEvolution as basis for new clients:http://www.estamos.de/blog/2008/08/04/syncml-client-do-it-yourself-style/

□ Use git-svn to track Funambol source:http://www.estamos.de/blog/2008/11/20/tracking-funambol-c-client-library-with-git/

Page 10: Syncevolution: Open Source and Funambol

10

The End