Here is another thing to consider: There is considerable cost involved in running/developing on old branches as the divergence between the version you're running and trunk increases.
For those actively doing development, such divergence actually causes extra work and slows down development. A more reasonable approach IMO is to make sure that important *bugfixes* are backported to branches that are sufficiently old to satisfy the criteria of the OP. But that is orthogonal to how often new releases happen. The OP compares with PostgreSQL, and they're in a similar position. You can run on a fairly old version and still get critical bug fixes, meaning that if you don't actually need the new version there is no one telling you that you must upgrade. It seems to me that what matters are mostly two things: (1) When you *do* need/want to upgrade, that upgrade path you care about being stable, and working, and the version you're upgrading too should be stable. (2) Critical fixes need still be maintained for the version you're running (else you are in fact kind of forced to upgrade). -- / Peter Schuller (@scode, http://worldmodscode.wordpress.com)