Today, I'd like to explain the similarities, differences and details of some of the most popular Unix-based operating systems available, as denoted in the title of this post.
To begin, let me go over some of the things each have in common. Each of the operating systems are based on an Enterprise-level Unix Operating System and are very much suited to running a Web Server or any other type of server. They all have the same software available to them. You can compile anything from source or install a binary package. Some examples of those packages are Apache, PHP, MySQL and Exim.Some of the major differences between the 3 is that FreeBSD uses a different kernel and userland (general commands/applications such as ls and shells) from CentOS and Fedora Core. FreeBSD is generally easier to recompile. There is a simple text file that you can edit to change any kernel modules. The drivers are grouped by type. With Linux , they also have an ncurses-based frontend for doing this. It is grouped by driver type. Both have many tutorials on how to do this. Both Linux and FreeBSD have good descriptions of what each driver does. This is very helpful in adding new modules. Some of these modules include VPN functionality, firewalling, and File systems.
There is also a major difference with the licensing used between the two. FreeBSD uses the BSD license and Linux distributions, such as CentOS and Fedora, use the GNU GPL license. The GPL basically says you can use our source code and modify it, but you have to re-release any modifications to it. With the BSD license you can take the source code, modify it and finally sell it. These licenses can also be used for software you make, not just Operating Systems. Here is a copy of the BSD license from the FreeBSD website, http://www.freebsd.org/copyright/license.html. Here is a copy of the GNU GPL http://www.gnu.org/copyleft/gpl.html. There are many debates concerning which is better. We here at SingleHop do not have a particular preference as far as these licenses go.
FreeBSD is also a source-based Operating System. The best way to patch it is to recompile from source. This allows you to ensure your binaries are secure. You may also wish to enable certain CPU optimizations at this time. This could improve the stability of your server.
CentOS and Fedora are binary distributions. They too release the source, but they release regular binary updates. These updates address security issues, stability issues and newer versions of software. These updates are critical to running your server effectively. If you do not update your server, it could become unstable, or worse yet, be compromised. This is why we suggest signing up for our Security and OS updates. Updating your server is an important part of security and stability. This even applies to our Windows Dedicated Servers. With our Security and OS updates, we use our expert staff to handle these tasks for you.
There are two major differences between CentOS and Fedora. CentOS is based on an Enterprise-level distribution, released by a company called RedHat. This is one of the premier Linux distributions and many applications such as Oracle and VMWare specifically go out of their way to support this distribution. Fedora is another distribution sponsored by RedHat. This is the distribution where RedHat tests out new features that may eventually make their way into RedHat Enterprise Linux.
CentOS 4.0 was released on 03/02/2005. This version of the Operating System will be supported until 02/29/2012. This means that CentOS 4.0 will have approximately 7 years of patches that will be released. The Full Updates for the 4.0 version ran until February 29th, 2008, so it is now in a Maintenance Update Phase. This means that only Security problems and select mission critical fixes will be released. You may notice that your server had been upgraded to CentOS 4.6 on a previous 4.0 install. This is normal and was due to several minor releases.
Fedora Core 5 was released on 3/20/2006. It was supported until 6/29/2007. This is a significantly shorter than the lifespan of CentOS. Fedora does not have minor releases between major ones, shortening the life span of a supported install. This means you would have to actually do a major Operating System upgrade sooner. This can be a bad thing for a server. If you have a production environment, you want the OS to be supported as long as possible. This ensures stability for your environment.
FreeBSD 6.0 Release branch was released on 11/4/2005. This will be supported until 1/31/2010. You may need to upgrade the minor release on FreeBSD from 6.0 to 6.1 to 6.2 to 6.3 for this to be true, however.
All in all, the longer your Distribution or Operating System is supported, the longer you have to go before a reinstall or major upgrade. This ensures that you will always have a stable platform for whatever applications you would like to run.