There's been some discussion recently of what motivates free software authors.
#PuTTY was originally just a Telnet client. It became really useful when I added an SSH backend, during my last year at university. I did that partly because I thought network security seemed like a good idea, but mostly because I had exams coming up, and it seemed like more fun than revising for them.
Three years earlier, #NASM started off as a long design discussion with about 17 people on an email list. Eventually the time came to write code. I volunteered to write an initial prototype for everyone to work on improving. Another member of the mailing list – also a student – suggested that he'd write one too, and then we could decide which one to use. He was at Oxford and I was at Cambridge, so naturally I went all-out to make sure mine would be better. (He never finished his, as it turned out.)
In other words, my two biggest serious free software projects were motivated significantly by Oxbridge rivalry and by revision avoidance.
I'm not quite sure that's how a university education is _supposed_ to bring benefit to the world, but I'll take it!