[Following outline was for an appearance I made at Bay Area FreeBSD User Group in 2000, and aimed to be based on current information as of that date. The BAFUG program for that evening was a panel discussion comparing Linux with BSD, and I was the invited Linux speaker.]
Development model:
FreeBSD: 160-odd committers + core team, plus several hundred other
credited contributors. CVS tree.
Linux: Multiple distributions, each with an idiosyncratic organisation.
Kernel developer community as informal core/contributor
community w/benevolent dictators.
Licensing:
FreeBSD: Kernel and many key components are BSD-licenced.
Other licences are various.
Linux: Kernel and many key components are GPLed. Other licences
are various.
Pick your favourite nutcase licence-advocate:
Brett Glass v. RMS, ESR, whoever else. Does anyone really care
about our respective freak shows?
Development pace:
FreeBSD: Controlled and steady. FreeBSD has generally shown a
knack for doing the Right Thing in solving technical problems.
Linux: Frenetic. In general: stability vs. progress, pick one.
Inherent compromise, whichever you opt for. However:
Debian-stable equates well to FreeBSD-stable, and
Debian-unstable equates well to FreeBSD-current. Same model.
Flavour:
FreeBSD: Strongly BSD-style. Filesystem layout, general feel of
userspace tools. BSD init. BSD slices.
Linux: Half-and-half SysV and BSD. POSIX, really. SysV init.
Most often uses MS-style partition scheme, but can do BSD slices.
Adoption process for add-ons:
FreeBSD: Have to pass review, as part of the release cycle.
Linux: Each distribution has its own review process.
Standard of identity:
FreeBSD: Each major version has a distinct identity, determined
by the core team.
Linux: Each distribution has its own versioning and standard of
identity. But variations (e.g., lack of library uniformity)
is not the problem that is often claimed to apply.
New, cutting edge hardware:
Driver support tends to be earlier and more exhaustive in Linux kernel,
with sometimes spotty quality. Some highly significant drivers shared
in common with *BSD, e.g., AIC7xxx, NCR 53C8xx. If you build servers
with good, properly selected hardware, you'll have zero problems with
FreeBSD. Linux adds (particularly) the ability to support crazy-ass
hardware that no sane sysadmin would willingly adopt. FreeBSD is said
to have much better IP multicast tools, oddly enough. It is claimed
that, at least as of FreeBSD 3.3, the Linux kernel did SMP more
reliably. Linux has more RAID cards, more sound and video-capture
cards, does kernel-level threads. It was still being claimed (e.g.,
by the Linux kernel's Alan Cox in mid-1999) that FreeBSD's SCSI HD
support remains significantly faster.
Heavy load:
Historically, FreeBSD scaled up better -- more robust TCP/IP stack,
better NFS. Examples of wcarchive.cdrom.com, Yahoo. Counter is that
these were deployments decided (correctly at the time) on the basis of
prevailing reality many years ago. Current comparison is less clear.
Beware that claims tend to be perpetuated based on now-obsolete data.
Some argue that the gap closed during the Linux 2.1 kernel series, but
hard data are not available. Other differences including the scheduler
algorithm & max processes / max file descriptors / max sockets are also
now debatable, with the 2.4 candidate Linux kernels. Memory management
used to be a big difference, and I frankly have no idea how they compare
in that regard, currently.
Documentation/Community:
More books by far for Linux, but many of them suck rocks. Community
support is excellent on both. For better or worse, the Linux community
is slightly more tolerant of the clueless, and is much more active in
the outreach process. BSD community is elitist, and I say that in the
nicest possible sense.
The Metadata Debate:
FreeBSD: FFS with Soft Updates patch.
Linux: ext2 -- faster, and is the consistency problem worth worrying over?
Packaging systems:
FreeBSD: ports, packages
Linux: Packaging systems are diverse. Debian's apt-get approaches ports
system in some respects and out-does it in some others. In
fact, Debian might be the most interesting distribution for
FreeBSD people. Heavily network-oriented, designed for ongoing
live upgrades, etc. Red Hat has been known to ship with
non-working NFS install, which is just pathetic.
Admin-view polish:
FreeBSD: Daily security report and similar are very cool. "Ports" rocks.
Linux: Distributions' default admin tools differ. Some plusses, some
minuses.
History:
The pedigree thing is 95% symbolism, but the grain of truth is that
there's something to be said for maturity in a codebase.
Ease of use:
No significant difference, propaganda to the contrary. Many Linux
distributions tend to include a variety of optional admin tools for
bonehead types, of doutful utility.
Multiple platform support:
FreeBSD: Having x86 and Alpha solidly covered, with PPC and UltraSPARC
on their way, is no mean feat. Besides, there's NetBSD, whose
ports are reliably fully-functional, which not all Linux ones are.
Linux: Pretty much every possible architecture, to one degree or
another.
Publicity/mindshare difference:
Hey, it's unfair and infuriating, OK? And yes, the BSD daemon is a much
cooler mascot.
Filesize limit:
FreeBSD: very large files supported?
Linux: On x86, max filesize is 2GB. (Going away with glibc2.2.)
From: Ignatios Souvatzis ignatios@theory.cs.uni-bonn.de
Newsgroups: alt.humor.best-of-usenet
Subject: [comp.unix.advocacy] Any good comparison of
Linux/FreeBSD/NetBSD/OpenBSD/Hurd?
Followup-To: alt.humor.best-of-usenet.d
Date: 20 Jan 1998 09:17:03 -0700
BSD was designed by the government to be a really good OS,
because AT&T
can't program worth a darn.
Jordan Hubbard pointed out the differences between them, but it's often
just a matter of style, a preference for taste:
Linux is Kaustkian socialist;
Hurd is Menshevik;
FreeBSD is Trotskyist;
OpenBSD is Leninist;
NetBSD is Maoist.
Hope this helps.
From: Orlando Andico orly@mozcom.com
To: plug@lists.q-linux.com
Subject: Re: [plug] [OT] Your Thoughts on OpenBSD
Date: Sat, 23 Mar 2002 19:59:47 +0800 (PHT)
[snip]
On Sat, 23 Mar 2002, Michael Balcos wrote:
..
> FreeBSD, for instance, is good for general TCP/IP purposes.
NetBSD is
> for high security networking. I only know that OpenBSD
exists, and I
> think it is meant for developing software solutions(not sure
though).
No. FreeBSD goes for maximum performance and stability on x86.
OpenBSD is for paranoiac security.
NetBSD tries to be as portable as possible -- you can run it
on a very
wide variety of machines.
..
> BSDs provide considerable better performance than Linux,
Wow. And where did you get this amazing fact?
The truth is, most people who've actually TESTED the two show
that Linux
with a 2.4 kernel is just as fast or even faster than FreeBSD
4/5.
(Reference: a series of articles by Moshe Bar in Byte Magazine.)
The
other BSDs lag FreeBSD in performance (e.g., OpenBSD isn't even
SMP
capable).
Linux has about "a one year head start" on FreeBSD in the area
of SMP
(quoting a FreeBSD kernel developer -- interview in KernelTrap)
-- one
area where your "..considerable better performance.." is DEAD
WRONG: put
Linux and FreeBSD on a quad-processor box and watch Linux run
rings
around FreeBSD.
Basically:
1) use NetBSD if you have exotic hardware and want a BSD Unix
2) use Linux if you have exotic hardware and want Linux
3) use FreeBSD if you can spec your X86 hardware, you run
fairly
standard apps (web server, email, etc..) and reliability/scaling
is your
number one goal -- FreeBSD has nowhere near the hardware support
of
Linux
4) use OpenBSD if you must have absolutely the best security:
but
prepare to be using old versions of everything
5) use Linux if you need something -- e.g. Oracle 8i/9i --
which is
unavailable on the other platforms
Basically what it means is, for most tasks I find Linux to be
the best
fit. Sure, it doesn't have "years behind it" -- but FreeBSD for
example
is not demonstrably faster; NetBSD is basically a curiosity,
besides,
you can run Linux on everything from iPAQ to mainframe, which you
CANNOT
say for NetBSD; and OpenBSD is for Theo and his zealots.
For desktop, the killer factor is drivers. And Linux leaves
all the
other X86 Unixes behind by a mile.
--
Orlando Andico orly@mozcom.com
Mosaic Communications, Inc.