Or just use an open source library and, when you find a bug, report it and (try to) fix it. Pay attention to the coding style, write a test case that reproduces the bug, and send/submit the patches to the author.
As a library user, you'll have the incentive to have the bug fixed. You'll also know exactly how to reproduce it, which will help you to locate and fix it and write a test case.
Even if you never touch that project again, you will have (a) helped yourself, (b) helped the project and (c) learned something.
Comments
Or just use an open source library and, when you find a bug, report it and (try to) fix it. Pay attention to the coding style, write a test case that reproduces the bug, and send/submit the patches to the author.
As a library user, you'll have the incentive to have the bug fixed. You'll also know exactly how to reproduce it, which will help you to locate and fix it and write a test case.
Even if you never touch that project again, you will have (a) helped yourself, (b) helped the project and (c) learned something.
See also: Write and Submit your first Linux kernel Patch (FOSDEM 2010 talk): http://archive.fosdem.org/2010/schedule/events/linuxkernelpa...