"There are some other issues, too: FreeBSD ports make no distinction between development and runtime files like Debian’s packages do. So, just by virtue of wanting to run a graphical desktop, you get all of the static libraries, include files, build scripts, etc for XOrg installed."
That's definitely a feature, not a bug! I hate how Linux distributions require you to install a thousand "-dev" or "-devel" packages. All headers should always be present on a Unix system!
Also, you don't need HAL/PolicyKit/dbus on FreeBSD. xorg-server recently switched the default configuration option from HAL to devd. And you can compile things like Firefox WITHOUT="DBUS" :-)
But not everyone that uses Linux compile X libs or Firefox themselves (a very tiny fraction do). Why does it make sense to have include headers and source?
It makes sense to install things in an upstream-supported way. It definitely makes sense to support e.g. standard autoconf macros for detecting dependent libraries. Otherwise, people who try to build software from source (which most linux users do eventually) will get very confused when their build fails. (I remember getting bug reports from debian users who had installed kdemultimedia and some but not all of the kdemultimedia-devel packages - meaning that autoconf would detect that the kdemultimedia headers were installed, but then the specific header I was using wasn't present).
If you can repackage without breaking the upstream-supported use cases then sure, go for it, if you want to.
If it really is a problem for you then work around it. But for most of us installing dev files makes sense if we ever need to compile something against those .h files.
Disk space may be cheap but limited. It just makes no sense whatsoever to just put a lot of files on my disk i will NEVER care about. NEVER.
And if i need them, i will install them. Usually i only want a freaking binary to run.
That's definitely a feature, not a bug! I hate how Linux distributions require you to install a thousand "-dev" or "-devel" packages. All headers should always be present on a Unix system!
Also, you don't need HAL/PolicyKit/dbus on FreeBSD. xorg-server recently switched the default configuration option from HAL to devd. And you can compile things like Firefox WITHOUT="DBUS" :-)