I know there is A LOT of code in open-vm-tools dedicated to figuring all this out. Here is a small part:
/* KEEP SORTED! (sort -d) */
static const DistroInfo distroArray[] = {
{"Annvix", "/etc/annvix-release"},
{"Arch", "/etc/arch-release"},
{"Arklinux", "/etc/arklinux-release"},
{"Aurox", "/etc/aurox-release"},
{"BlackCat", "/etc/blackcat-release"},
{"Cobalt", "/etc/cobalt-release"},
{"Conectiva", "/etc/conectiva-release"},
{"Debian", "/etc/debian_release"},
{"Debian", "/etc/debian_version"},
{"Fedora Core", "/etc/fedora-release"},
{"Gentoo", "/etc/gentoo-release"},
{"Immunix", "/etc/immunix-release"},
{"Knoppix", "/etc/knoppix_version"},
{"Linux-From-Scratch", "/etc/lfs-release"},
{"Linux-PPC", "/etc/linuxppc-release"},
{"Mandrake", "/etc/mandrakelinux-release"},
{"Mandrake", "/etc/mandrake-release"},
{"Mandriva", "/etc/mandriva-release"},
{"MkLinux", "/etc/mklinux-release"},
{"Novell", "/etc/nld-release"},
{"OracleLinux", "/etc/oracle-release"},
{"Photon", "/etc/lsb-release"},
{"PLD", "/etc/pld-release"},
{"RedHat", "/etc/redhat-release"},
{"RedHat", "/etc/redhat_version"},
{"Slackware", "/etc/slackware-release"},
{"Slackware", "/etc/slackware-version"},
{"SMEServer", "/etc/e-smith-release"},
{"Solaris", "/etc/release"},
{"Sun", "/etc/sun-release"},
{"SuSE", "/etc/novell-release"},
{"SuSE", "/etc/sles-release"},
{"SuSE", "/etc/SuSE-release"},
{"Tiny Sofa", "/etc/tinysofa-release"},
{"TurboLinux", "/etc/turbolinux-release"},
{"Ubuntu", "/etc/lsb-release"},
{"UltraPenguin", "/etc/ultrapenguin-release"},
{"UnitedLinux", "/etc/UnitedLinux-release"},
{"VALinux", "/etc/va-release"},
{"Yellow Dog", "/etc/yellowdog-release"},
{NULL, NULL},
};
Probably a lot of bigger open source and especially commercial applications I assume but I don't have any way to know unless I want to strace them. This is more to a "standardish" distro independent release file format which apparently the world needs.