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.
Now, it's been a while since I've read the GPL, but last time I checked, it's possible to charge whatever you want for GPL'ed software. But you have to give the source away for free. The use of the word 'effective' in this passage sort of skirts the issue, but the author then goes on to state that the BSDL is 'truly free' b/c it allows corporations to charge money for code developed with BSD-based source.
Is the author an ex-MS employee or just confused?
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.
But thats why its a semi-valid argument (even if they are wayyyy too anal about it) .. BSD _doesn't_ come with GNU tools. You can get them if you like, but (most of? none of?) the stock tools that make up the BSD line of OSes arn't under the GPL as far as I know.
"Old man yells at systemd"
The Morris Internet worm that virtually shutdown the Internet attacked SunOS, which is a BSD, and DEC VAX running 4 BSD.
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.
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.
The GPL is a source of contention.
MS doesn't have a problem with the BSD license, because it allows for incorporation into proprietary applications, like the TCPIP code in Windows.
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
This article was qualified as "informative"? True, it does give much factual information about the history of BSD, it does take quite an editorial stand... and the author calls Linux advocates dogmatic... talk about the pot calling the kettle black...
Other criticism:
1) Linux isn't an operating system... true... RMS is preaching as much... GNU/Linux is however an operating system...
2) "Proponents of Linux tend to take a 'revolutionary' stance, seeing their work as a war to compete with, and destroy, Microsoft and other commercial software vendors." This is a bit of an exaggeration combined with an oversimplification.
3) "only one security hole that would allow an intruder to break in from the Internet has been discovered in the past 6 years" I'm just guessing, but I'd think this only includes software as part of the BSD operating system, and not third party contributing software... Hell, the Slapper worm is a port of a BSD worm over to the GNU/Linux system...
4) "Unlike most other operating systems (including most distributions of Linux), FreeBSD is extremely easy to install directly via an Internet connection." Maybe if you go by raw numbers of Linux distros, but I've installed RedHat over the network for years...
I could go on, but I don't feel like it... I just wish the article could be more neutral and not bash every other operating system out there, including GNU/Linux...
-jag
http://starboard.flowtheory.net/
It's more than an operating system. It's a way of computing.
The old SunOS was based on BSD. Solaris is based on an SVR4 core, which is what made the transition so painful (different APIs for signal handling, etc.)
I do not fail; I succeed at finding out what does not work.
..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".
Do you shut your eyes when you drive through bad neighborhoods, too?
You don't know what you're missing.
-DDT
So long, michael. Don't let the door hit you...
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.
Redhat doesn't sell GPL software. It sells service, support, and shrink-wrapped boxes with manuals and CDs.
The more packaging, wrapping, manuals and glitz you take away from a Redhat box, the more and more the market price approaches that of a blank CD. Set up a stack of Redhat CDs, sans boxes, at the local fleamarket and see how much they're really worth.
A Government Is a Body of People, Usually Notably Ungoverned
Just wondering since all of the good desktop parts of OSX are proprietary, would you bother running Darwin if you can't use the OSX desktop.
Has anyone out there switched from FreeBSD, OpenBSD or NetBSD to Darwin? Do you think its better? Why etc.
If you wanna get rich, you know that payback is a bitch
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
Not all of them, but it does come with a number of them, not least of all the compiler
OTOH, every major distribution comes with pieces of BSD, too.
Cut that out, or I will ship you to Norilsk in a box.
.. 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.
Microsoft's very own SDK contains the Berkeley copyright notice in the following files: WINSOCK.H, WINSOCK2.H, and WS2API.H. Probably done for ease of porting. So why would MS care about the binary only stack if the header files that developers use mention Berkeley?
Around the same time, Linux surfaced. Based on the Minix kernel written by computer science professor Andrew Tannenbaum, and unencumbered by the spectre of a lawsuit, Linux began to gain momentum and became the best known freely redistributable UNIX-like operating system.
The kernel architecture of Minux and Linux are totally different.Minux like NT is based on a microkernel. Linux definetly isn't. Tanenbaum himself stated this during his famous Linux is obsolete rant.
No, but linux has this.
do not read this line twice.
Right, photoshopped girls, vs a real girl who is seen with actual people. You convinced me
Here is the difference.
If I get BSD code I can do pretty much whatever I want with it. Over time however commercial vendors are likely to create superior products to BSD licensed code and thus recreate a "closed source" situation. Conversely GPL code creates a community of developers which excludes closed source for profit developers.
So the real question is: 3 generations out do you want the closed source developers or the open source developers excluded?
http://cart.cheapbytes.com/cgi-bin/cart
Gah, I didn't catch that until you pointed it out. I remember that fool, he used to spam slashdot fairly often, he has a grudge on his shoulder the size of texas over the GPL. I was going to send the author of the story a nice note to correct his inaccurate statement on that subject, but in his case it's obviously not worth it - this guy made up his mind a long time ago and he's not about to let the facts confuse him *sigh* I really wonder about people like that.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
The author said that 'BSD' is not an operating system, but rather a type of operating system. Therefore the 'BSDs' (the collection of BSD-type operating systems) are operating systems. The author didn't make a contradiction.
gnusrc.tgz 55949 KB 09/11/02 18:51:00
That's not all GNU software. It's the optional but recommended GPLed software. I don't run NetBSD, but if it's anything like FreeBSD, it will include such non-GNU software as uucp, man, patch, and perl.
A Government Is a Body of People, Usually Notably Ungoverned
i confess i'd been curious and completely oblivious to BSD until this article (and i'd attempted research... all my searches were just too vague to really address the "linux vs. bsd" question, and the differences between the BSDs) - and my impression from the article, is thus:
;-p
if the oddly mixed world of free and open software were like some role-playing game...
linux would be the rather barbarous, anarchal tribes living in the wilderness. some of us would be religious war-chiefs (FSF/GNU), and others of us form tribes for the sole purpose of survival (the distros) making war over "Civilization" (Microsoft), in hopes of redefining it. the religious tribes seek enlightenment, to change the universe's consciousness to the greater good.
BSD is the more civilized, almost like Tolkien's elves, living off the OSS landscape with an higher academic purpose. they, unlike the linux tribes, live cooperatively with "Civilization", content in and of themselves to know that theirs is the glue binding the Universe.
-- i'm sure this sounds sarcastic, but i intend to be humourous.
as seems to be the case with many articles, this one completely ignored that not every (not-)Unix user *buys* or downloads a distribution. sometimes the best linux's are those we roll ourselves. in this fantasy, we Linux-From-Scratcher's would be rogues, living off the land ourselves and scorning cooperatives. (some of us rogues GNU-priests, others agnostic.)
are these non-existant among the BSDs? can you not "roll your own" BSD? (if you can, please tell me... i'm curious to try some BSD).
i think the author misunderstands (or is simply firmly against) the GPL. it's obvious by the success of distro's like RedHat that Stallmanesque Freedom does *not* dismiss profit (though RH is often under fire for *not* being Stallmanesque). my impression, then, is that BSD is not GNU-friendly - perhaps even antagonistic.
and it seems the author also misunderstands the distros... Caldera, SuSe, RedHat, i recall the author mentioning; businesses making profit, using whatever software is available. following the (apparent) BSD methods of development are Debian and (i'd argue) Slackware. how are these two distributions so radically different from BSD's development scheme?
thanks for posting the article! it finally answered some of my BSD questions (and created more questions) - it's good to know how the folks on the other side of the figurative open-source pond live.
btw, count me a GNU-layman rogue who trades freely among the tribes and collegiates.
GNU/Apache
GNU/Mozilla
GNU/Scrabble Brand Crossword Game
Hmmm - no.
I run Apache and Mozilla under Solaris, personally; BSD with its own libraries, and I believe you made up "Scrabble Brand Crossword Game".
Please go and learn something before you regret it in 10 years time when you're on the job market and this post can easilly be traced back to yourself.
Author, Shell Scripting : Expert Re
That would be BSOD :)
Advanced users are users too!
SVR4 added significant extensions to the data carried by signal handling, IPC, etc. when compared to SVR3. Useful concepts from the BSD family were used, as were a few from Xenix and SunOS.
The scheduling algorithms, memory management, configuration, and other features of SVR4 were sufficiently different that porting BSD code to the default APIs was a "challenging" project. Apps which used shared memory, semaphores, etc. required significant changes to run reliably.
The SVR4 environments I used (Sequent Dynix/PTX, Solaris, and another marginal player whose name I forget at the moment) each had BSD compatability libraries that would let you recompile your apps with minimal pain. I believe those compatability layers were largely vendor-specific rather than a generic feature of SVR4.
With Dynix/PTX, for example, you had a couple commands which let you switch between defaulting to BSD or SVR4 commands and libraries. You could blend the two environments in your code if you had to, but it was often tricky stuff.
Solaris did not use the same approach as Dynix/PTX, and actually seemed to make it harder to port old SunOS code than it did to recompile the same code under Dynix/PTX.
That unnamed OS had compatability libraries for recompiling code, but only supported SVR4 commands.
It would be a mistake to assume that the incorporation of good ideas from various *nix systems to be equivalent to merging them (which is what I read the "+" of the systems you mention to mean.) Remember that SunOS had a lot of proprietary code as well as the BSD base, and I seriously doubt too much of that was available for use in SVR4 (it could have happened, I just question the likelihood as that was the peak of the Unix incompatability wars.)
Although I've used HP-UX 9/10 and AIX (3.5/6?), I didn't work with them at the same low levels I did SunOS, Solaris, Dynix/PTX, "pure" SVR4, or Linux.
<OffTopicRamble>
How low-level was the work with Dynix/PTX?
By the time we were done with a two-year project, a 32 processor box was being bottlenecked by I/O capacity and the system bus, not the application code. The subsystem I wrote used X.25 data collection slaves, file writers similar to database redo logs, and shared memory under the coordination of a master/monitor process used to dynamically start/stop the processes. The first round of the functionality written using Tuxedo had proven to just be too slow, and had to be tweaked to the max.
That application almost beat out some work I did under VMS as far as maximizing system throughput. The work on VMS was a much simpler task, but I managed to get the I/O channels on three tape devices, five spindles of disk, the memory utilization, and CPU utilization on a VAX8600 (not positive about that model number) to all stay in the 95-98% load range...
</OffTopicRamble>
I do not fail; I succeed at finding out what does not work.
To all:
I know this is off-topic, but I figured this would be the time to ask, and my intention is sincere not to inflame or get points, so here goes...
I know BSD is usually used as a server, but what if I want to use it as a desktop computer? Where can I get an office suite? Photo editor? Games? Does this OS have support for NVidia cards? USB support? How much USB support? USB drivers from vendors spotty? Or was BSD not intended to support these items?
There is no "mostly" about it. Ultrix was BSD 4.1, released after we had been using BSD 4.2 on our VAX systems in University. Many of the manpages still had the BSD id strings, as did many header files. Running "strings" on libraries often reported BSD authorship as well. The final clincher was that all the bugs we had before upgrading to 4.2 returned with Ultrix (kernel panics, etc.)
Not really surprising, when you think about it. DEC was famous for providing "bug-for-bug" compatible VAX CPUs on the various models, because fixing the bugs would have broken too much code.
I do not fail; I succeed at finding out what does not work.
Minix sockets? Ouch.Bad memories there.
Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
Yeah. It's a pretty whacky comment. Linux (A monolithic kernel) was never based on the minix kernel (A microkernel none-the-less), it was designed to be a replacement for it as the whole minix thing was encumbered by crappy academic copywrite.
Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
It almost happened with Microsoft's security tools.
The entire fragmentation of Unixes in the late 80's early 90's based on the original ATT license.
Just recently OpenSSH and Sun.