Tuesday, February 27, 2007

FreeBSD - The power to...

Some whimsical history

No doubt, I have had that somewhat weird period regarding operating system usage that most newcomers have to experience when entering the alternative operating system world. Yes, I've used almost every major Linux distribution, sometimes actively, other times it just lay on my hard drive, and I stepped back to Windows again. I even remember that once I felt like QNX will be my next desktop operating system. Well, you might have guessed - it didn't really provide the things I need for daily usage, and I couldn't find adequate documentation, thus I felt the need to change. Finally, my computer celebrated New Year with only Windows.. ouch, how alone could have felt my little chocolate bunny..
FreeBSD. I'm still reminiscent of the first time I tried to install this little beast. I was disappointed. It didn't work. It was my fault,even if back then I didn't recognize that, or even if I did in the deep dikes of my soul, I couldn't accept that, but I couldn't accept that such a renowned operating system doesn't boot on my little chocolate bunny. So far so bad. If my chocolate bunny doesn't like it, it isn't good. Further on, I found out that chocolate bunnies refuse eating operating systems (ever so illustrious it may be), unless they're served properly. Actually, a pal o'mine told me that my chocolate bunny might not like fats.. and ACPI is greasy like hell.. ;-)

How I happened upon FreeBSD again..

After months of struggling to find the OS I need I gave up. Switched back to Windows. I've been using Windows since I have a computer - I don't have any problems with it, except some security issues, which are rare like that when you use your system properly. I don't like anti-virus software, I never did, but that's another story. If you're still eager why, check what Jeff Atwood says - the best arguments which are somewhat akin to mine. It's not the system who makes itself secure or insecure, neither security software but the user. I had some kind of anti-virus software installed, can't remember which (amnesia, let me survive), but I turned real-time protection off, forgetting that I'm not the only user of Bunny. Damn it, didn't my sister click on a grinning smiley? No, no, no, noo, nooo, not again. I don't want to remember the first week I got my computer running Windows Me. Being cautious, I saved my little beloved chocolate bunny from another battle against horses, storms, buccaneers, etc. You know, the whole anti-rabbit shebang. That was the day FreeBSD 6.2 was released.

FreeBSD - what are we exactly talking about then?

FreeBSD is a Unix-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4.4BSD operating systems. It runs on Intel x86 family (IA-32) PC compatible systems (including the Microsoft Xbox[1]), and also DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC and NEC PC-98 architectures. Support for the ARM and MIPS architectures are under development, while support for DEC Alpha was dropped in the 7.x development process.

FreeBSD is known to be organized. It's the only system I know that has a strictly distinct separation between base system and userland. Gentoo, for example tries to separate these two levels, but the distinction is not as in FreeBSD's case, where not only that there's a theoretical disassociation between the two levels, but the base system is maintained by a distinct group, and there's absolute compatibility between software. To make it look like an equation:
FreeBSD = base + (a+b+...+x+y+z), where the part in parentheses represents the add-on software, and base is the base software package, distributed with the kernel.
Linux = a+b+...+x+y - you can see that everything is in a common tub. The kernel is in the same place as Mozilla Firefox, which, in turn is in the same place as OpenSSH, and so on. Note, that here I mean operating system structure - mainly package management, and not memory management. I don't mean directory structure either, since that differs from distribution to distribution, even though some standards exist regarding that.
FreeBSD is aimed towards the more advanced user. It gives absolute control to the user provided the user knows to use some basic (it doesn't need anything spectacular for simple customization and management) command-line tools, understands some simple logic, which, even if looks somewhat queer at first sight, is clear, well-thought and well-tested.
Even if some of the developers would probably cut off some member of mine for this, I have to say that the most important difference between (Free)BSD and Linux is the philosophy. The distinction between software levels, the way power given to users is organized. Recently I feel like Linux tries to be the clown of open source software market by trying to keep its geeky, older image and creating the new, user-friendly image at the same time. They would have to decide. Oh, and yes, I see the grin on your faces whispering that there's CRUX, and Arch, and, and, and. Look at them. They're polarized like hell. That's not fine.

What do I have to do with FreeBSD?

I always felt trying out new operating systems challenging, being it another Microsoft product or an unknown few-kilobytes-sized hobby OS. Operating system development is the peak of software development and something that I always dreamed to be able to participate in further on. Actually, I first spotted FreeBSD 'round 4 years ago trying to find alternative operating systems which would run faster on my computer, than my actual Windows 2000 did. I remember I had a misconception that Windows is derived from UNIX, just like Linux, and there's no "serious" operating system besides these. So I found FreeBSD. Seeing that the actual website design isn't too appealing, the news are months' old, I didn't think that it's something serious - I bought a handful of floppy disks and decided to download it the next day. Worths a mention, that I had an incredibly slow dial-up connection back then, and anything larger than, say, 50 MB took too much time, thus we had to pay too much. You'd have had to see how surprised my face could be when I started the download and saw that it's two full CDs. I couldn't believe that it's possible to create an operating system that doesn't fit on a CD.
So, as you can see, my adventures mixed up soon with FreeBSD, but I didn't really take the chance to try it out.
The day I finally installed it and started to customize it was January 16, one or two days after 6.2's release.
It wasn't a too delightful process, but I learnt and experienced much. I had to read a few chapters from the handbook too, and I've read some that I didn't even need.
For example, I recompiled my kernel, for nothing, I struggled four hours to make GDM work how I want, tried all the window managers I know again, and compiled KDE (which I don't use), just to see how much it takes on FreeBSD.

FreeBSD is not the system that can be "reviewed" in the usual manner (or the way I used to review in the past). I could speak for hours about how much I like the package management variants it uses, and how well-thought its inner logic is, however, I don't want to. As I told you, it's not the software, it's not the developers, it's not even the users - it's the philosophy what makes this operating system, and I've presented it from my point of view. I think that if you think your philosophy has more matching points with that of FreeBSD's than with your current operating system's, you should obviously give it a try. You can only win.


Anonymous said...

Great article. I've also tried FreeBSD a week ago for the second time. Just for the learning experience.

This box now serves as an internet gateway for our home WLAN.

Anonymous said...

"your (sic) the weirdo???"

And what are you? Some blithering non-American imbecile too stupid master the intricacies of contracted versus possessive forms, and too lazy to bring himself to reach for the shift key?

And - while we're on the subject - just what in hell is all this psycho babble about the chocolate bunny? If you're going to write a review, man - get to the point! Don't blather on about your personal journey through personal computing since ENIAC.

Anonymous said...

Sorry, another 'merican here. But I must say great review. Very well said. Snappy screenshot as well. How fares the system now? Still fighting the good fight?
I have the 6.2 Disk1 .iso here somewhere. My last experience was with 5.0. Would you belive I left it behind because I was simply bored with not having to man-handle every aspect of my system like with *********linux? Well that and my soundcard was not supported with out a kernel recompile (scared newbie).
Ah well, I'm off to take another stab at it. I hope I have as good a feeling about it as you do. Cheers to you!

mahmoud said...

thanks for the article. It is very useful and helpful. Shame on that ass hole who posted that offensive remark . I love that chocolate bunny

Anonymous said...

Typical European weenie commenting about typical American's.
You sound French.

Nice article about BSD.
Having been burned by all sorts of Linux distros (I know BSD is technically not Linux)over the years and also having wasted a couple of hundred hours trying to get Linux to do what I want it to do, I don't envision moving away from Windows until the whole virtualization scene matures to the point where I can run Windows apps on my Linux box without a serious performance hit.
I just wish the Linux fan-boys would quit lying about how much better it is than Windows XP.
It's certainly not faster than a well running XP machine with a default SuSE 10.2 install.
True it does do SOME things better than Windows (I would NEVER consider running a webserver on Windows), but overall it is still a work in progress. Is BSD any better? I doubt it.
If the Linux/DSB crowd wants greater public acceptance, they need to make Linux/BSD MUCH more user friendly.
Apple did it with OSX, and the alternative OS crowd needs to pay close attention to that example if they are to ever move beyond the hobby stage.
I don't fire up my rig to play with my OS, I turn on my computer to actually get work done and pay the bills.

I want to move away from Windows, but it's just not there yet.

Anonymous said...

thanks for the review. Like you, I tried to install FreeBSD long ago and trashed it when I figured out how much I was going to need to download.

I have an Athlon X2 3800 to play with, so think I am going to give it another try now that I have good internet. I've tried a few of the different linux flavors recently, and have been a MEPIS linux user since MEPIS 3.1. It's time to try something different.

I'm also planning on looking at PC-BSD, which is built on top of FreeBSD. They seem to have some interesting ideas on package management.


Anonymous said...

You know what. My only grip with FreeBSD is the terrible Flash support. It's going to get better, especially with FreeBSD 7 around the corner. The Linux compatability layer is being improved and in turn i hope this will smooth a few things out.

Otherwise, wireless is just fantastic, nvidia works great, system is stable and predictable, and did i mention that its fast! My one problem with Linux is that it can be amazing in some areas and really shitty in others, but with FreeBSD it just seems more consistent all around. At least for my tasks.

Great review, and ignore those bad apples that posted earlier, i loved the chocolate bunny stuff! Made me laugh :).

Anonymous said...

Thanks for the nice post!

Brian Masinick said...

I find FreeBSD software to be very solid and well designed. The only areas I find lacking are that PC hardware support needs to be improved - and this appears to be getting attention, and the installation is designed only for experienced administrators, which is addressed by other distributions based on FreeBSD, such as PC-BSD, DesktopBSD, and FreeSBIE.

I think the design of the system is rock solid, and the separation of functions, particularly in keeping the kernel isolated from the rest of the system is classic and properly designed.