I think, in this context, it's not important _why_ developers leave - it's inevitable.
In a commercial setting, there is financial motivation for a company to hire and train new developers, but in the case of an open source project this may not be the case.
How do we motivate people to fix or continue development of open source projects? Is it possible at all?