Some people use it with religious fervor, some do not; there is truth behind it though. Cohesive in this context refers to the user land and kernel software ecosystem of the project. GNU/Linux is called "GNU"/"Linux" because it is the user land software of the GNU project bundled with the kernel of the Linux project. The development of base user land utilities and software is done in completely separate fashion from that of the kernel - they are then mixed and matched into "distributions".
That model has a key advantage, namely, organic growth through asynchronous development - innovation in the kernel has it's own programmer resources and isn't limited by the development path of the user land; the same can be said of user land. Now, it's also a disadvantage in that, you have gazillions of distributions that are now mixing and matching user land software with completely different methods of managing that software (yum, apt, rpm, etc..).
FreeBSD, however, develops the kernel and its base user land all in unison. There are no distributions, there is just "FreeBSD" and as a result, there is just one method for managing user land software (ports). The key advantage here is uniformity and tight integration with the components of the kernel and the base user land system.
BSD vs. GNU ls or grep or awk is moot - they are practically the same tools. The difference is that they are developed and refined with the base system (which means Clang/LLVM will now be compiling those tools).
I liken the difference of FreeBSD vs. GNU/Linux to the days when vendor hardware was cohesively developed and the modern days where all of your components come from separate vendors. There are pros and cons to both. My preference is the *BSD way :)
Thanks for the response. It seems a bit of a cheat to me, though, to compare the differences in the various linux distributions to the (claimed) cohesiveness of FreeBSD. Why not turn it around and compare the differences between FreeBSD, OpenBSD and NetBSD to just Debian?
Having used Debian (a whole lot) and Fedora (just a little), I've found that, although they have some large differences between them, each of them presents a cohesive system within itself. Despite the package sources coming from disparate places. I know for a fact that both distributions patch their (external) packages so that they fit into their respective guidelines (IE, no junk in /opt, config files in directories in /etc, etc.).
I've used OpenBSD in the past--even got the source code from CVS and compiled the whole thing up. I've seen how all the code is organized and it is nice. I definitely see how it's cohesive from the source code's point of view. But I don't see how that produces a more cohesive system from the user's point of view.
Depends on the context with which you are arguing, I suppose. In this case it might have been more correct to argue FreeBSD vs. Debian. I still stress, though, that the difference is still a notable one; even though Debian may be a tight and clean distribution it's still considered "GNU/Linux" - FreeBSD is just FreeBSD. The BSD's do have some cross pollination but they aren't united under a single umbrella as all the distributions of GNU/Linux are. Debian is sort of stepping away from this by building a distribution that matches GNU user land with the FreeBSD kernel.
I haven't personally used Debian that much, so I can't reliably argue for or against it (but I've heard good things); my arguments generally stem from my lovely experiences with FreeBSD and my generally frustrating experiences with GNU/Linux (no new argument here, everything I said in this sentence is said in my above post).
That model has a key advantage, namely, organic growth through asynchronous development - innovation in the kernel has it's own programmer resources and isn't limited by the development path of the user land; the same can be said of user land. Now, it's also a disadvantage in that, you have gazillions of distributions that are now mixing and matching user land software with completely different methods of managing that software (yum, apt, rpm, etc..).
FreeBSD, however, develops the kernel and its base user land all in unison. There are no distributions, there is just "FreeBSD" and as a result, there is just one method for managing user land software (ports). The key advantage here is uniformity and tight integration with the components of the kernel and the base user land system.
BSD vs. GNU ls or grep or awk is moot - they are practically the same tools. The difference is that they are developed and refined with the base system (which means Clang/LLVM will now be compiling those tools).
I liken the difference of FreeBSD vs. GNU/Linux to the days when vendor hardware was cohesively developed and the modern days where all of your components come from separate vendors. There are pros and cons to both. My preference is the *BSD way :)