Overview of the BSDs
zeekiorage writes "A good informative article about the various BSD OSs, their legacy, philosophy and importance on the ExtremeTech web site. Excerpt from the article: 'Nowadays, the term 'The BSDs' refers to the family of operating systems which were derived, to a greater or lesser extent, from BSD. The five best known BSDs are FreeBSD, NetBSD, OpenBSD, BSD/OS, and Darwin (which serves as the foundation for Apple's MacOS X). But virtually all modern operating systems -- from Windows to BeOS to Linux -- rely on crucial BSD code to run.'"
I've always wondered why Linux gets the mainstream press and BSD is not well known. Is it the licence???
While i use OpenBSD 3.1 on my server at home, and love their security standpoint, i couldn't help but correct the article. It mentions that there's been one hole in 6 years, what it doesn't say, is that it is only the default install that has that track record, not the ports database or any of the apps people compile themselves. It's an important distinction to make.
What is BSD? If you ask a typical computer "expert," he or she is likely to reply
Next Page >
(incorrectly!) that it is "an operating system." The correct answer, however, is more complex than that.
Next Page >
BSD is -- among other things -- a culture, a philosophy, and a growing collection of software, most (though not all) of which is available for free and with source code.
Next Page >
Here are the origins of BSD and the operating systems it has spawned.
Next Page >
BSD stands for "Berkeley Software Distribution," the name first given to the University of California at Berkeley's own toolkit of enhancements for the UNIX operating system.
OpenBSD's attention to code audits also bodes well for overall lack of bugs; and its ability to have security features such as encryption of even the swap space makes it useful for paranoid executives or the government; and it's, as the article admits, great for firewalls because of that.
This article was good for bringing *BSD onto the radar screen of people who otherwise wouldn't have heard of it, but if you read it you give the impression that nobody runs the other BSDs; something that the infamous AC BSD trolls try to accuse, albeit more crudely, all of the BSDs of being.
He is neither. He is an astute, open minded thinker that CAN see the forest for the trees. By being forced to give out the source AND allow anyone that receives the source to distribute it any way they want. You absolutely "effectively" give away the code for free.
And BSD truly is free in comparison. You are FREE to create both Open and Closed source from BSD code. That is freedom.
You seem to indicate that either or possibly both of these are false. Care to explain which, and how, rather than postulating on a person's motives?
Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
The author has many issues with the GPL. Go to www.google.com and search the following:
"brett glass" gpl
To see what he writes. He has stated many times that it is an "unethical" license, and that it is a secret plan (or at least a purposefully obfuscated plan) to "destroy programmers' livelihoods." He also likes to split hairs down to the molecular level, and I don't advise the faint of heart using a metaphor to explain a position with which he disagrees, he'll start arguing about the metaphor.
Now, I am a sick person for enjoying ad nauseum newsgroup debates, but search google with this:
"brett glass" lynx GPL
and skim the message thread. I found it hilarious. Richard Stallman even chimes in at one point, and the author accuses him of using the GPL to nurse a 30 year old grudge against Symbolics.
Another fun time can be had by searching FreeBSD newsgroup archives where the author upbraids the core development team for a) refusing to supply features he wants, or b) deciding to stop supporting old versions of FreeBSD due to resource constraints (there is an amusing a.out vs. ELF thread somewhere in one of the archives).
I may be wrong, but I think that there is something he does not get about the word "free."
Solaris is one of the best operating systems around. It has a strong TCP/IP stack with hundreds of options you can tune and an excelent kernel design... most of it's internals came from BSD.
Don't let the title fool you. This article was great. There was, however, one clearly uninformed statement. The GNU GPL does not prevent you from charging other people software based off of GPL'ed code; it mandates that the source code for any modified or improved versions be distributed either free or at no greater than the net cost of distribution.
/. said earlier "trademarks exist to protect the consumer". Yea, my ass they do. Its time we stopped letting corporations divide the language between them.
Also, nice to know that the judges in our courts are complete morons, as they don't realize that among people in the computer world, UNIX is a generic term.
We think and speak of BSD, IRIX, AIX, Solaris, Linux etc, as being UNIX OPERATING SYSTEMS. Even some OS' which shouldn't be called UNIX are called UNIX (i.e., Plan9).
Someone on
social sciences can never use experience to verify their statemen
..has recently been released, this is the massively updated layer beneath OS X 10.2 (aka jaguar aka jagwire). At the moment only the PPC binary installer is available, the x86 version is apparently on it's way, until then there's always the older 1.4.1 x86 version. IMHO it's good that Apple are keeping both the source and binary Darwin distribs up to date. A Whole bunch of the engineers at apple are heavily committed to open-sourcing (and not just those you'd expect like Jordan Hubbard). Using the Darwin Core and something like Fink or DarwinPorts you can end up with a nice and 'free' OS with Xfree86, KDE et al.
Linux does not "rely on crucial BSD code to run." The Linux IP stack was a clean re-write (in part because at the time, the "free" BSD license was incompatible with the GNU GPL). There are some drivers that are developed cooperatively with FreeBSD and Linux (typically dual licensed under the BSD license and the GPL). AFAIK, the only code in Linux that originated in classic BSD is in a couple of the PPP compression modules, but that's hardly crucial code that is relied upon for operation.
I only have to download one 1.4 MB floppy disk image file to install Red Hat Linux from the Internet. Does that mean RHL is twice as good? Not really (although it is ;-) ).
The article's point is that the a company can't use GPL'd code in their proprietary products and then charge licensing fees for the use of that software. Since most of the commercial software industry makes its moeny on licensing fees, the article argues that this essentially taking their incentive away from improving the code.
And with that point I disagree. Very little of the software used today is licensed on a large scale, but those that are (Solaris, Windows, MS Office) are commonly known. The author here is seeing a few trees here and callign them the forrest.
Instead most software is developed inhouse for inhouse applications (web apps, LOB apps, etc.) and these pieces are not sold on the open market. So in many areas, I believe that there is a financial incentive to take GPL code and improve it, and like with the BSD license, return that improved code to the community (if it is community owned, then the community can support it). The incentive here is not the gain in revenue from licensing fees but rather the cost savings by large-scale group-development, where no one entity is paying for every developer hour.
LedgerSMB: Open source Accounting/ERP
First, I've used Unix since 1977 and BSD since about 1979 (whenever V3.0 BSD came out.)
Why is Linux more popular than BSD?
I think mostly because a useable, free distribution of linux was available first. Although a lot of the BSD code was freely available there was no real distribution you could load and boot for a few crucial years other than BSDi which cost about $1000 (and was very good, but you had to be willing to part with $1000.)
So, simply: A loadable, bootable, useable Linux was available for free to the general public before the same was available for BSD.
Some might nitpick about the availability of Jolitz' 386BSD but it was at best a very limited distribution and supported only some specific cpu/bios/disk/etc setups. From almost the start Linux used the BIOS drivers (ok I'm not a x86 internals weenie so might have this worded slightly wrong) which meant you tended to just get lucky if you tried Linux on your off-beat hardware, it'd usually just work.
Remember also that in the early/mid 90's x86's were much less standardized and you tended to do your own system integration taking a basic system with a motherboard and often adding a video card, a disk card, a disk, a sound card, etc. and all that had to be supported by OS drivers of some sort. Linux was better at that then BSD back then.
HISTORY:
What's seriously missing from the article are the specific reasons why BSD gained such fast popularity:
In the 70's the most popular system for hacking around on was the DEC (Digital Equipment Corp.) PDP-11. It was relatively cheap for its day (usually under $100K!) and expandable and mostly maintainable by the sysadmins.
Unix from Bell Labs and very early BSDs ran on the PDP-11. But it was limited to 16-bits, many systems maxed out with 64KB (yes KB) of memory! Fancier systems could extend that to 128KB, and their rolls-royce model, the PDP-11/70, could handle 2MB but anything beyond 64KB was mostly used like a fast swap disk, you'd load programs and the OS would switch which 64KB (or for some 128KB, 64KB for the program, 64KB for its data) it was running right now.
Then, around 1978, DEC came out with the VAX (Virtual Address eXtension, of the PDP-11, tho that's more of a historical artifact of a name.)
The VAX had 32-bits of architecture and could support, well, over 1GB of physical and 4GB of virtual memory, at least in theory tho in those days 16MB of physical was huge super-computer stuff.
But the virtual memory system was very complicated and DEC released it only with their own proprietary VMS O/S which was kind of like CP/M on steroids (MS/DOS was based on CP/M), with a few additions like the VM support.
There were some early releases of Unix for the Vax (e.g., System/32 from AT&T) but they didn't support the VM hardware and so were very limited. VAXes cost around $500K, you didn't really want to spend half a million and then not be able to use the main point of the hardware!
Then Bill Joy (BSD, later one of the Sun founders) in probably one of the greatest virtuoso performances in hacking history added VM support to BSD and a VAX version was released.
Suddenly every University and research lab had to have a Vax running BSD, particularly by their 4.1 release. 4.2bsd added full TCP/IP support and a much more robust file system written by Kirk McKusick (previously a crash would often corrupt the file system and there was no real fsck so sometimes you'd have to use a kind of interactive file system debugger to fix a partition manually,
or just try to recreate it from backups,
ugh, you don't know the horror.)
DEC came out with the somewhat less expensive VAX 11/750 and even a 730 model (which really, really
sucked, but better than nothing!) and more and more people at universities & research facilities bought them to run BSD/Unix which, particularly with ethernet and maybe even an Arpanet connection, was just grand, heaven on earth.
DEC fought tooth and nail against BSD/Unix (any Unix) preferring to push their proprietary VMS OS even if it meant shoving down people's throats (e.g., they loved going to the suits and telling them that if their people run Unix on their $500K VAXes DEC might refuse to fix the hardware if it breaks...FUD.)
Eventually DEC relented and came out with their own version of Unix for the Vax based mostly on BSD and called it Ultrix.
But it was too little, too late, by then Sun was eating their lunch with much better Unix on machines that mostly cost well under $100K even in their fancy incarnations. And bitmapped workstations (Sun3/50) could be had for around $5K with disk (or you could run them diskless for less.)
Sun ran a pretty pure BSD/Unix and then in the late 80's merged it with AT&T's System V (as in five, not vee, there was a I, III, and probably some numbers in between not publically released.)
AT&T completely fell on its face with Unix coming out with the doomed 3B series of AT&T computers (proprietary CPU) running their SYSV Unix as well as the rebadged Convergent PC7300 which was kind of cool because to my knowledge it's the only machine that had a label on it "Unix PC".
A long, long time ago, in the State of Washington, a certain company that produces a lot of software needed a TCP/IP stack. Seeing many smaller companies producing TCP/IP stacks, they decided to buy one.
But when they bought the company out and started examining the code, they found that it was a Regents of Berkeley code. Since they did not want to advertise the BSD operating system, they instead went ahead and wrote a new stack using the knowledge of the old, BSD-based stack as a starting point. They also ported some BSD-derived utilities, which do include the copyright string, to the new Winsock TCP/IP stack.
But Microsoft never, ever shipped with a non-MS TCP/IP stack. They wrote their own code for Win95 and WinNT because they needed it, and they did not want to advertise the competition.
Check out this page for more information on this subject.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
But what can we expect when we do plenty of BSD-bashing and run plenty of ridiculous "BSD is dying" articles?
This intense rivalry between the BSD and Linux communities is something that baffles me, since both basically want the same goals -- freedom for users, excellent software -- but go about doing it in different ways.
From my reasoning, people who GPL their programs are extremely worried about the possibility of the "public" project dying off, and a corporate project which doesn't care about freedom taking over; they also want to draw programs out into the open, hence the requirement that any modifications or programs based on a GPL'ed program be GPL'ed. People who use the BSD license just want to let others use their code for whatever purpose, so long as the original code is revealed; they obviously prefer the BSD license, and hope that others will be convinced to license their BSD-license-based software under teh BSD license, but do not force the issue, as does the GPL. The GPL is a slightly more aggressive approach.
Both camps are also concerned with the excellence of their products, though that concern manifests itself in different ways. While OpenBSD and NetBSD tend to focus on security and portability, respectively (and both of them on stablity), Linux' tend to focus more on performance, features, and ease of use. Of course, you can't speak for all of the Linux' as one. Debian and Slackware have a pretty rounded effort regarding security, stability, performance, and features, despite being somewhat difficult in ease of use. Alternatively, distributions like Mandrake and Corel tend to focus hardly on ease of use, while RedHat and Suse focus on ease of use and stability.
There is no absolute right or wrong. Different things are better for different users, depending on their technical needs and their politics.
Ultimately, all OSS / FS communities benefit from one another, particularly Linux and BSD, which have benefitted greatly from eachother. Linux has gained much in terms of hard technical details from BSD; conversely, BSD has benefitted from Linux being in the spotlight, as there are more applications for Linux, which means more apps that may run under BSD.
For me, the GPL and Debian are my license and OS of choice. I choose Linux over BSD because I'm a personal user and I need driver support for things like graphics cards from Nvidia and ATI; Debian because, among the Linux', it does tend to be the most stable and steadfast, with excellent quality-control.
For other people, something else is best. For those that love having absolute control, Slackware is best. For those who just want something that's overall pretty well rounded, RedHat, Caldera, Suse, etc are the way to go. For those who want something that focuses most on ease of use, Mandrake or Corel are good options. Other people will want a BSD OS. For those for whom security is a big issue, OpenBSD is the one of choice; for the person who needs something portable, NetBSD; for the all-around power-user, FreeBSD. Of course, that's just my opinion.
social sciences can never use experience to verify their statemen
.. towards BSD and against Linux.
The truth is that BSD vs. Linux matters very little. They are both free software, and can mostly run the same apps.
What matters are the apps. As long as you have Apache, Postgresql, openssl etc. it matters little wether or not the core is Linux or BSD.
When you have KDE, GNOME and bash it matters very little that the core is BSD instead of Linux or vica versa.
Based on this, people should be able to choose the OS on purely technical reasons. Linux is better for some things, BSD is better for others.
Frankly I don't care much for the whole BSD vs. Linux "war". If one of them "takes over the world" I'll be happy.
It's already been copied; rc_ng is now the default for -CURRENT.
"MINIX is a microkernel-based system. The file system and memory management are separate processes, running outside the kernel. The I/O drivers are also separate processes (in the kernel, but only because the brain-dead nature of the Intel CPUs makes that difficult to do otherwise)."
The exact words of Andrew Tanenbaum.....
Advanced users are users too!
Ports are environment and set of patches for clean compiling and installation on a system. Packages are already compiled ports. Today's FreeBSD ports' count is 7523. You just "make install" it. It automatically download source, patch it, compile and install. Packages could be installed from the Internet. Fire up "pkg_add -r XXXX" and XXXX package will be downloaded and installed.
The ports list (FreeBSD) is here http://www.freebsd.org/ports
Almost everything written for Unix or Linux which comes with source runs recompiled on BSDs. Allmost everything compiled on Linux could be run in emulator (Oracle for example, or commercial games ). And there is Wine for it as well.
As for NVidia cards there's support up to 2D and NVidia going to release native 3D drivers for FreeBSD.
USB stack is same on BSD's and support is good. Take a look at supported hardware on recent releases - I suppose you interested in Intel platform ;)3 86.html
http://www.freebsd.org/releases/4.6.2R/hardware-i
http://www.openbsd.org/i386.html
http://www.netbsd.org/Ports/i386/hardware.html
I'd suggest you to try FreeBSD, as more polished and more i386-oriented. OpenBSD and NetBSD have other things in focus.