Live at head means that instead of pinning your third-party libraries to a specific version (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 repository. The problem here is that this does not give reproducible builds, since for every rebuild of your software completely different (newer) sets of commit hashes for third-party libraries can be used, which can be especially 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 library becomes available in order to make builds reproducible. 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 greatest 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”.

Live at head metric

Every dot on this figure shows a 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. Desirable 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 that it uses old third-party dependencies.

The “Live at head metric” is a basic measurement that gives an indication of our up-porting costs for the newest version of third-party libraries it uses.