Since I first owned a PDA, I have been looking for an elegant solution to syncing my data with the PDA and 'nonstandard' applications (Thunderbird / Sunbird / anything in Linux) ... as apparently many people are.
I tried switching over to Outlook as my primary email/calendar program, my unholy marriage to Outlook lasted longer than I care to admit, mostly because syncing with my PDA <em>just worked</em>.
With the release of Thunderbird 1.5, I decided I had enough of MS Outlook. Around the same time, Lightning and Sunbird caught my attention. After extensive google'ing, I found an excellent product, BirdieSync. I installed the trial version, and was loving it, until my 20 day trial expired. At €19.95 (roughly 27 USD) the product was a little extravagant as a college student. If you have the money and only use Windows, this is a decent option.
After the trial of BirdieSync ended, I switched over to FinchSync. This free (but not open source) product did work, but did not utilize Activesync at all, so you needed two separate programs the PDA client and desktop client both on and looking for each other. It did have the benefit of allowing me to sync via wifi (and if I wanted to, I probably could have remotely synced over the internet). However, this product still needs some polishing to make it a real competitor.
Back to Outlook (but with webdav and RemoteCalendars)
I did not spend much time with FinchSync, it just bothered me having to open the application on my PDA and desktop to sync. In addition, I decided to switch over to Ubuntu almost full time. So I engineered a complex solution. I still used Thunderbird and Lightning (both in Windows and Linux) which synced a iCal file up to a WebDav server (I could have used Google Calendar). Then whenever I was using Windows and cradled my PDA, Outlook would open and sync with the calendar by using RemoteCalendars. This solution worked alright for a while, mainly since I was using Windows so much for work. But two issues plagues this solution: 1) Windows needed to be on to sync, 2) I could only do a one way sync from desktop to PDA, since the Activesync always viewed the recently downloaded iCal file as "fresher."
Several weeks ago, I got a Motorola Q--a very nice Windows Mobile based smartphone. I went back to Google and my "knight in shining armor," Funambol, appeared (formerly Sync4j). As a commercial product with almost everything open source, I got an enterprise solution for free. First step was downloading and installing the server--which I put on my Ubuntu server. After 20 minutes of that and configuring my firewall, I was onto getting plugins. I installed one into Thunderbird that syncs Lightning and my contacts. I installed one on my new Motorola Q, one in my old PDA, and one in Outlook for good measure. The plugins have nice integration into Thunderbird, Outlook, and Windows Mobile, while not using Activesync. One awesome benefit is that I can now sync through the internet--no more USB cable. It just works.
Funambol, in my mind, is the clear winner of syncing solutions. Cross-platform, open source, free, nice UI, remote syncing, and solid performance. There are plugins for Blackberry, Palm, Evolution, SugarCRM, Exchange, LDAP, iPod, and quite a few others. I now have my calendar and contacts synced on multiple computers and smart devices. I am happy since I am free of Windows and getting the most out of my smartphone.
Update: damo corrected me, BirdieSync is roughly $27, not $40--thanks damo!