I've written a simply python script (googlecalendarsync) to synchronize Google Calendar (only the default calendar) with a local iCal file. The advantage of this script, respect to the Provider for Google Calendar solution is that it's possible to work offline in the calendar and it allows to use any calendar client that supports the iCal format (so not only Lightning or Sunbird).
The synchronization is bi-directional: it means that it's possible to create/update/delete events directly from the google calendar interface or directly in your calendar client. The last modified events are taken if the same event is modified in both two places.
After any change you can synchronize the calendars running the script (without any argument).
I've opened a new project in the google project hosting; the tool is available here: http://googlecalendarsync.googlecode.com/