Live data from Hacker News

BSD vs. Linux (2005)

over-yonder.net

11–20 of 371 posts

Re: BSD vs. Linux (2005)

#11
I think the best, and most traditional, comparison is the Cathedral and the Bazaar[1]. Pretty much every observation the author makes can be framed in this comparison. BSD has built-in libraries, and has a cohesive architecture. Linux is popular precisely because of its chaos. It is incredibly easy to hack some feature together in Linux. It will probably start out as ugly, but if enough people glom onto it, it will become great and maybe even secure. It is pretty clear that Linux became popular not because it was the best, but because it was the fastest development path.

Obviously BSD has its uses, but if you're looking to develop a new feature and get it out the door (in OS development) Linux is the easiest choice.

[1]ESM https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar

Edit:

I remember reading somewhere that Netflix uses BSD for all of its net-intensive servers as network performance tuning on BSD is, at least by reputation, better, but they use Linux as their workhorse. They employ some FreeBSD committers though (obviously not everyone can do that).

Re: BSD vs. Linux (2005)

#12
I know Linux (Debian) quite well and would like an excuse to try learning FreeBSD, but I just can't find any serious use-cases where FreeBSD would be of any advantage.

I run a small site on a VPS, so:

1. I don't have GBs of free memory for ZFS

2. I don't have GB of RAM, CPU and HD space to build everything from ports, and most importantly, no need.

Except for an Application Firewall for nginx, what does ports have over deb packages? All in all, how much MB of free RAM or free HD space will I win by compiling everything myself (taking time to do so, and pushing off security updates because I don't have the time to sit and watch the compilation, hoping nothing breaks (which _did_ happen once)

3. License - I don't care. GPL is free enough for me.

4. Base vs. Ports - Why should I care? Debian (testing!) is stable enough for me. Except for dist-upgrades, I never ran into issues, and then it may be faster to nuke the server from orbit. Now had BSD "appified" the /usr/local directory (rather than keeping the nginx binary in /usr/local/bin and conf in /usr/local/conf it would have kept everything related to nginx in a /usr/local/nginx) it would have been interesting, but now?

If anything, I like how Debian maintains both base and ports, so I can get almost any software I need from apt-get, and don't have to worry about conflicts.

5. systemd? The reason Debian went with systemd was (IIRC) because they didn't have the manpower to undo all of RedHat's work in forcing all applications to integrate into systemd (such as GNOME). I don't know how FreeBSD is doing in that regard.

I don't mind learning new systems. (see my username :) ). I actually understand what nixos or coreos, for example, bring to the table. But FreeBSD?

Re: BSD vs. Linux (2005)

#13
post #12

I know Linux (Debian) quite well and would like an excuse to try learning FreeBSD, but I just can't find any serious use-cases where FreeBSD would be of any advantage. I run a small site on a VPS, so: 1. I don't have GBs of free memory for ZFS 2. I don't have GB of RAM, CPU and HD space to build everything from ports, and most importantly, no need. Except for an Application Firewall for nginx, what does ports have ov…

I'm inclined to agree that there probably aren't any great reasons why you would benefit from FreeBSD rather than Debian, but just to correct one misconception:

I don't have GBs of free memory for ZFS

In the early days of ZFS it required many GB of memory -- it was developed for Solaris, and designed for servers with lots of memory. But it has improved dramatically since it first came to FreeBSD, and people run it with far less memory these days.

Re: BSD vs. Linux (2005)

#14
post #10

I feel this captures a lot of the feel I had for FreeBSD even back in 2001 when I used it quite a lot. It had a sense that you were chiseling out this solid system that would remain for eternity, along with an assurance of security and stability. I run Ubuntu now on multiple devices. It often has a feel of flimsy binary patches. I don't know that I care too much though as it works well. I have family members too on i…

yeah, how many homesickness.. FreeBSD is really cool BSD OS I like it. In other hand CentOS is my default Linux Server :D Debian is really cool OS too..

Re: BSD vs. Linux (2005)

#15
I tried freebsd. Gone back to ubuntu. In this day and age not having proper dependency resolution for packages is not acceptable. I've more than once had some tool based on ports just go into an infinite cycle when asked to upgrade some packages.

The philosophy laid out in this article seems more like rationalization of historical accidents more than anything else. Linux file system layout is just as predictable as anything else. Configuration goes in /etc, PID files and other such things go in /var, things local to the users go in /usr/local, cron related things go in /etc/cron.d, and so on and so forth. FreeBSD file system layout on the other hand makes no sense to me and the rc system is even more bizarre. Do I really need to specify "XYZ_start=YES" when upstart, systemd, and others have this stuff all sorted out already. Well not systemd so much but close enough.

Overall the BSDs are too low level for development and play purposes. For deploying proxies, caches, NATs, and other such single purpose things I'm sure they're great but anything else not so much.

Re: BSD vs. Linux (2005)

#16
post #12

I know Linux (Debian) quite well and would like an excuse to try learning FreeBSD, but I just can't find any serious use-cases where FreeBSD would be of any advantage. I run a small site on a VPS, so: 1. I don't have GBs of free memory for ZFS 2. I don't have GB of RAM, CPU and HD space to build everything from ports, and most importantly, no need. Except for an Application Firewall for nginx, what does ports have ov…

1. zfs runs well on a lot of systems. You might have to change a setting or two but it's not as you say.

2. pkg install and the related pkg utilities have existed for awhile.

5. systemd isn't and shouldn't be a requirement for applications going forward. Any application that requires it is limiting its portability for unknown reasons.

The joy of trying a new system is the little things you learn that you weren't even aware of before.

Re: BSD vs. Linux (2005)

#17
post #12

I know Linux (Debian) quite well and would like an excuse to try learning FreeBSD, but I just can't find any serious use-cases where FreeBSD would be of any advantage. I run a small site on a VPS, so: 1. I don't have GBs of free memory for ZFS 2. I don't have GB of RAM, CPU and HD space to build everything from ports, and most importantly, no need. Except for an Application Firewall for nginx, what does ports have ov…

> 1. I don't have GBs of free memory for ZFS

ZFS does not require large amounts of RAM any more, unless you want to benefit from its impressive caching features and have large amounts of disk space.

> 2. I don't have GB of RAM, CPU and HD space to build everything from ports, and most importantly, no need.

Since FreeBSD 10, pkg-ng has been the standard. It unifies binary packages installable similar to apt and other linux package managers with your custom ports built packages as needed. Now you can mix and match seamlessly and there is no need to have an entire ports tree unless you have special needs.

> 3. License - I don't care. GPL is free enough for me.

Each to their own, but MIT and BSD are, to me, free-er and more friendly to business applications.

> 4. Base vs. Ports - Why should I care? Debian (testing!) is stable enough for me. Except for dist-upgrades, I never ran into issues, and then it may be faster to nuke the server from orbit. Now had BSD "appified" the /usr/local directory (rather than keeping the nginx binary in /usr/local/bin and conf in /usr/local/conf it would have kept everything related to nginx in a /usr/local/nginx) it would have been interesting, but now?

The layout you're discussing is basically what happens by default when things are `make install`ed most times without any customizations. The layout that you're lamenting makes sense enough and has merits, with no need to be "appified" -- that is what packages are for. Again, I implore you to check out pkg-ng, it is a core feature of the OS now.

> 5. systemd? The reason Debian went with systemd was (IIRC) because they didn't have the manpower to undo all of RedHat's work in forcing all applications to integrate into systemd (such as GNOME). I don't know how FreeBSD is doing in that regard

People are experimenting with alternative init systems in the BSD world, though we will likely never directly have SystemD, there are some efforts to support systemd unit files as well as some new directions taking into account Apple's work as well as lessons learned from systemd to build a BSD licensed alternative to all of the above.

> But FreeBSD?

FreeBSD brings to the table a free, cohesive, highly engineered and integrated operating system that is coming into its prime. There are a multitude of advanced features in terms of filesystems, networking, and more. FreeBSD has first class support in AWS and some other major cloud environments. However, FreeBSD has been and continues to be a server focused operating system. Even so, FreeBSD on the desktop is coming along, but it's certainly nowhere near linux in that regard.

In the end, each to their own, if you find a reason to like and use it, then great, but at the least you should look into it and learn what you can from it, like any system.

Re: BSD vs. Linux (2005)

#18

I tried freebsd. Gone back to ubuntu. In this day and age not having proper dependency resolution for packages is not acceptable. I've more than once had some tool based on ports just go into an infinite cycle when asked to upgrade some packages. The philosophy laid out in this article seems more like rationalization of historical accidents more than anything else. Linux file system layout is just as predictable as a…

It's really not just a rationalization. BSDs control the kernel and the userland, meaning that file system layout is coherent. Check any Ubuntu installation and packages are all over the place. This is perhaps unavoidable.

Also, OpenBSD, DragonflyBSD, and FreeBSD can all be used as server or desktops without much fiddling. Their installers are better than anything in the Linux world. You can have one up and running with a nice wm, browser, etc, in 15 minutes.

They are more finnicky about hardware, but when you can buy a laptop for $200, that's not so much an issue.

Re: BSD vs. Linux (2005)

#20

I tried freebsd. Gone back to ubuntu. In this day and age not having proper dependency resolution for packages is not acceptable. I've more than once had some tool based on ports just go into an infinite cycle when asked to upgrade some packages. The philosophy laid out in this article seems more like rationalization of historical accidents more than anything else. Linux file system layout is just as predictable as a…

It's really not just a rationalization. BSDs control the kernel and the userland, meaning that file system layout is coherent. Check any Ubuntu installation and packages are all over the place. This is perhaps unavoidable. Also, OpenBSD, DragonflyBSD, and FreeBSD can all be used as server or desktops without much fiddling. Their installers are better than anything in the Linux world. You can have one up and running w…

I don't think the layout is coherent at all. Ubuntu layout is much more coherent. If I need nginx configuration I look in /etc/nginx. Following the same pattern if I need mysql configuration I look in /etc/mysql. If I need to figure out the actual daemon configuration for each I look in /etc/init. It's all very nice and tidy. Actual binaries go in /usr/local/bin or /usr/bin or /bin. That's pretty much all I need to know for any binary or daemon. This is not true in FreeBSD. So where exactly is the incoherence?
Post reply on HN