- ThinkBlog - http://thinkblog.org -

Linux v. BSD: My Take

Posted By Michael On 30th June 2005 @ 15:11 In technology &c., Linux | No Comments

In the world of computing, there are certain key disagreements over form and function that are bound to erupt into highly polarized debates (often degenerating into flame wars). These “holy war” kinds of questions, argued from both sides by people with very strong opinions and, often, a cogent rationale backing them, serve as the basis for line-drawing between dichotomous camps. There are two prime examples of this that have entered into the vernacular of the computing cognoscente: [2] Emacs [3] versus [4] vi, and Linux versus BSD. I’ll be considering the latter.

It has to be said, the most widely appealed-to reason for [5] BSD over Linux is, simply put, [6] Ceren Ercen, who can be found at most major conventions where BSD has a booth, sporting a full-body, red latex suit replete with horns and a tail in deference to Beastie, the official BSD mascot. Well, so much for the fetishistic advantages of Linux; on to the real issue.

First, a bit of history. Any version of BSD you will find today, as well as the Linux kernel, hail back to the original AT&T Bell Labs UNIX operating system developed in the late 1960s by Ken Thompson and Dennis Ritchie. BSD, which stands for “Berkeley Software Distribution,” was a set of packages developed for UNIX, but eventually evolved into its own operating system that had the look and feel of UNIX, as well as its functions, but without any of the original copyrighted code (hence, these days, you won’t see “BSD Unix” on any manuals, because BSD can’t legally use the UNIX name). On the other side of the coin, in August of 1991, the young Linus Torvalds decided to design his own kernel that was even better than Minix, a UNIX-esque (”POSIX-compliant”) operating system. He worked for three years until the release of kernel 1.0, and Linux was born. For a much more thoroughgoing article on BSD, check out “[7] BSD For Linux Users,” by Matthew Fuller.

It will come as no surprise to my regular ThinkBlog readers that my reasons for using Linux over BSD are primarily ideological. I got my feet wet in DOS in 1987, then Windows 3.11, and when Windows 95 came out, I inherited the family computer (a Pentium 75 overclocked from-the-factory at 90MHz—CompuAdd is now out of business, go figure) and began to enter the world of underground computing. The more I learned about Internet culture, the more I wanted to become involved, and the more interested I became in programming. Gradually, in my copious research into hacking and phreaking, I was exposed to an enormous amount of literature (I use the term loosely) on Linux and its potential, its beginnings, &c. It became clear to me that if I intended (as I did, at that time) to be an expert C++ programmer and to be a computer science major, I needed to get my hands on Linux, install it, and learn the ropes, hands-on. I ordered Debian 2.0 from [8] CheapBytes for $0.99, and I was in business.

Sort of. There were so many sleepless nights foreshadowing what was to come, trying to figure out what I was doing in this brand-new operating system—formatting, installing, reformatting, learning; repeat. I became thoroughly enamored with the Linux way of doing things, by learning it in a very personal way; as soon as I learned one thing, it enabled me to learn more, and [9] to ask more intelligent questions. Keeping that in mind, it’s also worth noting that I was really never exposed to BSD. Every hacker whom I thought worthy of emulation talked so highly (and voluminously) about Linux, I saw the options as being limited, on an x86 machine, to Windows (evil) or Linux (underdog dragon-slayer).

I still use Linux for ideological reasons, but now much more practical ones as well. There are certain key differences between Linux and BSD that make the former more favorable to me. For one, BSD is a full operating system of itself, having a kernel and all the essential apps you need to run a machine. They’re all designed by the same group of people. Linux is, technically, just a kernel. That can be misleading, though, because there are fully [10] 361 Linux distributions, each one of which pulls the operating system base together with end-user applications to form a complete system. This is why, while there are several BSD versions, each focusing on a different issue (FreeBSD—user-friendliness, NetBSD—hardware compatibility, OpenBSD—security), literally anyone can build a Linux distribution by pulling together a system of programs (each crafted by separate teams or individuals) and a way to update them.

I like the model of Linux because it allows me to make all the modifications. BSD seems, to me, to be like buying the frame, engine, interior, &c. from the car company and then painting it and tweaking it out or adding NOS as you wish. Linux, on the other hand, gives you the schematics for an engine of whatever power you wish, tells you how to build it, and gives you all the parts necessary to make a beast. (Part of the appeal of pre-packaged commercial distributions, like Red Hat, SUSE, MandrakeSoft, and so on, is that they offer pre-built metaphorical vehicles that are much less modifiable to those not in the know—which prevents a situation like where you “know just enough Greek to be dangerous.” Am I being convoluted enough for you? :) )

So, Why Fedora?
So, that’s what I prefer about Linux over BSD—there are other commonly cited considerations, like hardware compatibility and user-friendliness, to which I cannot personally speak, since I’ve never run BSD on a home machine or in an environment where I could “play” and get to know the system. But I prefer Fedora for a more specific reason.

Namely, cutting-edge, dynamic development in a community environment. I admire Debian for being so flawlessly stable and well-integrated—in a server environment, I would go with Debian 100% of the time—but when it comes to my home system, I admire it like I admire the kind, pipe-smoking, wizened old man who has the wit and wisdom to handle almost any problem and will never let you down—but who has a hard time handling some of the more newfangled gadgets these days. On my home system, I like to be involved in a sense of community—if something goes wrong, or if I push my system to the limits and it fails, I report on what happened in an effort to make the OS better. I enjoy compiling my own programs with optimizations in a way that Debian and some other distributions would see as a threat to stability. Linux can do uptimes of many months (anecdotally years, but YMMV), but if I’m not running a web or other ‘net server, I don’t mind if I have to reboot every few weeks because of this or that.

That said, specifically from the comment that sparked this post, there are two things addressed right off: (1) Red Hat 5.2 was less than stellar, and (2) RPM-based systems can be clunky, viz. Mandrake and SUSE.

I’ve never used Mandrake; I got half-way through the install and realized that it was geared toward the newer user. I installed SUSE on a couple of machines for a company last year, and it’s absolutely solid in a work environment (Novell now owns SUSE, so the fibers of [e.g., Netware] protocol interconnectivity have become much more tightly knit), but not great for the home user.

Frankly, the good Red Hat versions were 6.0, 7.3, and 9.0 (IMHO). Fedora, based on Red Hat, has a much more robust packaging system (RPM) than RHL 5.2 had. If you haven’t visited Linux since then, give it another shot with either Fedora or Ubuntu (based on Debian)—you’ll be pleasantly surprised. For the ultimate in cutting edge, try Gentoo, but be prepared for an enormous learning curve and time investment—with equal payoff, it must be said, in the reward of a perfectly hand-tweaked OS.

I hope that clears up some things, and that this was interesting. Leave a comment if you’re so inclined! :)

Linux v. BSD: My Take

Posted By Michael On 30th June 2005 @ 15:11 In technology &c., Linux | No Comments

In the world of computing, there are certain key disagreements over form and function that are bound to erupt into highly polarized debates (often degenerating into flame wars). These “holy war” kinds of questions, argued from both sides by people with very strong opinions and, often, a cogent rationale backing them, serve as the basis for line-drawing between dichotomous camps. There are two prime examples of this that have entered into the vernacular of the computing cognoscente: [12] Emacs [13] versus [14] vi, and Linux versus BSD. I’ll be considering the latter.

It has to be said, the most widely appealed-to reason for [15] BSD over Linux is, simply put, [16] Ceren Ercen, who can be found at most major conventions where BSD has a booth, sporting a full-body, red latex suit replete with horns and a tail in deference to Beastie, the official BSD mascot. Well, so much for the fetishistic advantages of Linux; on to the real issue.

First, a bit of history. Any version of BSD you will find today, as well as the Linux kernel, hail back to the original AT&T Bell Labs UNIX operating system developed in the late 1960s by Ken Thompson and Dennis Ritchie. BSD, which stands for “Berkeley Software Distribution,” was a set of packages developed for UNIX, but eventually evolved into its own operating system that had the look and feel of UNIX, as well as its functions, but without any of the original copyrighted code (hence, these days, you won’t see “BSD Unix” on any manuals, because BSD can’t legally use the UNIX name). On the other side of the coin, in August of 1991, the young Linus Torvalds decided to design his own kernel that was even better than Minix, a UNIX-esque (”POSIX-compliant”) operating system. He worked for three years until the release of kernel 1.0, and Linux was born. For a much more thoroughgoing article on BSD, check out “[17] BSD For Linux Users,” by Matthew Fuller.

It will come as no surprise to my regular ThinkBlog readers that my reasons for using Linux over BSD are primarily ideological. I got my feet wet in DOS in 1987, then Windows 3.11, and when Windows 95 came out, I inherited the family computer (a Pentium 75 overclocked from-the-factory at 90MHz—CompuAdd is now out of business, go figure) and began to enter the world of underground computing. The more I learned about Internet culture, the more I wanted to become involved, and the more interested I became in programming. Gradually, in my copious research into hacking and phreaking, I was exposed to an enormous amount of literature (I use the term loosely) on Linux and its potential, its beginnings, &c. It became clear to me that if I intended (as I did, at that time) to be an expert C++ programmer and to be a computer science major, I needed to get my hands on Linux, install it, and learn the ropes, hands-on. I ordered Debian 2.0 from [18] CheapBytes for $0.99, and I was in business.

Sort of. There were so many sleepless nights foreshadowing what was to come, trying to figure out what I was doing in this brand-new operating system—formatting, installing, reformatting, learning; repeat. I became thoroughly enamored with the Linux way of doing things, by learning it in a very personal way; as soon as I learned one thing, it enabled me to learn more, and [19] to ask more intelligent questions. Keeping that in mind, it’s also worth noting that I was really never exposed to BSD. Every hacker whom I thought worthy of emulation talked so highly (and voluminously) about Linux, I saw the options as being limited, on an x86 machine, to Windows (evil) or Linux (underdog dragon-slayer).

I still use Linux for ideological reasons, but now much more practical ones as well. There are certain key differences between Linux and BSD that make the former more favorable to me. For one, BSD is a full operating system of itself, having a kernel and all the essential apps you need to run a machine. They’re all designed by the same group of people. Linux is, technically, just a kernel. That can be misleading, though, because there are fully [20] 361 Linux distributions, each one of which pulls the operating system base together with end-user applications to form a complete system. This is why, while there are several BSD versions, each focusing on a different issue (FreeBSD—user-friendliness, NetBSD—hardware compatibility, OpenBSD—security), literally anyone can build a Linux distribution by pulling together a system of programs (each crafted by separate teams or individuals) and a way to update them.

I like the model of Linux because it allows me to make all the modifications. BSD seems, to me, to be like buying the frame, engine, interior, &c. from the car company and then painting it and tweaking it out or adding NOS as you wish. Linux, on the other hand, gives you the schematics for an engine of whatever power you wish, tells you how to build it, and gives you all the parts necessary to make a beast. (Part of the appeal of pre-packaged commercial distributions, like Red Hat, SUSE, MandrakeSoft, and so on, is that they offer pre-built metaphorical vehicles that are much less modifiable to those not in the know—which prevents a situation like where you “know just enough Greek to be dangerous.” Am I being convoluted enough for you? :) )

So, Why Fedora?
So, that’s what I prefer about Linux over BSD—there are other commonly cited considerations, like hardware compatibility and user-friendliness, to which I cannot personally speak, since I’ve never run BSD on a home machine or in an environment where I could “play” and get to know the system. But I prefer Fedora for a more specific reason.

Namely, cutting-edge, dynamic development in a community environment. I admire Debian for being so flawlessly stable and well-integrated—in a server environment, I would go with Debian 100% of the time—but when it comes to my home system, I admire it like I admire the kind, pipe-smoking, wizened old man who has the wit and wisdom to handle almost any problem and will never let you down—but who has a hard time handling some of the more newfangled gadgets these days. On my home system, I like to be involved in a sense of community—if something goes wrong, or if I push my system to the limits and it fails, I report on what happened in an effort to make the OS better. I enjoy compiling my own programs with optimizations in a way that Debian and some other distributions would see as a threat to stability. Linux can do uptimes of many months (anecdotally years, but YMMV), but if I’m not running a web or other ‘net server, I don’t mind if I have to reboot every few weeks because of this or that.

That said, specifically from the comment that sparked this post, there are two things addressed right off: (1) Red Hat 5.2 was less than stellar, and (2) RPM-based systems can be clunky, viz. Mandrake and SUSE.

I’ve never used Mandrake; I got half-way through the install and realized that it was geared toward the newer user. I installed SUSE on a couple of machines for a company last year, and it’s absolutely solid in a work environment (Novell now owns SUSE, so the fibers of [e.g., Netware] protocol interconnectivity have become much more tightly knit), but not great for the home user.

Frankly, the good Red Hat versions were 6.0, 7.3, and 9.0 (IMHO). Fedora, based on Red Hat, has a much more robust packaging system (RPM) than RHL 5.2 had. If you haven’t visited Linux since then, give it another shot with either Fedora or Ubuntu (based on Debian)—you’ll be pleasantly surprised. For the ultimate in cutting edge, try Gentoo, but be prepared for an enormous learning curve and time investment—with equal payoff, it must be said, in the reward of a perfectly hand-tweaked OS.

I hope that clears up some things, and that this was interesting. Leave a comment if you’re so inclined! :)


Article printed from ThinkBlog: http://thinkblog.org

URL to article: http://thinkblog.org/2005/06/30/linux_v_bsd_my_take/

URLs in this post:
[1] http://thinkblog.org/index.php/2005/06/13/fedora_core_4_released#c4293: http://thinkblog.org/index.php/2005/06/13/fedora_core_4_released#c4293
[2] Emacs: http://www.d.umn.edu/~tcolburn/emacs/emacs-vs-vi.html
[3] versus: http://www.google.com/search?client=googlet&q=Emacs%20versus%20Vi
[4] vi: http://www.newsforge.com/article.pl?sid=01/12/04/0326236
[5] BSD over Linux: http://www.xs4all.nl/~marcone/bsdversuslinux.html
[6] Ceren Ercen: http://wigen.net/data/bsdmascots/ceren/
[7] BSD For Linux Users: http://www.over-yonder.net/~fullermd/rants/bsd4linux/bsd4linux1.php
[8] CheapBytes: http://www.cheapbytes.com/
[9] to ask more intelligent questions: http://www.catb.org/~esr/faqs/smart-questions.html
[10] 361 Linux distributions: http://www.linux.org/dist/list.html
[11] http://thinkblog.org/index.php/2005/06/13/fedora_core_4_released#c4293: http://thinkblog.org/index.php/2005/06/13/fedora_core_4_released#c4293
[12] Emacs: http://www.d.umn.edu/~tcolburn/emacs/emacs-vs-vi.html
[13] versus: http://www.google.com/search?client=googlet&q=Emacs%20versus%20Vi
[14] vi: http://www.newsforge.com/article.pl?sid=01/12/04/0326236
[15] BSD over Linux: http://www.xs4all.nl/~marcone/bsdversuslinux.html
[16] Ceren Ercen: http://wigen.net/data/bsdmascots/ceren/
[17] BSD For Linux Users: http://www.over-yonder.net/~fullermd/rants/bsd4linux/bsd4linux1.php
[18] CheapBytes: http://www.cheapbytes.com/
[19] to ask more intelligent questions: http://www.catb.org/~esr/faqs/smart-questions.html
[20] 361 Linux distributions: http://www.linux.org/dist/list.html

Click here to print.