FreeBSD gets ported to the Raspberry Pi
kernelnomicon.org
kernelnomicon.org
Linux has competing technologies such as btrfs and SystemTap, but they may not be as mature.
The core system installs in couple of minutes and runs well on even the crappiest hardware.
There is not WTF stuff associated with runlevels (there are no runlevels).
You can find and install software by navigating a certain directory in the system and typing in one standard command. Great for feature discovery.
FreeBSD has the best documentation among all the software I have ever used: the Handbook, the help screens in the installer, the security emails, the upgrade notes.
I have used it as a desktop OS for a few years, and it was definitely a learning experience for me. It was a great one though, because the experience helped me land my first job right out of college in a shop that extensively uses FreeBSD.
But TBH, you should probably just use it for servers ;)
You may have trouble with flash, but didn't you get the memo? Flash is dying. :)
The handbook is brilliant, FreeBSD is the first non-windows OS I've ever installed. Back then I didn't have an internet connection and did everything with the Handbook alone.
Compared to ubuntu (or really most linux distros, or even PCBSD) it's of course much more complicated, but I really understood what I was doing and how stuff worked.
If you really want to understand how a un*x system works, I really recommand that you give it a try (I've heard similar testimonies from people installing Slackware as well, but FreeBSD's handbook is really stellar).
Beyond that, of course it's not Linux so the hardware support is sometimes sub-par, so I use Linux on the desktop these days. It's still my OS of choice for my servers tho and I wouldn't trade it for anything else.
In terms of specific features, jails and ZFS are the ones that immediately come to mind. But if you want features FreeBSD is probably not the system for you; it's built with stability as a higher priority.
pmount and udev are both simple pieces of software that automate away common tasks. I don't understand all the hate.
If I only have to do it once it's no biggie. Do you want to have to rummage around in /dev to see which new name your DVD writer has been given today? I suspect that specific udev bug has been fixed by now, but I still don't feel confident that I can reboot a linux system and have my device nodes be the same ones they were before, even though I haven't plugged anything new into the USB ports since 2009.
>Do you really want to edit /etc/fstab to mount a flash drive?
I should've been clearer; if you set it to allow user-level mounting then FreeBSD will let one simply use the regular "mount" command with its ordinary arguments to mount a flash drive. No need for a new command with a new name.
I'm sorry to hear that? udev lets you match devices by their serial number, so there's no reason why device symlinks should be moving around on you unless you've written overly-general rules. (Expecting something like /dev/ttyUSB0 to point to a particular device is rather optimistic, of course, which is why you write a rule to make that /dev/avr_programmer or something.)
And then the rule format changes, or something. Point is I've never had a problem finding a device without udev; I don't generally hotplug things into my desktop. The exception would be flash drives, but the first one plugged in becomes da0, the next one becomes da1... it's never been an issue for me because my only use cases are "leave this drive plugged in all the time and mount it in fstab", in which case it has a stable device node in practice if not in theory, and "mount a friend's drive that I will most likely never connect again"... anyway. My experience is that for a system with the same set of devices plugged into it, multiple boots will reliably give each device the same /dev node on a non-udev system.
In other news, all of us on Mac's (OS X) are using quite a lot of FreeBSD =)
Notably, the package managing system shows its limits for desktop, because you have much more packages and more complex dependencies when using Gnome and Kde that in just a basic server. Compiling everything is what works best of FreeBSD (binary stuff tends to have random quirks), and there are a few unavoidable monsters in graphic-land that are very painful to compile. Webkit comes to mind, I'm sure I'm missing one or two others.
Plus, the actual developments of desktop things are influenced quite a lot by linux, so you end up having to port quite a lot of internal linux things to make the most high level programs work. Browsers will rely on alsa with no alternative, network managers will rely on linux-specific tools, etc (old examples I have encountered, I don't know the exact current state of things, but there is no reason it would improve).
In the end, desktop isn't really where FreeBSD shines, because all the programs you'll end up using will be developed by and for linux users.
Well, except for the fact that BSD projects have people working on them to, you know, improve things.
The claim that there's too many packages is even more crazy. My linux server has more than twice as many packages installed as my OpenBSD desktop.
The problem is that most graphical applications come from a linux-focused world, and linux is moving, fast, with dozens of time the manpower that BSD projects have.
As for the number of packages, two things: 1/ I'm talking very specifically about FreeBSD, which has imo a real problem when it comes to managing binary packages. I have little experience of OpenBSD, and, as was discussed[0] the other day, it seems to be better than FreeBSD in that domain. 2/ The raw number of packages between linux and FreeBSD isn't comparable, but you can compare a FreeBSD desktop and a FreeBSD server. And I stand by my words, speaking of experience: maintaining a typical FreeBSD server with about 100 installed packages is much easier than a typical (a bit fat, actually) desktop with 600 or 700 packages.
This is just what I get from my experience of trying, repeatedly, to build and maintain a FreeBSD desktop over quite some time. Yes, it's possible, you can more or less make things work, but it's clunky, and I don't think it's worth it, unless you already use FreeBSD everywhere.
In a true peer-to-peer network, as the internet was supposed to be, there are no "client" or "servers", just machines that can play either of those roles, aka "peers".
Just because you configure a machine a certain way does not make it a "desktop OS" or a "server". That is a label you've chosen. Configuring a machine's OS a certain way just means that's how you've configured it.
BSD is a kernel and some userland utilities.
It's a blank canvas. It can be configured to do many different things.
If computing to you means Gnome, KDE or OSX, or some other desktop abstraction and GUI flavor of the month, then it's true you'll find more people working on those configurations elsewhere than in a relatively small group of BSD contributors.
I like to think BSD is for command line connoisseurs. People who can appreciate responsiveness, organization and clean design all at the same time. People who are not offended by what appears to be simplicity. People who are comfortable with VGA text mode. People who would make graphics a priority, but not necessarily a GUI. BSD already has a working user interface.
It's simply a matter of learning to use it.
I like it that way, but it's not for everyone. Because most people are used and expect a heavyweight and shiny GUI, a modern browser, a pretty music player, autodetection of wifi networks, and that sort of things. I don't draw the line, and I don't particularly think FreeBSD should be for everyone, but, well, people have expectations, you can't just ignore that.
I have my doubts. And I would guess I'm not alone. If there were a way we could "test" it and then revert back if the effects were terrible, I'd be all for it.
But if BSD became like Linux or OSX, and there was nothing to replace the space it fills, I would lose my interest in computers.