Thursday, March 22, 2012

Why FreeBSD?

So I was thinking.  Why use FreeBSD?  Why not use Linux or Windows.  Well, I looked around the net to see what others thought, and found that they were all pretty far off. 
Why use FreeBSD?  Is it better?  Is it more stable?  Is it more secure?  Is it more geek?  Does it have a better license (BSD)? 

I think that it is all of these, and it is none of these.  I have seen people say that FreeBSD is no good for the desktop.  See my post about post install configuration, there is a screenshot that I think will prove otherwise. 
FreeBSD is about doing it yourself, and putting in the pieces that you want, and leaving out the ones that you don't.  I was looking at an Ubuntu forum, and people were discussing the various merits of Ubuntu, and such.  There is one thing that you absolutely must understand about FreeBSD.  It DOES NOT protect you from doing something stupid, because to do so, would also prevent you from doing something clever. 

The underlying levels are not abstracted away by all of these very helpful tools that automagically configure everything for you.  At this point in the game, Ubuntu is basically the Linux equivalent of Windows.  When I started using Linux, I did so to learn how to hack.  I wanted access to the underlying system.  This was something that I did not feel (at the time) was obtainable on Windows.  I had no idea what the word hack really meant until I used FreeBSD for the first time.  It is much more than seg faulting programs in an attempt to hijack memory space.  It is a true love of discovery.  Why did they put this in there?  What does it do?  Why do it that way?  Could it be done better this way?  A great current example would (and this is a tangent here...)be, XFCE4.  I love XFCE, but they removed HAL support in favor of switching to udev.  Here is the problem, udev is Linux only.  No more auto-mounting in XFCE4 for FreeBSD.  Wrong!  There are several people that have hacked at it to find a viable solution using other underlying technologies in the base system, and have found some really ingenious ways to do this.  I will be writing a post about this over the weekend. 

The point is, there is no glossy veneer unless you paint it on yourself.  This is a double edged sword, FreeBSD is very trim, and relatively bloat free, however, this comes at the cost of YOU having to know what YOU are doing, or at the very least you have to be willing to learn.  FreeBSD has taught me more about how computers work and behave than I have learned from any other source aside from the C programming language.  All of the tools are there, you have to be able to use them correctly, and sometimes in ways other than intended.  FreeBSD is a great Desktop operating system.  I am writing this post on a FreeBSD machine right now.  If you find that it is not a great Desktop Operating system, perhaps you are just not very good at configuring it to be a great Desktop Operating system. 

FreeBSD is STABLE, I mean like you read about son!   Why?  Simple, packages don't get included until they are intensively tested to be reliable.  The base system is DESIGNED around the kernel, and is part of FreeBSD.  With FreeBSD you don't get the kernel and then pick the base system to go with it.  They are distributed together, as a complete package.  It is not a potpourri of GNU packages distributed with a standard Linux kernel. 

Use the ports tree and you will scratch your head and say, "I thought this was at version 5.1, why is it only at 4.9 here?"  Perhaps you don't get all of the relatively untested bells and whistles that have been included in Whizbang5.1, but you can be comfortable knowing that the 4.9 version in the ports tree is rock solid, because it has been tested for all kinds of issues, including unhappy interactions with other programs.  This is why the ports tree is not packed with the most up to date software you can find.  If this is functionality you just have to have, then perhaps you need a rolling release like Arch Linux.  This is the distro that I was using when I started this blog.  Things were going great until that bleeding edge currency turned around and bit me in the butt, and I lost a lot of data.  I immediately downloaded FreeBSD, and said "never again." 

The thing to take away from this is not that FreeBSD is better, and Linux is worse.  That viewpoint is too narrow.  It is not about which is best.  It is about which is best for YOU.  For me it is FreeBSD, and if you keep reading this blog I will be doing quite a bit of posting on how to get it to do what you want it to do.  That does not mean that Linux will not be included.  There may even be some posts about Windows.  Which brings me to another point.  Windows is a great product, if you can afford it.  I cannot.  I love when I see some newbie Linux user bad mouthing Microsoft, and making all of these statements about how crappy it is, and how you can't get to the guts, and blah blah blah.  It is just different.  FreeBSD is as different from Linux under the hood, as Linux is from Windows.  This is the viewpoint that I am trying to get across here.  It is not about better, it is about different.  What works for one person may not work for another.  Some of my work demands stability.  Another person may be able to make a trade off for being current vs. being stable.  I like configuring my systems down to the smallest screw.  Some people don't.  I like the journey to getting something to work the way I want it to, some people just want it to work. 

Many different roads, but they all lead to the same place.  I'll see you when you get there, and remember, "The operating system that works best for you, is the best operating system in the world."

No comments:

Post a Comment