Difference between BSD and Linux
Key difference: BSD and Linux are both types of operating systems that one can run on their computer. BSD and Linux are derivatives of the UNIX Operating System and they are both open source operating system. Under Linux’s GNU Public License one can modify the software any way they want, as long as they provide the modified source code to the other users. The BSD license does not have this requirement, which means that the user can make any changes of the software and needs not disclose them to the other users.
BSD and Linux are both types of operating systems that one can run on their computer. Well, technically Berkeley Software Distribution (BSD) and Linux are types of kernel. A kernel is the central component of many operating systems.
The Linux kernel was first released on 5 October 1991 by Linus Torvalds. BSD was distributed by the Computer Systems Research Group (CSRG) of the University of California, Berkeley, from 1977 to 1995. Today, BSD refers to any operating system based on the original BSD kernel, similar to Linux, which today refers to any operating system based on the Linux kernel. Common and popular BSD operating systems include FreeBSD, NetBSD, OpenBSD or DragonFly. Common and popular Linux operating systems include Debian and its derivatives such as Ubuntu), Fedora and openSUSE.
BSD and Linux are derivatives of the UNIX Operating System and they are both open source operating system. This means that they are freely available to anyone and everyone who wants to use and/or modify the kernels or the operating systems based on those kernels.
Linux belongs to the GNU Public License. This ensures that users can get free access to the code to the very kernel that serves as the foundation of the Linux operating system. Not only that, users can even alter the kernel in order to make changes to the operating system itself. These changes can include preference changes for usability or the operating system can be changed so much that it counts as a completely new Linux distribution.
While, BSD’s public license is similar to that of Linux, it does have a significant difference. The BSD License is much less restrictive and it allows for the distribution of binary-only source. Under Linux’s GNU Public License one can modify the software any way they want, as long as they provide the modified source code to the other users. The BSD license does not have this requirement, which means that the user can make any changes of the software and need not disclose them to the other users.
Another difference between the two is that fact that BSD code is not controlled by any one user, it is managed by a core team loosely made up of developers around the world. FreeBSD and NetBSD each have a core team which manages the project. They are the ones that have the say in what direction the project takes. Some of the components of BSD are Open Source projects in their own right and managed by different project maintainers.
Linux, on the hand, does not have any such restrictions on their projects. The Linux kernel is freely available to anyone who can make any changes to it. They can then provide the kernel to five other people, who can make any changes that their heart desires to it. The process then continues, hence there are not one or two versions of Linux. Each person can have a uniquely developed Linux operating system. There could possibly be millions of different versions available.
Based on FreeBSD.org, Aalpha NET lists some of the reasons why FreeBSD should be used:
- Supports a variety of platforms: x86 compatible, AMD64, Alpha, IA-64, PC-98 and UltraSPARC architectures
- Open Source - available free of charge and comes with full source code
- Well-suited for a number of desktop and server applications
- Can be installed from a variety of sources
- Extends the 4.4BSD operating system feature set:
- merged virtual memory and filesystem buffer cache
- compatibility modules - to run programs for other OS including those for Linux, SCO UNIX, NetBSD, and BSD/OS
- Kernel Queues - programs respond more efficiently to a variety of asynchronous events
- Accept Filters - improve performance by allowing connection-intensive applications (ex. web servers) to push part of their functionality into the OS kernel
- Soft Updates - improved filesystem performance without sacrificing safety and reliability (analyzes meta-data filesystem operations so they're processed more efficiently)
- Support for IPsec and next-generation Internet Protocol, IPv6 - improve security in networks
- kernel support for stateful IP firewalling, as well as IP proxy gateways etc.
- supports encryption software, secure shells, Kerberos authentication, "virtual servers" created using jails, chroot-ing services to restrict application access to the filesystem, secure RPC facilities, and access lists for services that support TCP wrappers
However, according to LiNUXLiNKS.com, there are various reasons for using Linux:
- A Linux Distribution has thousands of dollars worth of software for no cost (or a couple of dollars if purchased on CD)
- Linux is a complete operating system that is:
- stable - the crash of an application is much less likely to bring down the operating system under Linux
- reliable - Linux servers are often up for hundreds of days compared with the regular reboots required with a Windows system
- extremely powerful
- Comes with a complete development environment, including C, C++, Fortran compilers, toolkits such as Qt and scripting languages such as Perl, Awk and sed. A C compiler for Windows alone would set you back hundreds of dollars.
- Excellent networking facilities: allowing you to share CPUs, share modems etc; all of which are not included or available with Windows 95.
- The ideal environment to run servers such as a web server (e.g. Apache), or an FTP server.
- A wide variety of commercial software is available if your needs aren't satisfied by the free software.
- An operating system that is easily upgradeable. After any length of time a typical installation of Windows and software gets into a complete mess. Often the only way to clear out all the debris is to reformat the hard disk and start again. Linux, however, is much better for maintaining the system.
- Supports multiple processors as standard.
- True multi-tasking; the ability to run more than one program at the same time.
- An excellent window system called X; the equivalent of Windows but much more flexible.
Image Courtesy: refugeeks.com, freebsd.org