I'm taking a software design class where I should choose an open source software to analyze from the Software Design point of view.
It has to be a big project: not less then 100,000 lines of code.
I would really like to choose a software that is very well designed and architected to have good insights on good software design.
By good design I mean things like meaningful classes and architecture, good use of (design) patterns, good use of abstraction, good organization of components, high cohesion and low coupling between components, etc...
Do you have any software to suggest me?
Note that the software just need to have a good design, the design does not need to be documented! :)
It does not need to be an application for the end user... It can also be a library, a tool, etc...