Nice one but you can contribute even if you don't have an idea about programming. There are always typos and tasks where you are needed to write stuff, rather than actually code.
Yes of course, but if people want to get into programs like GSOC then they need to have some kind of knowledge about development. Fixing typos and dead links is also a contribution for sure.