IME, most of the basic shell commands are either directly from FreeBSD or a project in the BSD universe. For example tar is from libarchive, a distinct project (see https://github.com/libarchive/libarchive) that DragonflyBSD, FreeBSD, NetBSD, and macOS import and track. (But oddly not OpenBSD, which has evolved the 4.4BSD-Lite implementation.)
According to a 2012 accounting at http://meta.ath0.com/2012/02/05/apples-great-gpl-purge/ (via https://news.ycombinator.com/item?id=3559990), macOS was down to 16 GPL packages in macOS 10.12 from 47 in macOS 10.5.
Yep, it still is. On Big Sur on M1:
$ grep --version
grep (BSD grep) 2.5.1-FreeBSDOn the other hand, it looks like (at least on Catalina?) it ships with GNU diffutils, so patch, cmp, diff are all GNU utilities. I'm going to sheepishly pretend like this proves my point somehow :-)
FreeBSD should be able to switch before 13.0, but the bsdgrep developer is a slacker. It's only missing a couple of GNU extensions that are somewhat surprisingly (to me) common.
On top of that, the unix userland resembles FreeBSD, although it's pretty eclectic in choices, e.g. it ships with GNU grep and GNU make by default IIRC while I think FreeBSD uses BSD grep and make by default?
(Darwin is pretty eclectic overall -- some portions are more NetBSDish. Kernel is mostly Free I think)