The AT&T lawsuit may have been a factor, but I think a more plausible explanation is that the Linux ecosystem just moved faster by having short incremental release cycles, where FreeBSD only branched from -CURRENT every few years. So, you in FreeBSD-land you basically had to choose between something that is unstable or something that is old.
Another factor (I think) is that the Linux ecosystem marketed itself better. FreeBSD was a non-profit project (even though Walnut Creek supported them), Linux had a lot of commercial vendors (Red Hat, SUSE, Caldera) that were actively pushing boxes to book stores, etc.
It was more complex than most people realize and it was unclear for some time where it left the open source BSDs: Were we covered or not ?
One way or the other, we got sent back to "Start" (Do not collect...), and had to spend a number of months to get from Net/2 (once it were ready) to a working system.
And it didn't really help either that the 386BSD people felt we stole their thunder, that caused some low-level frictioon and copyright uncertainties.
But I think the biggest reason FreeBSD "did not become Linux" is that we didn't want it to.
We were all UNIX veterans, we wanted something stable, reliable and fast - hence the tagline "FreeBSD - The power to serve"
Linux back then, less so now, was a paradise for hackers and experimenters, people wrote 60% of a device driver for all sorts of crappy hardware and had endless fun with it.
I used a car comparison a lot in those days: Linux is an open GTI, FreeBSD is a 18-wheeler truck. The GTI is no good for haulin' - the truck is no fun for cruzin'
Amongst other differences, that gave Linux a much bigger mindshare in universities and dorm rooms, but then, as now, people get to a certain age and just want things to work.
That window was a very small one from the late 1980's to the very early 1990's Id say 1993 max. SCO Xenix occupied that commodity UNIX on i386, but Minix386 started to fill that void, even though it was basically forbidden. Linux changed all of that as there was no insane licensing once version 0.12 was introduced ( https://web.archive.org/web/20070819045030/http://www.kernel... ), with TCP/IP being added shortly afterwards in 1992. Linux was not obscure at the time at all, when new versions were released getting the latest kernel source from prep.ai.mit.edu was an insane waiting in line task..
Just as in the same time period we saw the rise & fall of OS/2, and the emergence of Windows NT. The hacker free market was open for grabs, but Minix's licensing failed, BSD was caught up in a lawsuit, and NT was anything but free. Solaris was going to stay a SYSV secret, and Mach needed 32v + BSD + SYSV licensing so no joe kid on the street could get access.
Why settle for Unix v6 photocopied Lions notes on the PDP-11 when you could spend a few days downloading SLS onto disks and boot into Linux?
1994 was far far too late. Even for AT&T's UnixWare to make a dent. SCO just ended up blowing their brains out partnering with IBM on that project Monterrey to bring SYSV to 64bits, just as Apple wasted their company way with fantasies of IBM & Pink/Taligent. Even IBM did it to themselves porting OS/2 to L4, thinking that OS/2 on a Microkernel was going to compete with Microsoft's implementation of a microkernel.
Alas, this word "truth" doesn't have the meaning you believe it has.
* https://invisible-island.net/ncurses/ncurses.faq.html#vt100_...
There is irony in your "off by default" statement when it comes to GNU toolsets. ECMA48 colour and italics support is on by default in GNU troff, which should not come as a surprise as GNU troff was begun over a decade after ECMA48 was first published and the idea of multiple colours was fairly normalized and widespread at that point. Linux distributors and FreeBSD people later went to significant lengths to turn it off, with extra flags and macros.
But here's another FreeBSD's advantage: it gives you the choice. Just do "pkg install coreutils", change your $PATH and voila: GNU tools.
I see your point, but quite frankly I like the fact that in some cases I need something outside the usual use case and most times gnu grep (and other gnu utilities) have me covered and I don't have to go crazy fiddling with stuff.
It's just preferences, I guess?