[HN Gopher] FreeBSD from a NetBSD developer's perspective
       ___________________________________________________________________
        
       FreeBSD from a NetBSD developer's perspective
        
       Author : jayp1418
       Score  : 99 points
       Date   : 2021-06-06 18:21 UTC (4 hours ago)
        
 (HTM) web link (washbear.neocities.org)
 (TXT) w3m dump (washbear.neocities.org)
        
       | cosmotic wrote:
       | Users perspective? This specific user is a developer; I'd say
       | this subject is quite misleading.
        
         | dang wrote:
         | Ok, we've promoted the user in the title above.
        
       | yjftsjthsd-h wrote:
       | > On the other hand, QEMU is this huge piece of software with
       | documentation scattered all over the web and no man pages.
       | 
       | On every Linux distro I can recall it has manpages, and glancing
       | at the AUTHOR section on Ubuntu implies that it's upstream and
       | not a local distro-added thing. Anyone know what's going on
       | there?
        
       | motiejus wrote:
       | > On the other hand, QEMU is this huge piece of software with
       | documentation scattered all over the web and no man pages.
       | 
       | My frequent resource: https://manpages.debian.org/jessie/qemu-
       | system-x86/qemu-syst...
       | 
       | Not available for BSDs? Maybe that's a mishap by the distro?
        
         | toast0 wrote:
         | I've got several man pages for qemu (FreeBSD 13.0, qemu-5.0.1)
         | $ apropos qemu        qemu(1) - QEMU User Documentation
         | qemu-img(1) - QEMU disk image utility        vdeq, vdekvm,
         | vdeqemu(1) - Virtual Distributed Ethernet wrapper for QEMU/KVM
         | virtual machines        qemu-block-drivers(7) - QEMU block
         | drivers reference        qemu-cpu-models(7) - QEMU CPU Models
         | qemu-ga-ref(7) - QEMU Guest Agent Protocol Reference
         | qemu-qmp-ref(7) - QEMU QMP Reference Manual        qemu-ga(8) -
         | QEMU Guest Agent        qemu-nbd(8) - QEMU Disk Network Block
         | Device Server
         | 
         | OTOH, there's no manpage for qemu-system-X, so maybe that's the
         | confusion.
         | 
         | Also, >the pw man page is much scarier than NetBSD's useradd.
         | 
         | FreeBSD has an adduser(8), which is a bit more friendly than
         | pw.
        
       | andix wrote:
       | I never understood why you would use BSD instead of Linux. It it
       | just a preference, or is there really a benefit?
        
         | selfhoster11 wrote:
         | Preventing software monoculture, for one. The same argument
         | could have been made about using Linux instead of Windows not
         | that long ago.
        
           | Koshkin wrote:
           | To be fair, when faced with a need to make a practical
           | decision on whether to use a Linux or a BSD preventing
           | software monoculture is the last thing on my mind. (In fact,
           | my decision would often be influenced by wanting to keep the
           | infrastructure as uniform as possible.)
        
           | nix23 wrote:
           | The terrible 1995-2000, where Dec and Solaris boxes where
           | thrown away and shiny windows servers run everywhere, not one
           | day without a hard reset.
        
         | rwaksmunski wrote:
         | FreeBSD has superior:
         | 
         | - package management (pkg & ports)
         | 
         | - file system (native ZFS)
         | 
         | - instrumentation (systat & dtrace)
         | 
         | - documentation (handbook & examples in most man pages)
         | 
         | - event notification interface (kqueue vs broken by design
         | epoll & inotify)
         | 
         | - license (BSD, no GPLv3 at all)
         | 
         | - stability (POLA)
         | 
         | - quality control (no shellshock, no dataloss on fsync)
         | 
         | - network performance (200gbps TLS encrypted traffic on a
         | single socket at Netflix, millions of open connections per
         | server at WhatsApp)
         | 
         | - scaling (there is no cliff when resources get saturated just
         | a bit of a "back pressure")
         | 
         | It adds up to the point where I see some companies keep their
         | use of FreeBSD secret as a competitive advantage.
         | 
         | On the other hand I really like what Alpine Linux is doing.
        
           | kiwijamo wrote:
           | Agree with all except the package management part. I switched
           | to Debian after 15 years using FreeBSD simply due to how much
           | better apt is. I don't have much time so unattended-upgrades
           | is a live saver for me. I do miss FreeBSD though, it is
           | really well designed and thought out but it is more suited to
           | people who are happy to maintain the packages regularly
           | especially when there are major upgrades. A recent example is
           | the change in the default version for Python which needed
           | some manual intervention to sort out the packages. Somethjng
           | that honestly apt does much better.
        
             | rwaksmunski wrote:
             | I agree, apt is a path well traveled and python2 -> python3
             | migration had some opportunities for improvement. On the
             | other hand I can custom build nginx with a TUI and have
             | package registered as an actual package instead of just
             | being dumped into /usr/bin & /etc/ like with a manual build
             | on Linux. That feature alone makes me believe FreeBSD
             | packages are a tiny bit better as I use it all the time.
        
             | drewg123 wrote:
             | Whatever happened to debian built around FreeBSD? (debian
             | kFreeBSD?). Did systemd kill it?
        
           | drewg123 wrote:
           | As a FreeBSD user, the pkg/ports system is the biggest
           | frustration I have. I run -current and update every few weeks
           | (using zfs boot envs and beinstall and pkg upgrade). Every
           | few months, there is some breaking change. Something suddenly
           | wants to uninstall KDE, or cannot find a path forward, etc. I
           | ran ubuntu for years and updated as- or more-frequently and
           | never encountered these problems. Even updating from LTS to
           | LTS was smoother.
           | 
           | I think part of the difference is that ubuntu is a fixed
           | release, while FreeBSD is a rolling release. I wish there was
           | a fixed release of FreeBSD. The best I've been able to do is
           | using -stable quarterly pkgs on FreeBSD-current. This way, I
           | only get security updates except for 4 times a year..
        
         | nix23 wrote:
         | Yes it's a massive benefit (for me), but i don't tell you which
         | one, because would you believe me that linux is better for
         | server and development then windows without testing it out for
         | yourself?
        
         | pjmlp wrote:
         | BSDs actually descends from UNIX and had it not been for the
         | AT&T litigation, most likely Linux kernel wouldn't have had the
         | uptake it had.
         | 
         | Additionally we don't need UNIX monoculture.
        
         | toast0 wrote:
         | Why do you use Linux instead of BSD? It's the same question.
         | 
         | Some potential reasons for using FreeBSD:
         | 
         | It's the same three firewalls forever, not a progression of
         | different firewalls.
         | 
         | Old knowledge still works, for example, netstat is still the
         | way to list socket connections and ifconfig is still the way to
         | configure interfaces. I did some work with FreeBSD in 1999, and
         | then nothing until 2004, and all the knowledge transferred,
         | then in 2011 I changed jobs and skipped ahead several versions,
         | and again all the knowledge transferred. But I kind of stopped
         | using Linux heavily in 2013, and when I had to work on it at
         | work in 2016, all the tools had changed, so I had to relearn
         | (or just avoid the Linux part of my job, which I had the luxury
         | of doing).
         | 
         | Official kernel support for ZFS.
         | 
         | Receive side scaling support is nice, if you need it; although
         | I guess not a lot of people do.
         | 
         | Different positions on philisophical arguments like an
         | integrated source repository with the kernel and the base
         | userland software, or init systems.
        
           | bombcar wrote:
           | The "old knowledge" thing is a huge one - I know there are
           | reasons why Linux keeps changing which firewall manager
           | you're supposed to use and now we do ip addr show instead of
           | ifconfig eth0 but it is annoying to keep up.
           | 
           | I know Linus has a "don't break userland" theory which causes
           | some of the above, but it breaks MY userland memory when I
           | have to learn new tools.
           | 
           | Of course if you stay with Ubuntu you'll find fifty thousand
           | posts on whatever question you have.
        
             | AshamedCaptain wrote:
             | > I know Linus has a "don't break userland" theory which
             | causes some of the above
             | 
             | And the worst part, Linux actually breaks userland _way_
             | more often than any of the *BSDs...
             | 
             | "Moving what should have been dev nodes to sysfs since 2010
             | (TM), then reorganizing sysfs every couple years..."
        
         | Koshkin wrote:
         | The way I see it, there's a bigger difference between some
         | Linux distributions than between, say, Slackware Linux and a
         | BSD, so one could also ask why someone would use Arch instead
         | of Ubuntu (or the other way around).
        
         | linguae wrote:
         | I use FreeBSD on my servers and for research for the following
         | reasons:
         | 
         | 1. The documentation is excellent. The man pages are well-
         | written and have useful examples, and the FreeBSD Handbook and
         | Developer Guide are great resources.
         | 
         | 2. First-class support for features such as ZFS and Dtrace.
         | 
         | 3. This is a preference, but I like the BSDs' conservatism when
         | it comes to adding new features. It seems that new features in
         | the BSDs seem to be more in line with the Unix philosophy
         | (similar to the Solaris and Joyent communities' attitudes),
         | while the Linux community seems to be more willing to add
         | features that may solve problems, but not necessarily in the
         | way that some diehard Unix users would (e.g., PulseAudio,
         | systemd).
         | 
         | With that being said, I use Linux for work and in the WSL
         | environment on my Microsoft Surface tablet. Linux is also a
         | great operating system, and sometimes I need to use Linux
         | instead of FreeBSD for hardware and software support reasons
         | (for example, I use CUDA for my job, which needs Linux).
        
       | linguae wrote:
       | I wonder how close NetBSD's design is to 4.4BSD, the last version
       | of BSD from UC Berkeley's CSRG? My understanding is that FreeBSD
       | has a lot of features that are exclusive to it, such as jails and
       | Capsicum, and FreeBSD also has some Solaris-derived components
       | such as ZFS and Dtrace. I'm under the impression that NetBSD's
       | specialty is in providing a BSD that is easily portable to a wide
       | range of architectures. Because BSD is not just a kernel, but an
       | entire operating system, NetBSD's portability makes it attractive
       | when choosing a Unix for "exotic" hardware.
        
         | Koshkin wrote:
         | > _Because BSD is not just a kernel, but an entire operating
         | system_
         | 
         | To my chagrin, I've never understood this. (A Linux
         | distribution is not just a kernel, either.)
        
           | nieve wrote:
           | It just means that the BSDs have both their kernel and their
           | full userland maintained by the same team whereas Linux to a
           | certain extent splits responsibilities between the kernel
           | devs and a bunch of other projects.
        
           | enriquto wrote:
           | the bsd kernel is made by the same team as the rest of the
           | system, and follows the same release schedule. Thus they can
           | add a new syscall (e.g., pledge in openbd), and update all
           | the programs at once to use it. That wouldn't really be
           | possible in a linux distribution.
        
       | livueta wrote:
       | > FreeBSD Ports sometimes shows me a text menu for configuring
       | package options, while pkgsrc just uses text configuration and
       | tries to make it so you don't need to reconfigure packages. I'm
       | the kind of person who prefers text configuration, but I can see
       | how others wouldn't.
       | 
       | Posting because it took me way too long to run into this on my
       | own: make config-recursive lets you get all the ncurses per-port
       | menus out of the way at once. Not a full fix, but it does take a
       | rough edge off of the default port config/building experience.
       | 
       | e: Real lovers of text config could also use Poudriere to build
       | their own packages since it takes per-port config options files.
       | I think you can do something similar with portmaster as well.
       | 
       | ee: now I think about it, the choices from the ncurses menus just
       | get stored in /var/db/ports, so you could probably edit it
       | directly as text if you felt like it.
        
         | throw0101a wrote:
         | See _ports(7)_ which mentions  "config-recursive" and other
         | targets that may be useful:
         | 
         | * https://www.freebsd.org/cgi/man.cgi?ports(7)
        
       | LAC-Tech wrote:
       | I played around with freeBSD for a couple of days recently. I
       | quite liked it until it came time to updating the system (I
       | delibearely installed 12 to test this). Missing .so libraries
       | everywhere. I suppose if I was more of a unix pro I would have
       | figured out the problem, but trivial updates are a big deal for
       | me.
        
       | liveoneggs wrote:
       | jmmv and jmcneill (probably more) work on both NetBSD and FreeBSD
        
       ___________________________________________________________________
       (page generated 2021-06-06 23:00 UTC)