Comment by ggm
7 years ago
Selecting a BSD comes with an implied social contract regarding its mutability across versions. If you go into OpenBSD believing code from n-3 runs on version n+1 you misunderstood the social contract. FreeBSD or NetBSD or DragonflyBSD might have a different social contract.
Selecting OSX used to imply much more attempt to handle this, maybe n-3 is outside the goal but n-1 and n+1 kinda works usually. Except when things like "we don't want 32 bit any more" hits, after 2 or more years of heads-up. Turns out vendors don't want to incur that cost. Stuff which people want and "depend on" as Kext don't work.
Consider how python2 dependencies are going in a world of Python3, and thats userspace, not ABI. Its not the OS, but.. its similar.
> Selecting a BSD comes with an implied social contract regarding its mutability across versions.
Indeed, which is why it's market share is tiny.
I seriously doubt that's the reason, especially compared to hardware support and the usual hurdle of "not installed by default".
It might be some people's reason. I got to a point where I couldn't even get decent 2D X behaviour, and DSDT configs for laptops stopped working, or even depended on Linux to get them working. It was a signal. Van Jacobsen dropping primary development of his TCP work in BSD and moving to Linux was another signal to me, maybe some others.
Overwhelmingly I think desktop support and the Ubuntu/LTE effect did it: FreeBSD demanded more of you, to get it to work. The working outcome I still like, but commodity UNIX is just simpler from OSX, or from Ubuntu. And vendors back it enough to mean you can get more things to work, more quickly, closer to the cutting edge. I am pretty sure I will get a working Linux desktop on any laptop I plausibly buy next time. I believe 80% of things will work fine in FreeBSD but the last 20% (Synaptics driver, fingerprint driver, TPM driver, blob-ridden WiFi Driver...) are going to be hard.