1. I guess all start with non-technical issues. BSD uses a different licensing scheme then Linux does (for the kernel anyway). The BSD license is less restrictive then the GPL (Gnu's license which the Linux kernel is released under) as it doesn't require you to give back the source code when you make changes and things like that. Keep in mind that while the BSD and GPL are different they are compatible licenses as one doesn't taint the other.
The system layout is typically a little different from BSD to Linux. In general BSD is more secure out of the box (not to say Linux can't be as secure).
2. Much of the software run on BSD and Linux is the same. You'll find people using the typically Gnu tools on both systems. Both use gcc, bash, xfree/x.org, apache, cups, ect. ect. ect.
4. No. BSD has there own kernel. The BSD way of doing a kernel is to have a very small basic kernel that provides the most minimum of functionality and then have modules that provide everything else. The Linux theory is to have a large kernel that provides most or all of the functionality in it.
BSD's kernel is catagorized as a micro-kernel, while linux is a monolithic kernel.
You can argue all day which one is better, but you'll be hard pressed to sway anyones opinion. The basic gist of it is, which the BSD design the modules are simpler and easier to code, but the communication between the modules can get pretty bad. With linux the communication between different parts of the kernel is easier, but often the parts themselves are more complex. It is pretty much a catch 22.
Last edited by jtshaw; 04-10-2004 at 03:39 PM.