Most of what you learn in school is abstract and you'll never need in practice. What you learn in (collaborative) open source development, in the other hand, is mighty useful actual programming experience. Doing well in school helps, but having a portfolio of side-projects to show makes (in my experience, at least) more of an impression on employers.