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.
..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.
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
Current versions of BSD use GCC. However, BSD was originally developed using another compiler (derived from Steve Johnson's PCC) and if someone wanted to spend the time, one of the BSDs could be moved to another compiler today. However, zealotry aside, there is no reason to do so at this point; The BSDs use GCC because it is the best free compiler available for the job. But the fact that BSD was already fairly mature before it started using any GNU software distinguished it from Linux, which was developed almost from the beginning with GCC and other GNU tools.
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.