I used FreeBSD for a couple of years but now use Arch (after a fling with Ubuntu in between). Reasons I switched (some of which may have been addressed since): * building everything from source got old * lack of support for hardware (Linux has gotten really good at having drivers for hardware) * ports of desktop applications were not always available, and the POSIX shim to use Linux applications didnt always work wit…
You....don't have to. You haven't had to for years. Just use pkg instead of ports.
> * lack of support for hardware (Linux has gotten really good at having drivers for hardware)
Other than wireless, FreeBSD's driver support is pretty solid. I have a cutting edge machine (haswell-e, nvidia, ddr4, etc) and not one device is unsupported. In fact, FreeBSD has much less hassle with the audio driver than any Linux distro I've tried.
> * ports of desktop applications were not always available, and the POSIX shim to use Linux applications didnt always work without some hacking
Well yeah, it's still a different OS. If you need some specific commercial software (source unavailable), you'll probably have to jump through some hoops to get it working.
> * On the server side, Linux pretty much caught up on performance
Sure. But when performance is on par, it's not really a factor anymore. At that point, it's just what is easiest/most enjoyable to manage.
> * As the Linux community has grown, the resources available to Linux users are amazing. FreeBSD feels like Linux used to - always having to hack around and try to research how to make it work and nothing quite working smoothly
I've never run into this issue. As long as you aren't just trying to run commands from stackoverflow, you should be able to adapt things for the few nuances pretty easily. It's really just about knowing your OS. Again, not necessarily true for commercial software...but the case for most FOSS.