I'm glad to share this (BUT NOT AS A FLAME WAR IGNITER< PLEASE), thanks to Paul M.
---------- Forwarded message ----------
From:
Paul M <CENSORED@gmail.com>
Date: Wed, Aug 18, 2010 at 2:28 PM
Subject: BSD vs Linux Appreciate the differences
To:
odhiambo@gmail.comHello Odhiambo!
I hope you are not turning this into a flame war for there are zealots on both sides of the OS wars and as this BSDer will tell you there is no end or peace treaty in sight :-)
I personally have an affinity for FreeBSD and use it ALWAYS. I am also adept in the OpenBSD security arcana and deploy in hardened security boxes and paranoid settings for ambitious security measures. That's not to say I don't use Linux which I will highly recommend to anyone coming from a Windows environment (UBUNTU for newbies offcourse!). Linux is way ahead in hardware and driver support and not to mention its advances in the X windows and GUI environments make PC or DesktopBSD look quite timid. Speaking of the tech republic article you posted here are my comments:
1. Licences
The article is spot on in identifying the licenses. However GPL a copyleft license while the BSD license a copyfree license differ fundamentally in their utilization.The GPL license is restrictive and in order to ensure the copyleft philosophy is not violated requires that any changes are transmitted to the greatest possible audience whenever shipping or distributing your source code. It also forbids the shipping of binary only code. This can be problematic especially if one wants to ship source code that could be used in confidential or sensitive systems that require a high degree of discretion. The BSD license affords the use of privacy/confidentiality in sensitive systems and in shipping code even using your source code in proprietary application. MacOSX a proprietary operating system uses a BSD license when shipped with Darwin.
2. Control
Linus Torvalds is the benevolent master of the Linux Kernel, he works with a small team of developers to initiate changes in the Linux Kernel. What the article fails to mention is the diversity of the BSD projects; FreeBSD, OpenBSD, NetBSD,PCBSD, DragonFlyBSD, Darwin. These projects have different goals; usability, stability,security,portability etc. These projects are decentralized without having any one leader (perhaps with the exception of Theo De Raadt of OpenBSD) calling the shots, they each have a core team of developers and committers who are geographically distributed and share the objectives and vision of the project. Committers usually have read and write access to the source code tree of the respective BSD project and release changes to the tree periodically mostly biannually.
As to whether having a benevolent dictator or an autonomous team to lead a project remains debatable. What matters is the quality of the code and objectives each project accomplishes.
3. Kernel Vs Operating System
It is correct that Linux is a kernel and it is shipped in one of several distros. BSDs are complete operating systems and contain many more utilities than a core kernel. What the article fails to explain is the design of the Linux/ BSD kernel; microkernel vs monolithic kernel. I would recommend you read the
design and implementation of FreeBSD by Marshall Kirk Mackusik and
Understanding the Linux Kernel by Daniel Pierre Bovet and Marco Cesati.
4. UNIX-Like
Besides the *NIX platitude "BSD is what you get when a bunch of UNIX hackers sit down to try to port a UNIX system to the PC. Linux is what you get when a bunch of PC hackers sit down and try to write a UNIX system for the PC." The BSDs are direct descendants of the original research UNIX version 6 from AT&T Bell laboratories. The hackers at the University of California at Berkeley heavily modified UNIX6 to include virtual memory management, TCP/IP (Yes! the first implementation of the protocol that changed the way Internet runs was done in Berkeley back 1983),BIND implementation of DNS (Another achievement from Berkeley that transformed the mapping of IP addresses into domain names and vice versa). By the late 80s BSD was such a mature operating system it differed markedly from the UNIX of AT&T. Maybe you may wonder then how come it didn't make waves like Linux? This is because of a lawsuit AT&T brought against Berkeley in 1992 where the former sued the university for IPR infringements do note however the hypocrisy of AT&T in this matter (it had an incestuous relationship with Berkeley as they used a lot of code from the BSD hackers to ship into their products) this suit dragged on for 2 years and was eventually settled out of court in 1994. Linux at this time was making inroads, unlike BSD, Linux is not a direct descendant of UNIX but a clone of UNIX known as MINIX version 3 designed by Andrew Tanenbaum. A lot of work was done to integrate the GNU compiler into MINIX and incorporate MINIX to run on the X86 platform. Because of the openness and wider contribution from hobbyists, users, academics and the open source movement Linux launched into hyperspace and became by far the most successful open source project to-date. BSD did go open source (it never was a closed system as Berkeley distributed the code for free) after the lawsuit (around 1994) but by then IMHO it was too late to make waves like Linux did.
The UNIX trademark is owned by the
OpenGroup.
5. Base SystemHere I concur with the tech republic article Linux is an amalgamation of parts: A kernel, userland utilities, packages etc. A kernel by itself is meaningless unless it provides the interfaces and tools needed to interact with it. BSD on the other hand because of its 'source tree' centralized model of development incorporates a kernel with utilities and libraries to make it a complete operating system.
Read more on this
6. More On SourcePackages and even the kernel on both BSD and Linux can be compiled from source. However they both fundamentally differ on package management where Linuxes greatly utilise prepackaged binaries and although BSD also uses prepackages, a great deal of third party applications are installed from the ports which allow compilation of packages from the sources. However some distros of Linux e.g Debian-kFreebsd and Slackware do use ports for installation of third party packages.
7. Upgrades
I personally have not upgraded a Linux installation from the source tree. This is not the case with BSD variants as upgrading from the source is sometimes the only option you have available. Still a vast majority of the Linux upgrades I have done is through optic media and FTP upgrades.
8. Bleeding Edge
I disagree with the tech republic author's observation on this one. Like Linux, BSD particularly FreeBSD does involve some bleeding edge version. Usually FreeBSD has a stable and current release. The stable release is either a major or minor upgrade on the source tree. A current release is the latest changes on the source tree which in most cases is done for testing and debugging purposes. Usually it not recommended to use a currrent release. The FreeBSD current release in my opinion in equivalent to a bleeding edge version.
9. Hardware Support
Hands down to Linux. Hardware support and drivers written for Linux is quite impressive. Its true the latest hardware drivers are unlikely to be available for many BSD variants.
10. User BaseI don't agree at all with this observation MAC->Win->Linux->BSD->UNIX. MacOSX runs a modified version of FreeBSD known as Darwin. What is UNIX anyway? BSD is UNIX so is Solaris or HP-UX. Each operating system serves a specific purpose (I luv Windows for games!!!) and such a transition implied by the author is naive at best.
Feel free to share my comments on SkunkWorks. All the Best!
--
:-) Paul M