Hello,
I am using your geoname TimeZone web service to get Offset time zones. It appears to work fine in most of the cases i require except 2:
1. Australia/Sydney
Lat: -33.86785 Long=151.20732
http://ws.geonames.org/timezone?lat=-33.86785&lng=151.20732 In which case it gives DST offset as GMT+10 while standard as GMT+11, which is the opposite of actual. The DST is in effect so the DST offset should be GMT+11 while the gmtOffset and rawOffset should be GMT+10.
The two fields gmtOffset and dstOffset are deprecated as they are missnamed and their use is rather limited. On the southern hemisphere it is the opposite as you correctly observe.
See also this thread
http://forum.geonames.org/gforum/posts/list/3793.page