Ok, so if you have been on my site, you know that I started with Red Hat and never really got into it, and then, settles on FreeBSD. Why would I choose FreeBSD over Linux? It fit me better.
I actually think that everybody needs to use what suits them.
This is NOT a FreeBSD versus Linux post. It is a site to help others who are trying to decide whether to use FreeBSD or Linux see some pros and cons and get my recommendation.
FreeBSD
FreeBSD is not Linux or Unix exactly. It is BSD. It has its own bsd kernel and an is surrounded by a base system.
Here are a list of positives about FreeBSD
- It is open to proprietary code that just can’t be used in Linux, such as Sun’s ZFS.
- It is easy to get a small install of just the base system with minimal to no features installed. (Security! Attach surface area is minimized when less software is included.)
- Jails
- The ports tree for compiling from source is unmatched by any Linux operating system, but if you prefer binaries, yes, it has them too.
- Installing software has less problems as you compile it on the system, with the settings you need (rather than get binaries that may have been compiled for a different system or without the settings you need).
- The documentation is far better than most other open source projects and better than most projects commercial or open source for that matter!
- OS X chose to use much of FreeBSD in its underlying operating system and so when combining the OS X and FreeBSD market share, FreeBSD code is actually used on more systems than any operating system other than Windows.
- There are not that many BSD distributions, and the ones that exist have clear focusses different than the others, that later they share. FreeBSD is a solid server. PC-BSD is a desktop focussed on avoiding dependency problems with its software. OpenBSD is extremely securee. NetBSD is extremely compatible with lots of hardware. They contribute back to each other often.
- The License is free and gives everyone who uses it true freedom.
- The License is free for commercial use.
- Easy Editor. Newbies can actually use this editor included in the FreeBSD base system. Don’t forget to learn vi though.
- Patching is as simple as running freebsd-update.
Here are a list of negatives about FreeBSD
- Hardware companies tend to make drivers for Windows and Linux first and often don’t include FreeBSD, though most hardware is soon supported.
- There is not a native Flash Player in FreeBSD, instead the Linux version of Flash must be used.
- There Desktop options for FreeBSD are not as rich as those for Linux (Example: KDE network settings doesn’t work on FreeBSD, but PC-BSD has their own settings now.)
- IT/Developers forFreeBSD are harder to come by.
Linux
Linux was originally just a kernel. The userland was separate. Now there are plenty of projects that make a nice complete operating system using the Linux kernel and a nice base system surrounding it.
Here are a list of positives about Linux
- It has a large user base.
- Free to use.
- There are plenty of distros to choose from.
- It is no longer just a kernel but many different groups put out an actual system: Red Hat/Fedora, Debian/Ubuntu, CentOS, SUSE, Arch, Gentoo, etc…
- A lot of work is going into the desktop environment
- Development for any Linux platform could benefit all Linux platforms.
- More and more hardware companies are including Linux drivers
- Some Software companies make Linux software as well, and the number is increasing
- Strong commercial backing (which doesn’t make sense for software licensed under the GPL)
Here are some negatives
- There is often a lot of binary packages that just don’t work.
- Lack of consolidation. There are a lot of distributions of Linux and they are not the same. Which one do you choose.
- Many Linuxes (not all) are now installing desktop software by default, and no longer are minimalistic. (Security! Attach surface area is increased when more software is included.)
- The inability to write and distribute software that touches GPL software, without having to release your software as GPL too.
- If you hope to do anything other than use the software or help the community, you need a lawyer to figure out how to interact with the various versions of GPL.
- The security settings are usually not easy to use and are result in users just turning them off (i.e. SELinux)
- Are Red Hat and SUSE open source or commercial, they sell support but the software is free, except you can’t get updates without buying support…confusing!
- IT guys who claim to know Linux usually have done little more than run Ubuntu for a few days.
This is not a flame post and any responses that appear to be trolls will be deleted.
My recommendations
Ok, so what would I recommend if I were paid by a company for consulting?
Server (LAMP)
For a Server running Apache, PHP, SQL, often mis-termed LAMP (Linux Apache MySQL PHP) but really means any OS, Web Server, SQL, Script language.
Recommended OS: FreeBSD
Commerical Appliance
If you work for a company and you need a commercial appliance. Stay away from the dangers of the GPL, just don’t go there.
Recommended OS: FreeBSD
Open Source Desktop
For a quick desktop for a home user that has PC hardware but doesn’t have a license for Windows and doesn’t want to buy one.
Recommended OS: Ubuntu
Note: Sorry PC-BSD friends. Keep working on it.
Commerical Desktop for Employees
If you want a good commercial desktop, you should go with one of the following depending on certain factors, the primary being that some software you may need to use only runs on these two platforms.
Recommended OS: Windows 7 or OS X
However, Ubuntu, Red Hat, SUSE, Fedora, PC-BSD, are all very usable replacements depending on the situation.
Point of Sale (POS) Device
If you need to have to have a POS device for handling sales.
Recommended OS: Depends on needs
Share your thoughts
Hey, please comment. No flame wars though. I repeat, this is not a FreeBSD versus Linux post, but a FreeBSD or Linux post, with just some information from my experience. I appreciate all technology and any rude comments will be deleted. However, feel free to challenge and provide facts, demand facts, etc…