It is advised to get the highest version number. I do not really do version management for this, but the footer will provide some hints. Also I do not override version (i hope) so you can check dates. The jar file has never a version, since this would ease your upgrades (but it may be useful to remember the date of that file). The CAL4J package is focussed on the conversion of formats with some little functionality for merging/changing events. All convertors have a reader and an writer interface that is the same. The formats supported are xvcal, ical, xcal and sync4j. Internally they use the icalendar format, I envision more applications using this then some other format. Below is a simple schema explaining it: +------+ vcal-format -> vcal-reader ->| |-> vcal-writer -> vcal-format ical-format -> ical-reader ->| ical |-> ical-writer -> ical-format xcal-format -> xcal-reader ->| tree |-> xcal-writer -> xcal-format s4j-format -> s4j-reader ->| |-> s4j-writer -> s4j-format +------+ READ the LICENSE, since it is provided as is and thus no real support is given.