When two nodes connect, each sends a version message naming its protocol version and a free-text user agent. BIP 14 set the format, slash-separated name:version pairs such as /Satoshi:30.0.0/, and Bitcoin Core fills it in from its own release number.
Because it is free text, the user agent is self-reported. Operators can append comments, other implementations can keep the Satoshi prefix and add their own tag, and a node can announce anything at all. It is still the only software census the network offers: crawlers tally the strings, and the shares they publish are shares of what reachable nodes say about themselves.
The Gazette prints user-agent shares with the crawler, the date, the population counted and that caveat.