If anyone wants to see the old school cool: check out XMonad 0.3. This was a good release, trust me:
$ git clone https://github.com/xmonad/xmonad.git && cd xmonad
$ git checkout -b old v0.3
$ cloc Config.hs* Main.hs Operations.hs StackSet.hs
5 text files.
5 unique files.
1 file ignored.
http://cloc.sourceforge.net v 1.60 T=0.01 s (561.3 files/s, 213300.6 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Haskell 4 211 625 684
-------------------------------------------------------------------------------
SUM: 4 211 625 684
-------------------------------------------------------------------------------
I also take back what I said earlier. I
have been using XMonad for almost exactly a decade, since 0.1 was released in April 2007, and I used the pre-release. So its 10th birthday is very close.
I also think it's interesting to note that XMonad is a pretty good example of stable software that doesn't need to change much. Lots of tiling WMs probably fall in this category by some metric, I'd say. For example, the v0.3 version of XMonad had exactly 572 commits in its history at that point:
https://github.com/xmonad/xmonad/commit/dede0a2ce91eebdb1c02...
The HEAD version of XMonad, 0.13, only has exactly 1,265 commits, at the time of this writing. But it has been released almost 10 years later. So that's only a little over 2x as many commits over the course of a decade, and roughly 3x more code at the core level. It does exactly what it needs to do -- so it hasn't needed to evolve much more than that. Files like StackSet (the most central data structure in XMonad) have almost not changed in 10 years, modulo some shuffling, comments, re-exports. That's quite nice, really.
(Where all the extra code came from between 0.3 and 0.13 is left as an archaeology exercise to the reader.)