_The_ thing that brought me to FreeBSD is the base system. A full installation is about 2.5 GB including source code (which is about 900 MB for the FreeBSD sources plus about another 800 MB for the Ports tree). Installation is extremely simple. Third-party software is cleanly separated from the base system. If you're coming from Linux, FreeBSD now has great binary package management tools in the form of pkgng, which is every bit as good and easy to use as APT or yum. I love the FreeBSD documentation. There are useful manual pages even for kernel internals and device drivers. I think that PF is vastly easier to understand and configure than iptables; the same goes for FreeBSD's IPsec implementation. Everything's laid out in a very logical, consistent manner, with lots of comments in config files and whatnot.
What's kept me on FreeBSD is the Ports tree (the third-party package build infrastructure). I love how easily I can build customized packages for my computers, especially now with pkgng and tools like poudriere (refer to this great tutorial at http://www.bsdnow.tv/tutorials/poudriere). I can very easily set up my own custom package repository that either supplements or wholly replaces FreeBSD's. I've tried to do similar things with Linux, but it definitely isn't as easy. The ports tree committers are very responsive, and creating (and submitting!) one's own packages is both well documented and very easy.
I like how much of the system configuration is done in /etc/rc.conf. I like how the various system and ports tree build-time knobs are all in /etc/make.conf. I like how daily maintenance scripts/health checks both run by default and are all configured in /etc/periodic.conf. I like how understandable the base system is, kernel internals included. I'm no expert developer (and believe me, there's plenty of advanced Unix hacker wizardry in the FreeBSD sources), but things are accessible enough to even one such as me that I successfully modified the ciss driver this year to work around a weird bug in some old server gear I was experimenting with.
Don't get me wrong - I love me some Unix, but modern Linux distributions seem over-complicated in a lot of the ways I don't like about Solaris or AIX or Windows, even though there's a lot of nice stuff from the perspective of an end user. If you install Ubuntu or Fedora, a lot of stuff Just Works(tm), and that's great! I love Ubuntu and Fedora! But if anything breaks and I have to go digging, things get complicated so rapidly that it makes debugging more of an effort than it should be.
What's kept me on FreeBSD is the Ports tree (the third-party package build infrastructure). I love how easily I can build customized packages for my computers, especially now with pkgng and tools like poudriere (refer to this great tutorial at http://www.bsdnow.tv/tutorials/poudriere). I can very easily set up my own custom package repository that either supplements or wholly replaces FreeBSD's. I've tried to do similar things with Linux, but it definitely isn't as easy. The ports tree committers are very responsive, and creating (and submitting!) one's own packages is both well documented and very easy.
I like how much of the system configuration is done in /etc/rc.conf. I like how the various system and ports tree build-time knobs are all in /etc/make.conf. I like how daily maintenance scripts/health checks both run by default and are all configured in /etc/periodic.conf. I like how understandable the base system is, kernel internals included. I'm no expert developer (and believe me, there's plenty of advanced Unix hacker wizardry in the FreeBSD sources), but things are accessible enough to even one such as me that I successfully modified the ciss driver this year to work around a weird bug in some old server gear I was experimenting with.
Don't get me wrong - I love me some Unix, but modern Linux distributions seem over-complicated in a lot of the ways I don't like about Solaris or AIX or Windows, even though there's a lot of nice stuff from the perspective of an end user. If you install Ubuntu or Fedora, a lot of stuff Just Works(tm), and that's great! I love Ubuntu and Fedora! But if anything breaks and I have to go digging, things get complicated so rapidly that it makes debugging more of an effort than it should be.