The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: tytso <tytso@mit.edu>
To: Warner Losh <imp@bsdimp.com>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] First Unix-like OSes not derived from AT&T code?
Date: Mon, 2 May 2022 22:01:03 -0700	[thread overview]
Message-ID: <YnC3DxU65yoF/knN@mit.edu> (raw)
In-Reply-To: <CANCZdfrdp4yGJwum0QDEoPRwCfvVPLe3C0M7Lr3MQ7TsG0BwSg@mail.gmail.com>

On Mon, May 02, 2022 at 02:31:00PM -0600, Warner Losh wrote:
> On Mon, May 2, 2022 at 9:41 AM Clem Cole <clemc@ccc.com> wrote:
> > FWIW:  I know that at least 3 people on the OpenSSI team were telling me
> > they were told to go away.

I don't know where they were told to go away; I can just state that
the patches were never sent to LKML, and from a search using
lore.kernel.org, I don't see any evidence that they were told to "go
away" on the Linux Kernel Mailing List.

Could they have been told to "go away" by someone, either with someone
"official" or "non-official", on some random mailing list, or at some
random bar at some random conference?  Sure.  It's impossible to say.

> I know from wearing my FreeBSD hat that random people on mailing lists
> often say 'nope' and people go away not realizing they aren't the abitors
> of what gets into FreeBSD. We lost a lot of good contributions because of
> delays created by scenarios like this...

Yep.  And sometimes, even if they are someone official, if they don't
necessarily explain the patches well, and/or never send the patches
for review on the mailing list, it could be that there was a
miscommunication regarding how the patches were described, such that a
"no" that happened at a conversation at some random bar at some random
Usenix conference might have been a "yes" if there were patches sent
to be reviewed on the mailing list.

> I also know that getting changes into Linux suffers from this and for a
> long time (especially pre-git) was almost impossible unless you knew
> someone and were on good terms with them.

Something which definitely happens is the fear of "drive by
contributions".  So for example, Clem tells the story of people being
hesitant of accepting RDMA / IB patches.  I very much doubt it was
because people were chasing the Desktop.  There were certainly people
in the Linux kernel who were chasing the Desktop, but those tended not
to be the "gate keepers" for the kernel.  Linux kernel developers
might use the desktop, but there really was very few "desktop" kernel
features.

If I had to guess, the main concern was that some random developer
would try to get the code upstream --- perhaps because a system
integrator like IBM or HP would have something in the procurement
contract requiring that the device driver be "upstream" --- but then
once the code made it upstream, the developer would disappear, never
to be heard from again, and the Linux Kernel developers would be stuck
having to support it forever.  (Worse, in the early days of IB, IB was
$$$, and most kernel developers didn't even have access to IB in their
home systems.)

So it's helpful to have a company to have multiple engineers, all
contributing changes, hopefully to adjacent parts of the kernel other
than the specific subsystem which they are trying to shove into the
kernel, to demonstrate that they are going to be there for the long
haul, and not just try to "drive by" shoehorn code into the kernel,
only to be never heard from again.

For example, just recently someone from a particular tried to get an
NTFS implementation "upstream" into the Linux kernel.  They sold a
"feature-full" version of that file system for $$$, and there was some
suspicion in some quarters that they were only trying to get a
stripped-down version of their file system into the Linux kernel for
marketing reasons.  There were some, including yours truly, who
pointed out that they hadn't open sourced userspace utilities, and
that the file system regression test when run on their file system was
failing tests right and left, and hence wasn't ready for prime-time.
They pushed hard, and ultimately, Linus decided to accept their code
contribution, because the alternative in-tree file system was pretty
crappy, and the belief was that new one was better.

Immediately after the merge window closed, the developer went silent,
and stopped responding to e-mails.  Which left folks debating whether
we should remove the code contribution from the tree before users
started depending on it, because something worse than one
unmaintained, crappy file system in the tree that some users might be
trying to use wouldbe *two* unmaintained, crappy file systems in the
tree....

> Much has been done to improve things in the last
> 20 years, but for a while things were truly awful for someone without a
> huge reputation to get anything non-trivial into Linux.

That's true, but again, part of that is because of the "drive by
contribution" problem.  One of the ways which we've tried to solve
this problem for device drivers is to have a "staging" part of the
tree where new code which is "on probation" can live, and if it turns
out that the developers disappear, code in the "staging tree" is
documented to be more easily removed uncerimonously if it looks like
the code has become abandonware.

This doesn't work as well if there needs to be massive code
complexification into the core parts of the kernel, where large parts
of the kernel needs to be changed, perhaps to add (for example) VPROC
support.  It's even worse if such "powerful" changes ends up slightly
slowing down code which is in the hotpath.


We have in the past tried to put file systems into the staging tree.
But for example, there was pain when we ultimately decided that Lustre
needed to be removed from the Linux tree, because the people who tried
to get Lustre into the upstream kernel wasn't actually *improving*
that was in the upstream kernel, but instead was working on shipping
product in distro kernels:

https://www.linuxjournal.com/content/lustre-filesystem-dropped-linux-418-kernel

So the "companies / communites" just trying to throw code of varying
quality over the wall and not providing a commitment to continuous
maintenance and improvement of said code is a real one.  And if you
wonder why sometimes the Linux kernel community can be a bit "cold"
about accepting new code, that very often can be why.  Open source is
not just about the code, it's about the development community.  And if
the community hasn't been integrated into the Linux kernel community
first, it may be that an important prerequisite step is missing.

Cheers,

						- Ted

  reply	other threads:[~2022-05-03  5:04 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-01  9:30 Andrew Warkentin
2022-05-01 11:43 ` Ron Natalie
2022-05-01 11:56   ` Rob Pike
2022-05-01 14:03     ` Kenneth Goodwin
2022-05-03  4:37       ` Jim Carpenter
2022-05-01 14:09   ` Kenneth Goodwin
2022-05-01 18:08     ` ron minnich
2022-05-01 18:22       ` Charles H Sauer (he/him)
2022-05-01 19:49         ` Dan Stromberg
2022-05-01 20:37           ` Charles H Sauer (he/him)
2022-05-02  2:08       ` Kenneth Goodwin
2022-05-02  9:21         ` Dr Iain Maoileoin
2022-05-02 20:19           ` Rich Morin
2022-05-02 21:30             ` Clem Cole
2022-05-02 21:36             ` Dan Cross
2022-05-10 15:28         ` Mary Ann Horton
2022-05-10 16:08           ` Warner Losh
2022-05-10 16:40             ` Heinz Lycklama
2022-05-10 16:42             ` James Frew
2022-05-14  2:56             ` Mary Ann Horton
2022-05-10 16:59           ` Clem Cole
2022-05-10 17:18             ` Clem Cole
2022-05-10 18:05               ` Charles H Sauer (he/him)
2022-05-10 19:27                 ` Lars Brinkhoff
2022-05-10 19:08               ` Henry Bent
2022-05-10 19:33                 ` Richard Salz
2022-05-10 20:18                   ` Ronald Natalie
2022-05-11 16:20                     ` James Frew
2022-05-11 16:51                       ` Paul Winalski
2022-05-10 20:28                   ` Henry Bent
2022-05-10 20:43                   ` Warner Losh
2022-05-10 20:46                   ` Clem Cole
2022-05-11 16:44                     ` Paul Winalski
2022-05-11 17:09                       ` Clem Cole
2022-05-11 17:35                       ` Larry McVoy
2022-05-12  0:16                         ` George Michaelson
2022-05-13  2:46                         ` Adam Thornton
2022-05-15  0:48                           ` Larry McVoy
2022-05-15  5:36                             ` Adam Thornton
2022-05-15 13:37                               ` Larry McVoy
2022-05-12  5:22                       ` Warner Losh
2022-05-12 12:06                         ` Ron Natalie
2022-05-12 12:43                           ` John Cowan
2022-05-15  2:00         ` Stuart Remphrey
2022-05-02  2:42       ` Phil Budne
2022-05-02  6:46         ` Ron Natalie
2022-05-02 13:50           ` Clem Cole
2022-05-02 14:46             ` tytso
2022-05-02 15:38               ` Clem Cole
2022-05-02 20:31                 ` Warner Losh
2022-05-03  5:01                   ` tytso [this message]
2022-05-03 11:35                     ` Richard Salz
2022-05-02 23:30           ` Gregg Levine
     [not found]           ` <CAK7dMtD08weh+97mx+ncrq0cxprKgke42C0vFYNPnBkd8Fx9Sg@mail.gmail.com>
2022-05-03  7:28             ` Ronald Natalie
2022-05-02 12:59         ` Kenneth Goodwin
2022-05-02 14:13           ` Richard Salz
2022-05-02 13:14         ` tytso
2022-05-02 13:32           ` Larry McVoy
2022-05-02 13:16         ` Dan Cross
2022-05-02 14:14           ` Miod Vallat
2022-05-02 14:50             ` ron minnich
2022-05-02 16:13             ` Al Kossow
2022-05-02 18:46               ` Miod Vallat
2022-05-02 19:54               ` Chet Ramey
2022-05-02 21:17             ` Dan Cross
2022-05-02 23:49               ` George Michaelson
2022-05-03  7:22                 ` Ronald Natalie
2022-05-03  7:40               ` Miod Vallat
2022-05-03  8:03                 ` Ron Natalie
     [not found]               ` <CAEoi9W4eD8AF=FwjMT-KPRfyYgD+qgVvE1u3sBwiovm4=1WWLg@mail.g mail.com>
2022-05-03 12:14                 ` John Foust via TUHS
2022-05-01 20:55 ` Michael Huff
2022-05-03  4:55   ` Jim Carpenter
2022-05-02 15:43 ` Clem Cole
2022-05-02 16:16   ` Bakul Shah
2022-05-02 16:19     ` Bakul Shah
2022-05-02 17:14       ` Clem Cole
2022-05-02 16:29     ` Larry McVoy
2022-05-02 17:42     ` Clem Cole
2022-05-02 17:59       ` Bakul Shah

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YnC3DxU65yoF/knN@mit.edu \
    --to=tytso@mit.edu \
    --cc=imp@bsdimp.com \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).