Spice project provides documentation that will help you get familiar with Spice. Start by reading Spice For Newbies for getting information about Spice basic architecture and Spice components. You can use Spice user manual for information on how to get, make and use Spice. Read SPICE Protocol and VD-Interfaces which contain additional and more specific information.
The Spice project is open for contribution. As the project activity is spread across many areas of interest, a variety of C/C++ programmers will find areas of interest. Javascript/web developers should checkout spice-html5.
The project is devoted to offering increased reliability, quality and usability. If you choose to get involved, you are obligated to keep Spice project standards. Commit and forget style is unacceptable; code maintenance and bug fixing is part of the trade.
You can start by reading the Spice documentation and the Spice style document (xf86-video-qxl is under another style). Browse Spice feature-tracker and Spice bug-tracker in order to find a task. You can also post to spice-devel@lists.freedesktop.org the type of task you are looking for, so maybe someone have just the right task for you. You can also refer to the Future Features list. Before starting to work on some new feature or a big change, coordinate it with Spice project members. Doing so will reduce the chance that you'll do a duplicate work, while it will also reduce the chance that your patch will get rejected.
Before sending a patch to spice-devel@lists.freedesktop.org using git send-email make sure that it follows these guidelines:
If it is a simple bug fix, send the patch to spice-devel@lists.freedesktop.org and specify that you don't care what we do with the patch. We will do with it whatever seems appropriate.
For more developers content, visit Features.