BSD vs Linux – Main Differences Explained

bsdhistorylinux

I am a long time linux user and have recently become interested in playing about with BSD-based operating systems. What are the differences between linux and BSD-based systems. I am interested in learning about the functional, practical and also historical differences.

Best Answer

It is very tempting to want to define the differences between BSD and Linux. Just like Gilles said in the comments, it is not an easy task since they're so numerous and disparate. Very often, the differences won't even be noticeable at the user's level; everything has been worked out so that the OS behaves as you would expect a Unix to.

Moreover multiple distributions are available for each. No matter what you say about Linux/BSD generally, you'll often find a distribution that contradicts it.

The following is a list of comparisons I found scattered over the web.


  • Here on U&L, a user has defined the following differences:

Big differences are (in my opinion of course):

  • Userland (Linux uses GNU while BSD uses BSD)
  • Integration (Linux is a collection of different efforts, BSD is much more unified at the core)
  • Packaging (Linux typically manages installed software in binary packages - BSD typically manages a "ports" tree that you use to build software from sources)

Notice the word typically in his last point. Some Linux distributions will manage source code and conversely some BSDs will manage binary packages.


  • Matthew D. Fuller has a lengthy comparison between BSDs and Linux you may want to look into. The article will compare both on Design level, Technical differences, Philosophies and finally address common Myths. Here are some excerpts:

BSD is what you get when a bunch of Unix hackers sit down to try to port a Unix system to the PC. Linux is what you get when a bunch of PC hackers sit down and try to write a Unix system for the PC.

--

BSD is designed. Linux is grown. Perhaps that's the only succinct way to describe it, and possibly the most correct.


Key differences:

  1. FreeBSD full os. Linux is kernel. Linux distribution is os (100+ majro disrtos).
  2. FreeBSD everything comes from a single source. Linux is like mix of lot of stuff.
  3. BSD License vs GPL
  4. FreeBSD Installer
  5. BSD commands (ls file -l will not work) vs GPL command (ls file -l will work)
  6. FreeBSD better and updated man pages.
  7. BSD rc.d style booting vs Linux SysV style init.d booting

Here are some articles describing the history of each:

I will give one "solid" opinion: If I had to choose one system that would act as my router, DNS, ftp server, e-mail gateway, firewall, web server, proxy server, etc., that system would run a BSD-based operating system. If I had to choose one system that would act as my desktop workstation, run X, all the application I like, etc., that system would run Linux. HOWEVER, I would have no problem running Linux as my work horse server or running the BSD-based system on my desktop.

Further reading