posted by Eugenia Loli on Mon 28th Apr 2003 15:48 UTC

"How FreeBSD compares to other Unices"
5. Strictly technically speaking, what are the biggest advantages of FreeBSD against Solaris, Linux, IRIX and AIX today, and where does it still lack compared with these Unix alternatives?

Scott Long: Linux development is so quick and scattered that it's hard to assess many of its technical merits. The strict social hierarchy in Linux often forces changes that are either large or are from 'unknown' developers to be kept outside of the main Linux development stream, making the work of developers and integrators harder. FreeBSD, OpenBSD, and NetBSD have a much lower barrier for entry for developers in that the official source trees are publically availalbe via CVS, and there are many more developers with CVS commit access that can funnel in changes.

FreeBSD has traditionally excelled with it's VM, SCSI, and network subsystems. The lack of a journaled filesystem is seen by some as a shortcoming, but UFS2 with softupdates and background checking solves most of the problems that journaling filesystems attempt to solve. This particular area is very polarized, though, and it should be noted that efforts are also underway to port the SGI XFS to FreeBSD.

Wes Peters: Against IRIX and AIX, it's a no-brainer. Those systems are staring at an open grave. IBM and SGI have obviously switched horses; their marketing releases are attempts to placate their current customers while they come up with a migration plan better than "buy Sun now."

One of the biggest advantages of FreeBSD over Solaris that may not be mentioned by others you are interviewing is the FreeBSD Ports system. There are currently more that 8,000 applications, development tools, and other software packages that you can install on a FreeBSD system by simply asking for them. The amount of work that has been doone in creating and maintaining this system is incredible, and it is one of the crown jewels of the FreeBSD Project.

Against Linux, the situation is different. One of the problems in the Linux world is perhaps too much choice. With nearly 200 different distributions of Linux, each going in different directions, it's hard to know where to go to get what you need. The applications can be difficult to find; you'll come across an app that looks like exactly what you need, only to find that the developer hates whatever distro you're using and only makes packages for a different distro that is almost but not quite compatible with what you've got.

Yes, these are technical issues. Having two major packaging formats, a number of major distributions, all with differing sets and releases of critical libraries, is a management nightmare nobody really wants to tackle. This is why everyone that goes with Linux picks one distro and makes it an organization standard even if it's not the best.

FreeBSD is a *system*, not a kernel with a bunch of other stuff thrown on top to make a "distro." The kernel, userland programs, libraries, booting system, etc., are all tested together to make a release that's known good. Our backwards compatibility has remained quite good as well; a number of commercial vendors have FreeBSD 3.x and even 2.x binaries they still sell today because they don't need to change the executables.

Greg 'groggy' Lehey: I can't think of a way to answer that question in a few sentences. Firstly you need to distinguish between UNIX and Linux; under the hood the UNIX kernels and FreeBSD are very similar, while Linux is very different. A few thoughts:

compared to UNIX:

* FreeBSD has much tidier source code and fewer crocks. Hardly anybody sees UNIX source code, and keeping it tidy is expensive, so big companies don't go to great lengths to do so. FreeBSD code is kept tidy by a number of beginning kernel coders who pride themselves on the neatness of the result.

* At the other end of the scale, we haven't made as much progress as we would have liked with pervasive kernel changes such as SMP and kernel threads. This is probably a direct result of the open source development methodology, which is not as rigorously structured as in closed source projects.

M. Warner Losh : I'd agree on the threading issues, but much progress is being made there, but disagree with you on the SMP area.

Greg 'groggy' Lehey: compared to Linux:

* FreeBSD is a tidier system. You "know what you have". If I say "I am running FreeBSD 4.8-RELEASE", I define exactly the system I am running. Currently, there is no way to say something similar about Linux. You can say "I am running Red Hat 8.2", but if you have built a new kernel, that no longer applies. You would at least have to say something like "... with kernel 2.4.20". Every time you add software to a Linux system, you have (to make) a choice of where to get it from. With FreeBSD, you install nearly all software from a known place (the Ports Collection) in a defined manner. This makes bug fixing much easier.

* Independently of the issue of how Linux gathers its system components, you have the choice of distribution. The tools in one distribution may be completely different from those in another, and the configuration files might also be completely different.

* In my experience, Linux is not as stable as FreeBSD. I run a couple of Linux systems in my home network, and though they don't have much work to do, they tend to have software problems which require rebooting much more often than the FreeBSD systems. One machine regularly has hangs in the IP stack due to what look like memory leaks. From my last job I know a number of high-profile Linux hackers, but none have been able to help diagnose the problem.

* Linux is probably ahead in the issue of SMP support. Numerous people are working on such projects. But where do you see the results? Most such work that I know of is "bleeding edge" and hasn't yet found its way into Linux distributions.

Table of contents
  1. "Intro, Java, Corporate Support"
  2. "Linux, the desktop market"
  3. "Maturity of 5.x branch, speed of development compared to Linux"
  4. "How FreeBSD compares to other Unices"
  5. "Bug resolution, team work, graphical installer"
  6. "Optimizations, SPARC/PPC/Itanium/Opteron ports, third party tools"
  7. "XFree86 issue, re-unification of the BSDs, UFS2"
  8. "The SCO questionmark"
e p (0)    94 Comment(s)

Technology White Papers

See More