Live at head means that instead of pinning your third party libraries to a specific versions (e.g. GoogleTest v1.11.0) you always use the newest and greatest commit of the main branch (e.g. commit hash bf66935e07825318ae519675d73d0f3e313b3ec6 of GoogleTest which is at least 1 year “newer” then the last release). One strategy could be to use always the newest commit of the main branch of a Git respository. The problem here is that this does not give reporducable builds, since for every rebuild can use a complete different (newer) set of third party libraries, which can be espacially annoying if you want to run old code an have breaking changes. Therefore, the idea is to pin to the newest version when a new commit of a third party lib becomes available in order to make builds reproducable. So instead of pinning to the latest release version we pin for instance to the latest commit hash. Over time new commits will be added to third party libraries and make our pining old. Our software ages in the sense that it does not use the newest and greates updates of third party libs. For instance, this could be missing security update, bug fixes, performance improvements, support for new environments, etc. In the following figure you will see my “Live at head metric”.
Every dot on this figure shows an commit. The commits are sorted on the x-axis by date. Along the y-axis you can see the percentage of third party libraries that are pined currently to the newest version (commit hash) of the corresponding library. This means old commits point potentially to older versions of third party libs making older commits having a worser live at head up to date rate. Desireable is that your newest commit pins always the newest version of all third party libs which results in a “Live at head metric” value of 100%. It is not unlikely that very old commits of your project will have a”Live at head metric” of 0%. This simply tells you our software has aged in the sense is uses old third party dependencies.
The “Live at head metric” is a basic measurement that gives an indication of our upporiting costs.