gspca is a kernel driver module intended as a major effort to support many different bridge interface chipsets used in pre UVC webcams, which, taken collectively, are known as gspca devices.
It is more accurate to describe gspca as a driver framework which consists of a core driver module (gspca_main) and several sub-drivers, which extend support to a large range of different webcams: gspca_conex, gspca_etoms, gspca_finepix, gspca_m5602, gspca_mars, gspca_mr97310a, gspca_ov519, gspca_ov534, gspca_pac207, gspca_pac7311, gspca_sn9c20x, gspca_sonixb, gspca_sonixj, gspca_spca500, gspca_spca501, gspca_spca505, gspca_spca506, gspca_spca508, gspca_spca561, gspca_stk014, gspca_stv06xx, gspca_sunplus, gspca_t613, gspca_tv8532, gspca_vc032x, gspca_zc3xx.
gspca has an interesting development history, having evolved quite a bit along its way. It originally began as a driver project to support webcams based upon the Sunplus spca50x chipset. After about its v0.3 release, the project became the spca5xx driver, which was essentially an expansion of reverse engineering efforts to include support for an even larger range of webcam bridge chipsets (such as from Sonix, Transvision, Z-star/Vimicro, Conexant, Etoms), and, hence, webcam devices. In mid-2006, after the v0.6 release, the driver name was rebranded and set as "gspca" version 1; the name, while still reflecting its Sunplus heritage, was now meant to stand for "Generic Software Package for Camera Adapters".  This gspca v1 driver was still compliant to the old V4L 1 API spec, and was viewed as transitory until it was rewritten to support the V4L2 API. The gspca framework was indeed reworked, and the resultant version 2 of the driver became integrated into the 2.6.27 kernel and remains actively developed .