TACKER: vandahm (Stephen VanDahm) SUBJECT: .. what is the difference?? DATE: 12-May-04 01:59:50 HOST: sverige Here's a short and mostly-accurate summary of the historical differences, as I understand them. Unix was an operating system created by Bell Labs (part of AT&T) during the late 1960s and 1970s. When you bought UNIX, you could buy a license for the source code as well. During the 1970s, the University of California at Berkeley (which had bought a source license) released some modifications to Unix. If you had a Unix source license, you could get these modifications from Berkeley or from anyone who already had them. These modifications were called 'BSD'. Fast forward to the 1980s. Many small startups began selling 'workstation' computers. These companies, including Sun Microsystems and Silicon Graphics, needed an operating system for their machines. Designing an OS from scratch is a big deal, so they just bought Unix licenses. With all these independent Unix versions out there, the subtle incompatibilities between them made writing Unix software very difficult. The legal status of BSD was always ambiguous. For years, it required an AT&T source license just to use it, and even after this restriction was removed, it wasn't clear whether AT&T would allow Berkeley to continue producing a competing product. In 1983, Richard Stallman started the GNU project. The goal of GNU was to create -- from scratch -- a complete implementation of a Unix-like operating system. Since GNU was developed from scratch and did not evolve from AT&T's Unix, there would be no way for AT&T to challenge GNU in court. Fast forward to the late 1980s. People got sick of buying a Unix source license just to get the BSD software. In response, Berkeley released a version of BSD that was completely self-sufficient. Since it didn't use any official Unix source code, you didn't need an AT&T license. This was the beginning of the BSD that we know and love today. Fast forward to 1991. The IBM-compatible PC, with the advent of the 386 processor, had finally become powerful enough to run real, hardcore Unix. There were two 'open-source' efforts to bring Unix to the 386. Bill Jolitz adapted BSD to run on 386s -- this was called 386BSD. NetBSD, FreeBSD, and OpenBSD are derived from this effort. Linus Torvalds, when faced with the same problem, decided simply to start from scratch. He wrote 'Linux' and continues to manage Linux development. Linux, by itself, isn't very useful. You need libraries and utilities to make a Unix-like OS work. Fortunately, the GNU project had most of that worked out already. When you use Linux, you're actually using the Linux kernel and the GNU libraries and utilities. Some people call this 'GNU/Linux' to reflect the hybrid nature this OS. If you've followed this so far, you may have noticed that there's a *lot* of fragmentation involved. You've got Sun's Unix, Silicon Graphics' Unix, IBM's Unix, HP's Unix, BSD's Unix, Linux, GNU, etc. To smooth over the damage caused by all the little incompatibilities between implementations, the different Unix-selling companies got together and created the 'POSIX' standard. All good Unix-like systems strive to be POSIX-compliant. Somewhere along the way, they also came up with the 'Single Unix Specification'. I don't know if this is the same as POSIX. To enforce standardization, they made a rule that you couldn't call your OS 'UNIX' unless it was certified to comply with the Single Unix Specification. Most commerical Unix vendors go through the certification process. Linux and BSD vendors usually don't bother with it. So, there you go. Those are the historical differences. I've left out some stuff altogether (the BSD lawsuit, etc.), stripped out as many details as possible, and didn't check any of my facts. I think it's pretty much right, though.... Take care, Steve