Size and Activity

Next term, I’m going to be teaching CSC302 (the second of our two-course sequence in software engineering). The mandate for the course is to introduce students to the tools and methods they need to deal with large applications; as part of it, I’m thinking of having each group of students go spelunking in a different pre-existing code base. I’d therefore like to find 15-20 applications that are:

  1. Relatively well written in C, Java, or Python (the three languages I can be sure the students know).
  2. Open source (for obvious reasons).
  3. About 50,000 lines long (yes, I know that lines of code is a weak measure of complexity, but it's easy to calculate).
  4. Build and run on Windows, Linux, and Mac OS X.
  5. Under active development (so that students have someone to turn to when they have questions).

I’d prefer complete applications to libraries, toolkits, or frameworks. Vim is a good example of what I’m after; I’d welcome pointers to others.