Know what is great about developing and maintaining a single software product over the years? You can improve it into unlimited heights. For every idea you get on it there is the chance that one day you will be able to implement it, as development is never finished. Also, you really get a special relationship to it, it is your brainchild, with all your strengths (and yes, weaknesses) coded into it. Your relationship grows over the years, has crises, heights, and ultimately, because of all of this you become very proud of the behemoth of code you created.
Know what is not so cool? The fact that the absolute base of your software is fixed, once it is written. Yes, you change every part of it over time, but the ground concept stands and is static, and there hardly ever is a reason justifying to rewrite it from scratch with some new and cool methodology or tool (unless you really got yourself navigated into a dead end).
I'm painfully aware of that limitation every time I stumble across a new and possibly groundbreaking technology, like Vert.x at the moment, or AngularJS. The very way that the net works and how we write code for it is again changing, and I would love to dive deep into these topics. Possibly, there will be some part in OpenWGA where we will be able to use new frameworks, but the reason for this should never be "ok, there is this new and cool thing, I want to play with it". It should make sense for the software.
And while, again, it is possible to build some new part of the product on top of a new framework, this is hardly ever a good idea. Additional frameworks add complexity to the product, even if they themselves are elegant and easy to use. A software utilizing 547 elegant and easy frameworks at different ends is a complex and possibly unmaintainable product. Something to be prevented. For a product in its 11th year of existence there most likely is already a solution to any problem that may occur coded into it. A solution that is not new and cool.
And this, *sigh*, is like things are.