If you want to develop a non GPL application and to use g2 please contact the authors. This library provides a comprehensive set of functions for simultaneous generation of graphical output on different types of devices. Commands sent to such a virtual devices will automatically issued to all attached physical devices. This allows for example simultaneous output to a GIF file and a Postscript file. A virtual device in turn can be attached to another virtual device, allowing to construct trees of devices.
Virtual devices can also be useful when using different user-coordinate systems.
E.g. one X11 window showing an overview of a graphical output, and a second window showing a zoom of a more detailed area of the graphic. Drawing in both windows is performed by one single command to the virtual device. If you don't need or like the concept of virtual devices, simply ignore it.