Please check out the program wiki, advice for students section for a list of past participants in the program by technical area:
http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents
There's no reason not to apply - the worst you can do is not have your application accepted. Even if that happens, you will get a chance to get to know some projects better, see how you can contribute and be better prepared to apply to programs like Google Summer of Code in the future.
As for recommended books, why not take a look at Producing Open Source Software by Karl Fogel:
http://producingoss.comIf you're looking for language/technical area specific books, this isn't the best list to ask questions on, but there's lots of folks in #gsoc on Freenode that may be able to help.
Cheers,
LH