This is a great question. One of the most mature solutions for Sync is Sybase iAnywhere's MobiLink. We have used it extensively, and it is perfect for enterprise systems if you have some budget. It is not open source, and so does not meet your requirements as stated.
You could mix some basic web technologies to roll your own, which is where we are heading. Simple web services and HTML 5 for the offline content and database storage. See this link:
http://diveintohtml5.ep.io/offline.html - Offline Browser Applications
http://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/ - Client Database Storage
Check out this example: http://webkit.org/demos/sticky-notes/
I have seen talk of Open Database Sync, but nothing concrete.