
Debian developer revisits FreeBSD after 20 years (2015) - mariuz
http://changelog.complete.org/archives/9317-has-linux-lost-its-way-comments-prompt-a-debian-developer-to-revisit-freebsd-after-20-years
======
krylon
Totally OT rant, but here goes:

> Even then, I still used some of the FreeBSD Handbook to learn Linux, because
> Debian didn’t have the great Reference that it does now.

At work, we are pretty much a Windows shop, and I am often frustrated by the
state of Microsoft's documentation. Some parts, say, .Net API reference, are
pretty good. Reference material for SQL Server is quite good, too (and I will
am very grateful for that, because I have to deal with SQL Server a lot).

But in other parts, documentation is crappy or non-existant (I am looking at
you, SharePoint!) to such a degree that sometimes I wonder if they do this on
purpose to generate business for the hordes of consultants and authors to
write books (although all the SharePoint books I have looked at, sucked, too -
the only helpful search results tend to be the blogs of SharePoint
consultants, those poor souls).

And when people tell me to stop ranting because that is just the way things
are, I tell them to look at the FreeBSD Handbook. Or the OpenBSD
documentation. If these projects that are largely volunteer-driven are able to
supply such excellent documentation, why can't Microsoft?

Okay, enough with the ranting, let me close on a more positive note: I run my
home server on FreeBSD, mostly because of ZFS, but I have come to appreciate
jails and bhyve, too. I love it, because it has not given me any trouble. It
was straightforward to install and set up, and once it was working the way I
wanted it to, it just kept going. (I check for updates regularly, of course,
but that does not take much time, and I would have to do that on any other OS,
too.)

~~~
biohax2015
> But in other parts, documentation is crappy or non-existant (I am looking at
> you, SharePoint!) to such a degree that sometimes I wonder if they do this
> on purpose to generate business for the hordes of consultants and authors to
> write books

Very likely. See: Oracle.

~~~
equalunique
I would say "See: IBM" but sometimes their documentation is brokered by their
sales division, so there isn't anything to see for many.

------
Mister_Snuggles
As a FreeBSD user, I agree with this article.

Virtualization, which is one of my main use cases, works but is far from
perfect. FreeBSD 11 improved things - in particular, UEFI graphics exposed
over VNC makes installing Windows less painful (however, I couldn’t get
networking working in the guest so it wasn’t terribly useful). One huge miss
is that UEFI variables aren’t persisted across guest reboots, so it’s entirely
possible to install a system and not be able to boot it without issuing UEFI
commands.

I really like the clean split between base system and 3rd-party software.
However, I whole heartedly agree that managing 3rd-party software is a mess.
Plus, thanks to the ABI issues, doing major version upgrades is kind of scary.
I’ve never had an issue with a major version upgrade, but doing it scares me
every time.

Finally, there’s one huge issue that FreeBSD finally fixed in 11.1. The kernel
was not compiled with IPSEC in 10.x, and in 11.0 they compiled it with IPSEC
but not IPSEC_NAT_T. It took until 11.1 for IPSec VPNs to finally be usable
out of the box.

~~~
mastax
>Finally, there’s one huge issue that FreeBSD finally fixed in 11.1. The
kernel was not compiled with IPSEC in 10.x, and in 11.0 they compiled it with
IPSEC but not IPSEC_NAT_T. It took until 11.1 for IPSec VPNs to finally be
usable out of the box.

Thank you! I wouldn't have known about this without your comment. I need to
revisit my VPN configuration, getting it to work on FreeNAS 10.1 was a huge
hack.

------
krylon
"There are only two FreeBSD filesystems that are really useable: UFS2 and
ZFS."

Keep in mind that the intense proliferation of different filesystems on Linux
is the rare exception. On Windows, you get FAT, NTFS and ReFS, but nobody uses
ReFS, and FAT is mostly for USB drives, SD cards and such.

On macOS, the situation is not that much different: They have HFS+, more
recently APFS, and they support FAT so you can use USB drives and such.

In practice is not much of a problem. Especially when one of your two options
is ZFS. ;-)

~~~
qmarchi
You're also forgetting about exFAT which is also supported with full r/w on
Windows, macOS, and Linux.

Personally, I've got a partition with exFAT so I can transfer data between
everything on my drives...

~~~
donatj
I keep all my external drives ExFAT so I can use them easily everywhere.

~~~
terminalcommand
ExFAT can be problematic due to corruption. I used to have an external HDD
formatted to ExFAT plugged in on my raspberry pi. When crashes occured whilst
having torrent open, the disk never fully recovered. I had to constantly run
repairs.

For small drives e.g. USB sticks ExFAT is great but for larger drives I'd stay
away from ExFAT.

~~~
glenneroo
My own anecdota: I haven't experienced this ever with exFat on 20+ USB
Flash/HDD drives and I regularly experience crashing Raspberry Pi's (Raspbian
OS) and various flavors of Windows.

------
VLM
Could summarize to Linux is more commercial marketing checkbox oriented now,
whereas FreeBSD is the good old days of itch scratching.

For example, RAID5 hasn't been interesting to me as sysadmin for decade or
more now for a variety of reasons. I did use it back in the days of single
digit gig hard drives to create something useful sized, but its not the
"right" way to do almost everything now except for the weirdest corner cases,
that can be worked around in much better ways. Its something marketing can
checkbox so commercialized Linux will NEVER remove it. I remember the good old
days of having qty six two gig hard drives and software RAID5 on top of them.
Those days aren't coming back, but they were good old days.

On the opposite side, the handbook is useful on a regular basis, so people
often use it, and maintain the heck out of it, making it even more more
useful, repeat.

~~~
ggm
"doesn't have raid5 in geom but has raidz1 in zfs" got me. Geom is useful as a
layer abstraction without raid5 and zfs has raid5 equivalent (and better) so..
why does it matter?

------
gigatexal
I like FreeBSD’s sane layouts, awesome documentation, and simple
administration. But seriously the handbook is documentation gold.

~~~
krylon
> But seriously the handbook is documentation gold.

Amen to that!

~~~
rfraile
Gold if you compared it with what? I think that Arch wiki is superb and have a
lot of more information for the experience user than the FreeBSD manual which
is excellent only for the first approach.

~~~
krylon
Gold compared to what Microsoft and many commercial ISVs dump on their
customers as "documentation".

The Arch Wiki is superb, indeed. Let's call it platinum. ;-)

My issue is that if volunteer driven projects like FreeBSD, Arch Linux or
OpenBSD can provide very high quality documentation, I expect commercial ISVs
to provide documentation that is _at the very least_ that good. Instead,
documentation is often either missing entirely or very bad. Or they have the
audacity to _charge_ you extra for a manual.

------
ComputerGuru
Site appears down for the moment, but I thought the title sounded familiar.

No qualms with the repost, but for anyone interested there was a very healthy
discussion about this article three years or so ago:
[https://news.ycombinator.com/item?id=9025437](https://news.ycombinator.com/item?id=9025437)

------
foxhop
I started as a user of FreeBSD, I run Linux at work and on my personal
computers, As for my personal servers, I'm all in with SmartOS hypervisor.

SmartOS is so simple to use.

~~~
Timothycquinn
If I was going to build a private home server, I would choose SmartOS as well.
It has all the parts needed and most importantly, virtual networking OOTB via
CrossBow. I have not found any feature complete virtual networking in Linux or
*BSD. Have to use XEN or VMWare.

With that said, I use Linux for my desktop as it gives the best user
experience on a laptop. IMO, FreeBSD and variants still don't cut it at this
time for dekstop.

~~~
elcritch
Have you tried SmartOS as a desktop by chance? I’d love to use SmartOS for my
workstation but am currently using Ubuntu with ZoL because I doubted the level
of GPU support on SmartOS.

~~~
foxhop
SmartOS isn't really for workstations, unless your workstation doesn't need a
GUI (mine does). That said, I'm about to create a blog post and youtube video
on how to run SmartOS at home for real cheap (as in cheap hardware and
electricity)

~~~
ianai
I’ll be interested in that article.

------
qwerty456127
The main problem of BSD OSes (including FreeBSD and macOS) is that they
include different (not 100% compatible) versions of the basic command line
tools and the GNU versions usually are better.

~~~
disconnected
Linux distros tend to use the GNU userspace utils (or busybox on embedded
systems), while The BSD family uses their own (IIRC, a descendant from the old
BSD lineage).

The main difference - as I understand it - is that the BSD variants are
strictly POSIX compliant, while GNU tools decided to diverge from that
behavior (see: POSIXLY_CORRECT, other compatibility flags) for better
usability, more features, and so on.

So, if anything, it is GNU that is "different" and "incompatible".

(Not necessarily a bad thing, mind you)

~~~
qwerty456127
> So, if anything, it is GNU that is "different" and "incompatible". (Not
> necessarily a bad thing, mind you)

What I mean under "incompatible" is not-supporting everything that the other
does. Just couple of trivial examples: `sed -i 's/require/include/' Rakefile`
throws `invalid command code R` Mac (you must use `sed -i ""
's/require/include/' Rakefile` instead) and `dd` does not support
`status=progress` on Mac so you have to pipe it through `pv` and this is not
free in terms of performance.

~~~
sdkmvx
On BSD (including Mac OS X), you can also type ^t at dd, and it will print
status information.

If that doesn't work, do stty status ^t first.

This is SIGINFO; it's been in BSD for a long time, but isn't in Linux and is
relatively unknown nowadays. Quite a few BSD command line programs will
respond to it.

~~~
qwerty456127
Cool! Thanks! This is a thing I wish every program on every OS would support.

------
halayli
After using FreeBSD for many years and having to move to linux for various
reasons, I still miss kqueue and FreeBSD's superior networking stack.

------
digi_owl
"The bad: ABI stability

I’m used to being able to run binaries I compiled years ago on a modern
system. This is generally possible in Linux, assuming you have the correct
shared libraries available."

May be true for terminal stuff that rely mostly on kernel syscalls to get
stuff done. But deity help you if you try to get a GUI binary you want to get
going. You may well have to clone a distro from back then in terms of libs.

And things may even balk at Xorg if something happens to talk some xlib stuff
that didn't come along in the xcb transition...

------
oldcynic
Even allowing for the age of the piece this seems pretty partisan.

Only one I'll pick out - RAID5. Who cares about RAID5 with current disk sizes?
Should be using ZFS, probably under RAIDZ2 or 3, if you actually care about
your data.

Home servers have been running FreeBSD since the days of 2.x. I'll not be
giving up ZFS, jails, and what seems to be the best net stack anywhere, any
time soon.

------
ggm
As an ongoing FreeBSD user, a BSD user since the 1980s, and a Debian user
since about 5 years ago I agree with this article in main sense. I might
differ in details, but its an even handed and fair summary.

------
trisimix
Might be something i install to a vm as a project. Not seeing any compelling
reasons to switch from arch except zfs

~~~
rwmj
And ironically the latest FreeBSD doesn't boot in QEMU if you're using AMD
hardware, as of about a month ago. The bug has been open since 2016:
[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213333](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213333)

~~~
GalacticDomin8r
So filing a QEMU bug on FreeBSD's tracker is supposed to help how?

~~~
rwmj
While we can argue about precisely where the blame lies, I'm leaning towards a
FreeBSD bug here since it cannot handle the topology that QEMU supplies (yet
Windows, Linux, older FreeBSD can). In any case maybe the FreeBSD community
could interact with the QEMU community, since virtualization is probably the
way most new FreeBSD users come on board.

~~~
slacka
I couldn't find this issue on the QEMU bug tracker.

[https://bugs.launchpad.net/qemu/](https://bugs.launchpad.net/qemu/)

Since you encountered it and I don't yet have AMD hardware to test, would you
mind reporting it?

~~~
rwmj
No, because (as discussed above):

(1) I do not think it's a QEMU bug. Windows, Linux and older versions of
FreeBSD work fine.

(2) I'm one of those people who thought, let's try to compile some software on
FreeBSD .. meh can't get it to work.

It's really for FreeBSD to fix this, if they want to on-board new users (and
maybe they don't, that's totally fine too).

~~~
bsdhacker
I use an older version of QEMU with the latest version of FreeBSD and it works
fine.

------
TimWolla
(2015)

~~~
sctb
Thank you! We've updated the headline.

------
davidgerard
> The bad: package management

> Roughly 20 years ago, this was one of the things that pulled me to Debian.

yep. synaptic was _the_ thing that drew me from FreeBSD to Ubuntu 5.04. It was
so clearly the Right Thing. I wanted to go back and say GUYS HAVE YOU SEEN
THIS

that and that on FreeBSD, I kept finding myself running Linux binaries under
compat, rather than native binaries, because they were actually more stable.
sigh.

------
WhyNotHugo
I'm really surprise how many users see Debian's packing as being so great.

I've contributed to several projects upstream, and, as devs, Debian's
packaging is a PITA.

We constantly get bug reports for _very old_ major versions, because Debian is
way out of date. We don't support these versions, but bug reports from Debian
users keep coming because it's the latest in debian.

But there's actually a worse scenario: bug reports we can't reproduce. Because
Debian packagers consistently patch applications in their packages. _A lot_.
So we get bug reports that aren't from our actual code, but rather a "Debian-
forked-version".

Clearly, the end-user interests are completely different from the upstream
devs'. But the issues are pretty evident from the other side.

------
ianai
His negatives are largely overblown or not bound to only FreeBSD. Also, if you
want security updates with a shorter time lag then maybe you should contribute
them. It’s a much smaller community so it’s going to move slower. Also (2015)

------
yaseer
Who here uses FreeBSD in production, and what use-cases do they find it better
than Linux for?

~~~
drewg123
We use it at Netflix for our Open Connect CDN.

In general, the FreeBSD performance is far better for our workload (we have
served up to 100Gb/s from a single-socket CDN node). In fact, I'm sitting here
reading HN while watching a single-socket E5-2697A machine ramp up past 92Gb/s
for a 100% TLS workload.

~~~
2trill2spill
I hate to nag you. But whats the status of TLS sendfile? That feature is a
great example of what FreeBSD can do, unfortunately it's still closed source.

~~~
drewg123
Yes, sorry. We keep getting busy doing other things. I'm actually working on
getting it upstream now. I was testing some "before upstreaming" cleanups to
make sure I didn't break anything :)

------
chungy
While I note this article is from 2015, Synthing is a very good, open source,
file synchronization tool that should work on both FreeBSD and Linux. Nice
replacement for Dropbox :)

~~~
Fnoord
How does it compare to Nextcloud or Rsync?

~~~
gkya
It's written in Go so no httpd is needed (IIRC Nextcloud and Owncloud are in
PHP so would require an httpd to run), and it has an Android (and probably an
iOS) app. I do use it, it's nice, tho I'd appreciate better documentation.

------
Ericson2314
We really need to support more kernels on NixOS. Different distros duplicating
work is unfortunate, and muddles the experiment.

------
GalacticDomin8r
An even less accurate representation now than it was back then.

------
HugoDaniel
"btrfs isn’t there yet, but will be awesome when it is."

So awesome that Red Hat Linux even deprecated it.

"Its laptop support leaves something to be desired. I installed it on a few-
years-old Thinkpad — basically the best possible platform for working suspend
in a Free OS. It has worked perfectly out of the box in Debian for years."

Perfect as in "everything except certain common features and expected
annoyances" like suspend/resume et al. But this year is the year you know...

Does anyone even fall for these Linux rants ?

~~~
calpaterson
I use Debian on desktop and laptop all day every day and have not had a
problem with suspend and resume in at least the last 5 years. At this point,
it seems to work at least as well as Windows and Mac (perhaps better - I've
seen a few Windows users having suspend problems).

~~~
jmiserez
Suspend-to-disk too?

~~~
vetinari
Does anyone really use suspend-to-disk? It takes awfully long to write 8-16 GB
of data, then awfully long to read it back. It is much faster to just boot,
than to restore from suspend to disk.

~~~
jmiserez
Yes, that is my experience too on Linux. However, most times it isn’t actually
necessary to write the full RAM out and IIRC Windows and macOS actually don’t.
There are a few approaches that work, e.g. you can do memory ballooning and
drop caches to reduce memory usage before suspending. In addition, you can
write unused RAM pages to disk during normal operation, so that when the user
wants to suspend, most of the pages are already on disk.

