Sync me up !

Question for the internet:

I have a phone (Nokia N80), lots of GNOME/Gentoo computers and some internet tablets. Add to that… I’m starting to move more and more for business/leasure, sometimes I only have the phone on me and I need to have all my contacts/calendar/tasks/notes synchronized over all of those devices. I’ve been trying to find a FOSS solution to do this… but haven’t found anything coherent.

What do people use that can run on all those devices and properly synchronize that information across all of them ? I’m open to solutions that require setting up a daemon on a server. And obviously… it needs to be free software (although for the phone part it might be hard) :)