Some thoughts off the top of my head (hopefully accurate):
- Do you use Vim? I believe it's written in C
- Apache web server - written in C (I believe)
- Mozilla Firefox - written in C++
These above would have the advantage that they might be programs you are already using, and thus somewhat familiar with.
For something smaller:
- Aspell is a clone of ispell that is written in C++
I believe they were looking for a new maintainer of
the Windows port a while back.
- Also, mongrel2 (by Zed Shaw) is a new web server written
in C that seems well thought out. And since it is new,
it may be more understandable than some of the larger
programs above. Also, the ZeroMQ infrastructure that
it uses seems interesting and useful to know about.
How do I go about understanding the internals of Fire fox or GNU emacs? Do I need to understand the entire thing to contribute? If not what should I do?
For something smaller: