The reasonable man adapts himself to the world; the unreasonable man persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man.

--George Bernard Shaw

Now we could create another new graphical client, with all the functionality one could possiblly want. But this would be far beyond the scope of this work. Instead the well known Gomecard is used as an application. It supportss all mayor features needed in an addressbook. Its data is stored in a single addressbook file. This file is in vCard 2.1 format. Gnomecard uses Libversit for accessing this data file.

Libversit was once the reference implementation for the Versit data format, as described in the section called “The Versit format”. But the Versit consortium ceased to exist and so did the original source of this library. Different projects, however, still used this reference implementation in their own programs. Two of these projects were Evolution and Gnome-pim.

Instead of copying the code from one of these two projects, my idea was to split Libversit out of both projects and make it its own library again. During this this process I became the co-maintainer of Libversit and with this a Gnome developer.

Libversit handles reading and writing of Versit data. It takes care about encoding and decoding of binary data. Since the same library is used in Gnome-pim, it is assured that the data is fully interchangeable.