Follow

What's great about BSD? I feel like I have more or less ignored it as "Linux but kinda different, idk, I think MacOS is based on BSD?" which I know is probably wildly inaccurate.

BSD people, why do you like BSD? What does it do better than Linux? What does Linux do better than BSD?

@rgegriff The system's a lot simpler and easier to understand. FreeBSD ships with enough stuff to be "useful" (tho still not a giant stack of crap), the others are more minimalist and you pkg add everything you want.

There's usually one good, working way to do anything. Because of that, as long as you're on supported hardware, it Just Works. The developers aren't throwing everything out every 6-18 months and redesigning it.

ZFS is a lot more reliable than any Linux filesystem.
#bsd

@rgegriff The FreeBSD Handbook docs.freebsd.org/en/books/hand
is actually useful documentation.

The Mac (NeXTstep) has a Mach kernel with a BSD userland, so it's similar, but native very low-level stuff is radically different. BSD is a much more conservative, comprehensible system.

@rgegriff If something's not in pkg, you're gonna be recompiling from source. I find most stuff works just fine like that, but not all.

Linux has some attempt at games with Steam; doing that on FreeBSD with the runs-Linux-binaries thing is flaky at best, and there's basically no games on BSD. That's what consoles are for!

Ironically, Playstation runs BSD, and some parts are running OpenStep GUI.

@rgegriff

Personally, I prefer the way that BSD is put together as a Unix-like, as in: it's basically a Unix. So things work based on a design that, while it is older, has worked well and is reliable for many use cases. Additionally, much of it is (fairly) simple and logical.

I also like plan 9, which is definately NOT Unix, and doesn't want to be - because the people behind it had worked with Unix and it has some interesting pointy things that will cut you if you're not careful.

I like the OpenBSD "we use this, and we don't try to do everything - we make it run on what we have" method.

NetBSD is... I've never run it. I know people who have and who used it exclusively, and it worked well for them. I was trying to run it on early Xen, but... that's about when the NetBSD "of course it runs NetBSD" started being more "of course it DOESN'T run NetBSD, we don't have anyone to work on that."

FreeBSD I have run, am running as a switch now (pfsense) and it has done well. I am less happy with it these days as various folks leading the project left the team (went to Apple, etc) and it hasn't really regained leadership... it just sort of limps along.

My main reason for liking BSD:

I like pf.

A lot.

My history of the internets goes back far enough to have been on an irc channel waaay back when with the author of pf. I don't recall ever speaking to him, different timezone, and I was fairly new to the channel when he stopped frequenting it. But as that group on irc had their stuff together, I knew he also did, and ... well, pf holds up.

Also, BSD doesn't have Leonart Poettering doing any damage to it by means of "I know better than anyone else, that exploitable thing is not a bug, I designed it that way."
(Except the Apple variety, which... falls right into that category.)

Linux does "make itself seem like the only modern Unix that is relevant" better. It's popularity means that people work on it more, which is both a blessing and a curse. You get more new things, faster; but you also get things broken faster. (And you also get a lot more of the people who are the type who you'd rather not see develop anything you have to touch; and the type who are obnoxious as all hell and say utterly fscked up things like "you blind people don't deserve support because you haven't committed any patches, so shut the fuck up about accessability, you don't deserve anything.")

(on that note, both BSD and Linux are absolutely abysmal when it comes to accessability.)

Also you get lots of different possibilities, due to the way it's not really Unix, but "hey this worked, let's test it a bit and ship it!" And then you get lots of arguments, which engineers like. Some can't stand the packaging, some insist the first packaging is the only one to use, and some don't use package management at all anymore and just ship containers with everything in them to run a program. I'll let you ponder which of these is most open to compromise by an external party...

I like BSD, I can't run it at work because it's not popular enough to have a team of people who they can pay to provide enterprise support along with enterprise Microsoft support. (And before someone says "well they could" there also isn't anyone who can do that for osX, so... I'm happy enough that I don't have to use Windows, and I get paid.) I can run it for some of my machines that I personally have services on, and do. Others I run on Linux, as sometimes a program has developers who don't know much about how to write programs that work outside of their own machine, but running that program will save me a lot of time which I would lose if I had to write it myself.

@rgegriff

I might mention the openbsd.amsterdam instances are really cool, in that they're openBSD virtual machines running on top of the openBSD hypervisor. They are very cheap and your money that goes there will be partially used for a donation to OpenBSD itself. Also the support is fantastic.

I'd reccomend looking at it, if for no other reason than how cool it is to see it working inside an openBSD hypervisor, with access to the hypervisor console and all that.

Of course, I reccomend doing an install on your own hardware first (: OpenBSD runs on a lot of neat things, though again, not anything they don't have hardware for - or things that have extremely closed hardware. (early raspberry pi, for example, was too closed. It does have some riscV boards running it, though, so - I'm happy about that also.

RPI3 and 4 have support.

Oh, yeah, I had no issues with wireless on openbsd - so long as the laptop had a chipset someone else had, which meant it had a working driver. FreeBSD wireless is... not as good.

OpenBSD wireless was "add a single line to the startup config." i.e. "just works." I like that.
Linux wireless is "what's wrong with wpa_supplicant now? bah, gonna install iwd, no, network-manager stop replumbing my interfaces NO STOP THAT ok get rid of network-manager NO DON'T INTALL CONNMAN I JUST NEED iproute2 I UNDERSTAND MY NETWORK I DESIGNED IT, YES IT IS POSSIBLE TO UNDERSTAND A NETWORK WITHOUT DHCP AAAUGH LINUX NETWORKING IS SO NOT FUN"

"but we have netplan now" oh shut the hell up

@rgegriff MacOS uses the XNU kernel, which came from NeXT. It is partially based on BSD, but to give some idea of how far they have strayed, XNU stands for X is Not Unix.

As a simple example, macOS does not store passwords in /etc/passwd nor /etc/shadow. They decided to do their own thing. This led to a vulnerability the ability to log in as root with no password. venturebeat.com/security/probe

I would not say it's fair to BSD to consider macOS to be a BSD at this point.

@rgegriff More to the spirit of your question though, there is not a huge difference in the day to day operations of BSD as compared to Linux.

It's usually the same (largely GNU) software: X11, wireshark, ls, dd, SSH... you get the idea. In many cases it's not just similar, it is literally the same software.

The kernel is what makes one system be BSD or Linux. This means what does vary is hardware support, and that varies drastically even among different flavors of BSD.

@rgegriff Some people argue that the documentation is better or that the commands are more consistent, but I disagree.

"dd" still uses if=whatevs, "ps" and "tar" options don't require a dash (e.g. "ps aux", and "ls" requires the dash.

The best argument I've heard for BSD is OpenBSD. It is still a small kernel, lacking in features, which is how it achieves its security.

I suppose netBSD deserves honorable mention for taking the opposite approach: support everything under the sun!

@rgegriff OpenBSD is usually my go-to for a firewall. The base system has enough stuff (for the most part) to do what I need, and I like working with PF as a firewall. I don't think it's quite as performant as FreeBSD or Linux in terms of network throughput, but for my home internet connection it hasn't really been a bottleneck.

I have a file server running FreeBSD. Jails are nice, and it's a little easier to work with ZFS there than on Debian, although it still works well on Debian. Having system and packages separate is nice too (on FreeBSD, most software from ports or packages goes under /usr/local).

Overall, outside of something like a file server or firewall I usually stick with Debian or a related distro. I feel like the BSDs are more at home if you're going to stick to their way of doing things. Linux systems feel a little more chaotic but flexible.

@rgegriff OSX is based on a BSD kernel (the Mach32)... Haven't run a BSD myself, so can't comment otherwise (all Linux for me kernel-wise).

@rgegriff I can only comment on FreeBSD specifically, but the other BSD's have similar philosophies with some technical differences.

Reasons why I like BSD:
- Stems from the original UNIX family tree (Linux is it's own tree)
- Userspace and kernel are designed together (good integration)
- Kernel is significantly smaller than Linux kernel
- Very lightweight. Like Alpine Linux lightweight.
- Very easy to build from source

Those are all reasons I like it. Clean, simple, and light.

Some other goodies are jails, zfs, capsicum, pledge (openbsd). These are real technical differences, but if you aren't used to them they may not be helpful.

Reasons why Linux is better:
- Driver support (this is kind of Linux's best reason)
- more dev support in general
- io_uring
- docker
- better desktop support

Disclaimer: Would recommend trying out a server before desktop. Desktop can be frustrating if you dont win the hardware lottery

@rgegriff Belatedly: I'm not a BSD user, but had NetBSD installed in a VM three times now; it's a small, fast, no-nonsense OS that you configure by editing simple text files in documented locations, and it *stays put*. Less convenient than Linux for a number of reasons, but we've all been sacrificing way too much for convenience of late.

One argument I saw a while ago: randomnixfix.wordpress.com/202

Sign in to participate in the conversation
hackers.town

A bunch of technomancers in the fediverse. This arcology is for all who wash up upon it's digital shore.