Interesting crossover from Linux to Linux Distros... Debian's my
personal fave (in the form of Mint, MX, or even Ubuntu), mostly cuz apt
seems to just work (for me, ymmv) and rpm sucks :). However, all of
these run on the same kernel and generally provide the same userland
(core-utils, etc). I constantly switch from Mac (Mojave) to FreeBSD to
Linux (Mint, usually, but occassionally opensuse) and other than minor
differences in switches, they are all reminiscent of v7, from a user
perspective, outside of GUIs. Except for ZFS, which will keep FreeBSD in
my environment until it's added to the Linux Kernel - is hell freezing
over yet?
-w
On 6/7/22 10:25 AM, Larry McVoy wrote:
On Tue, Jun 07, 2022 at 11:08:34AM -0400, Dan Cross
wrote:
On Tue, Jun 7, 2022 at 10:30 AM Theodore
Ts'o <tytso(a)mit.edu> wrote:
The key is I think *competition*. Distributions
were competing to
attract a user base, and one of the ways they could do that was by
improving the install experience. There were people who reviewed
distributions based on which one had the better installer, and that
helped users who were Windows refugees choose the ones that had the
better installer.
My point is that this is something that varies from distro to
distro;
it is therefore inaccurate to claim that "Linux solved it" since many
different distros that have widely varying installation processes
fall under the very large "Linux" umbrella.
Yeah, there are a large
number of distros but I'm willing to bet that
Debian, RedHat and Ubuntu variants account for the vast majority of
installs.
There are
three different things that's worth separating. One is a
consistent kernel<->user space interface, this is what Linus Torvalds
considers high priority when he says, "Thou shalt not break
userspace". This is what allows pretty much all distributions to
replace the kernel that was shipped with the distribution with the
latest upstream kernel. And this is something that in general doesn't
work with *BSD systems.
Eh? I feel like I can upgrade the kernel on the various
BSDs
without binaries breaking pretty easily. Then again, there _have_
been times when there were flag days that required rebuilding
the world; but surely externalities are more common here (e.g.,
switching from one ISA to another).
Try installing an OpenBSD kernel on FreeBSD,
that's what we mean by
compat. I'm more than willing to believe that you can pull head on
the FreeBSD source tree and build & install it on FreeBSD. Much less
willing to believe that that works Open/Free or Net/Free.
With Linux, on pretty much any distro, you can pull Linus' tree and
build and install it without drama. If you are running some ancient
release you might have to update your toolchain but that's about it.
Linus is super careful to not break the syscall table. It's extend
only, which makes it a mess, but a binary compat mess.
The
second is application source-level compatibility, and this is what
allows you to download some open source application, and recompile it
on different Linux distributions, and it should Just Work. In
practice this works for most Linux and *BSD users.
This, I think, is where things
break down. Simply put, the way
people build applications has changed, and "source-level"
compatibility means compatibility with a bunch of third-party
libraries; in many ways the kernel interfaces matter much, much
less (many of which are defined by externally imposed standards
anyway). If a distro ships a too-old or too-new version of the
dependency, then the open source thing will often not build, and
for most end users, this is a distinction without a difference.
Yes, you are
correct, I've experienced that as well with sort of
newer complex apps.