Live data from Hacker News

Ask HN: I'm a Linux guy. Tell me about all those BSDs

news.ycombinator.com

11–20 of 167 posts

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#11
I used to play the "what distro are we running this week" game. Most were too big, others too small. Some had great communities, but lacked a killer feature. Etc. etc.

Then I found FreeBSD. The learning curve was steeper, you had to know more about how things actually worked under the hood (a plus, in my book) and the system was elegantly clunky.

A cohesive whole -- more or less -- instead of endless re-packaging of the same things.

I do a minimum install, then build my system up from the ports system. (Ports is like apt-get, pacman, other package management systems. Compiling from source can be a bitch, but only for big things -- Emacs, X11, Firefox etc. but it allows unparalleled customization, or at least the option for it.) Installing binaries is also an option if you don't want to compile.

It has had every piece of software I've ever needed (minus http://joey.kitenet.net/code/mr/) already in ports.

I even recompiled my first kernel within three days of starting out (thanks to Absolute FreeBSD, by Michael W. Lucas), something that seemed a dark art on GNU/Linux.

I've had no stability problems in the last year or so, and I just upgraded from 8.0 to 8.1 smoothly. Everything important on my laptop is supported.

If I want shiny stuff like webcam, usb auto-mounting, all that, I reboot into Ubuntu. Not because FreeBSD can't (I'm mostly assuming), but because this is my dev box and I'm not supposed to be doing anything shiny or distracting on here, hehe.

In short, think of an older truck with a manual transmission -- it's dependable, gets you there and back with minimum of frills and you can tinker rather than a new SUV with bells and whistles. While FreeBSD is more angled towards servers, I love it as a desktop OS -- at least for coding and light web browsing.

And it's a single community, without the balkanization of GNU/Linux.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#12
(Speaking as a FreeBSDer here -- I'll let NetBSD and OpenBSD folks cover those, since I don't follow them closely enough to offer accurate comments.)

1. We don't let licenses get in the way of making good technical decisions. This means that, for example, we had no problem with importing DTrace and ZFS.

2. We have more of an emphasis on doing things right. This often means that it takes longer before we acquire new features; but it means that once we acquire new features, they work and aren't likely to be removed or completely rewritten any time soon.

3. We develop the kernel and userland in tandem. This allows new features in the kernel to be accessed from userland faster (usually immediately) whereas in Linux there will often be a significant lag time before your libc supports everything in your new kernel.

4. We have stable development branches, and we're serious about them. Not "stable" in the linux kernel sense of "we think this won't crash" -- stable in the sense of APIs and ABIs, so that code you compile on FreeBSD 8.0 will work without recompiling on FreeBSD 8.4 five years later.

5. Our stable branches apply to the kernel, too. You can compile a kernel module for FreeBSD 8.0 and use it on later versions of FreeBSD 8.x, too -- linux, in contrast, has on occasion broken kernel ABI compatibility in security patches. ("Gee, do I want to apply this security patch, or do I want to keep using the video card driver supplied by my vendor?")

6. Personally I greatly prefer the FreeBSD ports tree over the linux equivalents, but that's just a matter of taste and what you're used to.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#14
I used FreeBSD and OpenBSD for a while, and what drove me back to GNU/Linux was package management. OpenBSD was OK at it even if it had a limited selection, but I never had much luck with FreeBSD ports. Having a nice, stable base system wasn't very useful when ports were always being updated to the latest version; if I wanted a security fix, I had to take all the feature changes and new bugs, too. I tried a bunch of different port upgrading scripts but they always seemed to miss something. And upgrading ports took a long time; I want to be using my computer, not having my work interrupted by compiling in the background and occasional troubleshooting.

I have high hopes for Debian GNU/kFreeBSD - the FreeBSD kernel with the Debian package management.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#15
To add to what cperciva said, there's also the difference between the base system (/bin and /usr) and the ports subsystem (/usr/local). Most user space software is in /usr/local, which makes is convenient in that you could always solve nasty library/installation problems by removing /usr/local and starting from scratch.

The whole of userland and the kernel can also be built with a single command ("make world"). The code is often beautiful and easy to read (my alma mater taught a graduate OS Case Study class where the textbook was "Design and Implementation of FreeBSD" and assignments involved fixing bugs in the FreeBSD kernel) and you get a chance to play with some interesting things (DTrace and ZFS).

It really depends on what you're looking for. If you're going to deploy a production web app it may or may not be the best choice (I honestly don't see a big advantage). FreeBSD once used to be lauded for network performance and while it's still excellent, Linux has caught up. Depending on what you're doing e.g., a distributed storage or processing cluster, it may well be worse than Linux (but again, benchmark and stability test it yourself before taking my word for it).

If you're curious about operating systems (or are interesting in building your own custom OS without licensing issues e.g., what Juniper did with JunOS), it's perfect.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#16

The BSDs always feel beautiful to me. (I'm a mixed GNU/Linux, FreeBSD, Mac OSX user. ) The kernel configuration feels more simple and the official documentation feels uniform, informative, and almost always sufficient. If more virtualized hosting providers offered BSDs (FreeBSD in particular) I would choose them over Ubuntu for servers.

I had the same dilemma when looking for virutal hosting-I ended up at rootbsd.net because running FreeBSD was important to me. Not as cheap/featureful as linode, but its good enough for rsync.net its good enough for me.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#17
Because it just works. Uptimes are counted in years. Low loads. Great memory management. Ports are compiled for your system from source pretty easily. It always seems able to stretch your hardware's potential. I'd never use it for a Desktop, but as a server, and a dev server especially, it rocks.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#18
If you are using an Apple Mac, then you are using BSD (with bits of Mach and a sprinkling of Apple fairy dust) !

I'm over simplifying, but with Linux or BSD it's really only about the kernel. They both use the same collection of GNU tools and open sourced programs like FireFox, Python, etc. Package management is more a distro issue, than a Linux vs. BSD issue.

If you want to customize your kernel for a specific server configuration, then one of the BSD's might be more optimal. However, if you just want something that works with most devices, especially notebooks, then Linux has a larger collection of drivers.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#20
post #16

The BSDs always feel beautiful to me. (I'm a mixed GNU/Linux, FreeBSD, Mac OSX user. ) The kernel configuration feels more simple and the official documentation feels uniform, informative, and almost always sufficient. If more virtualized hosting providers offered BSDs (FreeBSD in particular) I would choose them over Ubuntu for servers.

I had the same dilemma when looking for virutal hosting-I ended up at rootbsd.net because running FreeBSD was important to me. Not as cheap/featureful as linode, but its good enough for rsync.net its good enough for me.

You can run FreeBSD on Linode as of FreeBSD 8.*. It can run in domU now.
Post reply on HN