My experience - and one of the main reasons I switched from BSD to Linux is that the ports sytem is a broken pile of stuff. Yum on CentOS is a joy to work with in comparison.
I see the FreeBSD devs have finally started to see the light with the introduction of Pkgng.
Ports broken? Usually see this complaint when the user has an up to date ports tree, but out of date freebsd install.. Ports doesn't have branches/releases.. So if your fbsd version is no longer supported, you'll start seeing broken ports.
Pkgng is not a replacement for ports.. It's a replacement for the old pkg manager (pkg_*)
The FreeBSD ports system is wonderful because it lets me vary the version of an application without forcing me to replace world. Yum is great when you want a binary distribution that often lags the latest releases by years. What do you do when you need a more recent PostgreSQL than 8.4? Upgrade your OS? snicker Why should I be forced to disrupt my OS when all I want is an application? I develop in the CentOS environment on a daily basis. I long to return to the simplicity and elegance of FreeBSD.
Sure, I'm already using that option. I had to go and find it on my own, at the time. It wasn't as simple as updating the ports collection and installing from ports, but I suppose it's not much different than waiting for a maintainer to update a package and then installing it.
I use ports to mean compile on my own and packages to mean installing precompiled binaries. In my experience, FreeBSD seems more amenable to managing, building, and installing software from source code than a linux distribution. Perhaps I just haven't learned an efficient manner that integrates well with yum/rpm on CentOS? I've always had more dependency nightmares on a linux distro than with FreeBSD. Using FreeBSD's ports collection (single repository) has been less error prone for me than trying to manage all the different yum repos one must manually organize to get up to date software. Am I doing something wrong or is it really that clunky?
Yes, I guess if what you want is to build software from source, then the ports are not THAT bad; but when you want to get a little more generic or care about deployment time (especially when dealing with cloud instances) then the fun goes away. Plus the rolling release nature of the ports sucks arse..
I'm not advocating against FreeBSD, I like FreeBSD and I want to see it again on the table, but the ports are hurting it and its adoption, it needs to go away.
You are quite correct that installing from source doesn't really scale in hosting services. It does take too long and leads to incongruent deployments that may block migration. I don't believe any distribution is well suited for cloud deployment out of the box. I usually deploy from a suite of prepared images via netboot, then customers are free to compile from source or use canned packages.
I see the FreeBSD devs have finally started to see the light with the introduction of Pkgng.