Ask HN: What are the top open source software written in C?

16 points by anujkk ↗ HN
I'm looking for top open source softwares written in C (excluding linux kernel) for learning by code reading. AFAIK, Apache Web Server, Gnome, GIMP and parts of firefox are written in C. Do you know of any other interesting open source projects using C as their development language?

19 comments

[ 2.4 ms ] story [ 51.8 ms ] thread
Are you familiar with Koders.com?
blender3d
Are you sure this is written in c? I haven't looked at the source but the design makes me think its c++
It's in python I think.
It's possible to write Python-scripts to use in Blender. Blender itself, however, is written in C.
Blender embeds a custom Python interpreter for its GUI and plugins.
ok, to wrap things up I downloaded the source, hobin and pestaa are right on - its c with an embedded python interpreter for writing your own scripts.
Many interpreted programming languages are implemented in C: Python, Ruby, Lua, Io...
Glad to hear someone wants to learn by reading source! I personally think this is a thousand times better than reading any book about programming languages.

to answer your question, pretty much anything at GNU, coreutils, binutils, bash, grep, etc. here's the link: http://www.gnu.org/software/

Also I'd recommend reading the redis source, its an easy read and well designed. Also emacs if your also interested in lisp or text-editing ( still difficult portions are written in c ). And if you're a chess fan check out the GNU chess project, for games then there's quake 3 src - which was my first completed c source read.

good reading!

libxml2 http://www.xmlsoft.org/ XML parser, used a lot, so probably well coded. Likely smaller code-size than some of the more famous gnu products.

zlib http://zlib.net/ zip library, used a lot, so ... hmm same thing as above.

zlib contains both zip-specific logic (which maybe hard to understand if you don't know how compression works), and also IO-logic which is pretty straight forward.

Not exactly an open-source project but id software releases their source code under the GPL license after a couple of years. So you might want to have a look at the sources of say, Doom or Quake. Both of them were written in C. In fact everything they did up to Doom 3 (C++) is C code if I remember correctly.
I've looked at the C source to Tcl/Tk and Lua and was impressed by both. I believe Vim is also written in C.