From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Satyam Sharma <satyam.sharma@gmail.com>,
Rene Herman <rene.herman@gmail.com>,
Jos Poortvliet <jos@mijnkamer.nl>,
david@lang.hm, Nick Piggin <nickpiggin@yahoo.com.au>,
Valdis.Kletnieks@vt.edu, Ray Lee <ray-lk@madrabbit.org>,
Jesper Juhl <jesper.juhl@gmail.com>,
linux-kernel@vger.kernel.org, ck list <ck@vds.kolivas.org>,
linux-mm@kvack.org, Paul Jackson <pj@sgi.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [ck] Re: -mm merge plans for 2.6.23
Date: Thu, 26 Jul 2007 04:32:52 +0200 [thread overview]
Message-ID: <200707260432.52739.bzolnier@gmail.com> (raw)
In-Reply-To: <20070725203523.GA10750@elte.hu>
Hi,
Some general thoughts about submitter/maintainer responsibilities,
not necessarily connected with the recents events (I hasn't been
following them closely - some people don't have that much free time
to burn at their hands ;)...
On Wednesday 25 July 2007, Ingo Molnar wrote:
>
> * Satyam Sharma <satyam.sharma@gmail.com> wrote:
>
> > > concentrate on making sure that both you and the maintainer
> > > understands the problem correctly,
> >
> > This itself may require some "convincing" to do. What if the
> > maintainer just doesn't recognize the problem? Note that the
> > development model here is more about the "social" thing than purely a
> > "technical" thing. People do handwave, possibly due to innocent
> > misunderstandings, possibly without. Often it's just a case of seeing
> > different reasons behind the "problematic behaviour". Or it could be a
> > case of all of the above.
>
> sure - but i was really not talking about from the user's perspective,
> but from the enterprising kernel developer's perspective who'd like to
> solve a particular problem. And the nice thing about concentrating on
> the problem: if you do that well, it does not really matter what the
> maintainer thinks!
Yes, this is a really good strategy to get you changes upstream (and it
works) - just make changes so perfect that nobody can really complain. :)
The only problem is that the bigger the change becomes the less likely it
is to get it perfect so for really big changes it is also useful to show
maintainer that you take responsibility of your changes (by taking bugreports
and potential review issues very seriously instead of ignoring them, past
history of your merged changes has also a big influence here) so he will
know that you won't leave him in the cold with your code when bugreports
happen and be _sure_ that they will happen with bigger changes.
> ( Talking to the maintainer can of course be of enormous help in the
> quest for understanding the problem and figuring out the best fix -
> the maintainer will most likely know more about the subject than
> yourself. More communication never hurts. It's an additional bonus if
> you manage to convince the maintainer to take up the matter for
> himself. It's not a given right though - a maintainer's main task is
> to judge code that is being submitted, to keep a subsystem running
> smoothly and to not let it regress - but otherwise there can easily be
> different priorities of what tasks to tackle first, and in that sense
> the maintainer is just one of the many overworked kernel developers
> who has no real obligation what to tackle first. )
Yep, and patch author should try to help maintainer understand both the
problem he is trying to fix and the solution, i.e. throwing some undocumented
patches and screaming at maintainer to merge them is not a way to go.
> If the maintainer rejects something despite it being well-reasoned,
> well-researched and robustly implemented with no tradeoffs and
> maintainance problems at all then it's a bad maintainer. (but from all
> i've seen in the past few years the VM maintainers do their job pretty
> damn fine.) And note that i _do_ disagree with them in this particular
> swap-prefetch case, but still, the non-merging of swap-prefetch was not
> a final decision at all. It was more of a "hm, dunno, i still dont
> really like it - shouldnt this be done differently? Could we debug this
> a bit better?" reaction. Yes, it can be frustrating after more than one
> year.
>
> > > possibly write some testcase that clearly exposes it, and
> >
> > Oh yes -- that'll be helpful, but definitely not necessarily a
> > prerequisite for all issues, and then you can't even expect everybody
> > to write or test/benchmark with testcases. (oh, btw, this is assuming
> > you do find consensus on a testcase)
>
> no, but Con is/was certainly more than capable to write testcases and to
> debug various scenarios. That's the way how new maintainers are found
> within Linux: people take matters in their own hands and improve a
> subsystem so that they'll either peacefully co-work with the other
> maintainers or they replace them (sometimes not so peacefully - like in
> the IDE/SATA/PATA saga).
Heh, now that you've raised IDE saga I feel obligated to stand up
and say a few words...
The latest opening of IDE saga was quite interesting in the current context
because we had exactly the reversed situation there - "independent" maintainer
and "enterprise" developer (imagine the amount of frustration on both sides)
but the root source was quite similar (inability to get changes merged).
IMO the source root of the conflict lied in coming from different perspectives
and having a bit different priorities (stabilising/cleaning current code vs
adding new features on top of pile of crap). In such situations it is very
important to be able to stop for a moment and look at the situation from
the other person's perspective.
In summary:
The IDE-wars are the thing of the past and lets learn from IDE-world
mistakes instead of repeating them in other subsystems, OK? :)
> > > help the maintainer debug the problem.
> >
> > Umm ... well. Should this "dance-with-the-maintainer" and all be
> > really necessary? What you're saying is easy if a "bug" is simple and
> > objective, with mathematically few (probably just one) possible
> > correct solutions. Often (most often, in fact) it's a subjective issue
> > -- could be about APIs, high level design, tradeoffs, even little
> > implementation nits ... with one person wanting to do it one way,
> > another thinks there's something hacky or "band-aidy" about it and a
> > more beautiful/elegant solution exists elsewhere. I think there's a
> > similar deadlock here (?)
>
> you dont _have to_ cooperative with the maintainer, but it's certainly
> useful to work with good maintainers, if your goal is to improve Linux.
> Or if for some reason communication is not working out fine then grow
> into the job and replace the maintainer by doing a better job.
The idea of growing into the job and replacing the maintainer by proving
the you are doing better job was viable few years ago but may not be
feasible today.
If maintainer is "enterprise" developer and maintaining is part of his
job replacing him may be not possible et all because you simply lack
the time to do the job. You may be actually better but you can't afford
to show it and without showing it you won't replace him (catch 22).
Oh, and it could happen that if maintainer works for a distro he sticks
his competing solution to the problem to the distro kernel and suddenly
gets order of magnitude more testers and sometimes even contributors.
How are you supposed to win such competition? [ A: You can't. ]
I'm not even mentioning the situation when the maintainer is just a genius
and one of the best kernel hackers ever (I'm talking about you actually :)
so your chances are pretty slim from the start...
> > > _Optionally_, if you find joy in it, you are also free to write a
> > > proposed solution for that problem
> >
> > Oh yes. But why "optionally"? This is *precisely* what the spirit of
> > development in such open / distributed projects is ... unless Linux
> > wants to die the same, slow, ivory-towered, miserable death that *BSD
> > have.
>
> perhaps you misunderstood how i meant the 'optional': it is certainly
> not required to write a solution for every problem you are reporting.
> Best-case the maintainer picks the issue up and solves it. Worst-case
> you get ignored. But you always have the option to take matters into
> your own hands and solve the problem.
>
> > >and submit it to the maintainer.
> >
> > Umm, ok ... pretty unlikely Linus or Andrew would take patches for any
> > kernel subsystem (that isn't obvious/trivial) from anybody just like
> > that, so you do need to Cc: the ones they trust (maintainer) to ensure
> > they review/ack your work and pick it up.
>
> actually, it happens pretty frequently, and NACK-ing perfectly
It actually happens really rarely (there are pretty good reasons for that).
> reasonable patches is a sure way towards getting replaced as a
> maintainer.
"reasonable" is highly subjective
> > > is the wrong way around. It might still work out fine if the
> > > solution is correct (especially if the patch is small and obvious),
> > > but if there are any non-trivial tradeoffs involved, or if
> > > nontrivial amount of code is involved, you might see your patch at
> > > the end of a really long (and constantly growing) waiting list of
> > > patches.
> >
> > That's the whole point. For non-trivial / non-obvious / subjective
> > issues, the "process" you laid out above could itself become a problem
> > ...
>
> firstly, there's rarely any 'subjective' issue in maintainance
> decisions, even when it comes to complex patches. The 'subjective' issue
> becomes a factor mostly when a problem has not been researched well
> enough, when it becomes more of a faith thing ('i believe it helps me')
> than a fully fact-backed argument. Maintainers tend to dodge such issues
> until they become more clearly fact-backed.
Yep.
However there is a some reasonable time limit for this dodging, two years
isn't reasonable. By being a maintainer you frequently have to sacrifice
your own goals and instead work on other people changes first (sometimes
even on changes that you don't find particulary interesting or important).
Sure it doesn't give you the same credit you'll get for your own changes
but you're investing in people who will help you in a long-term.
Could you allow the luxury of losing these people?
The another problem is that sometimes it seems that independent developers
has to go through more hops than entreprise ones and it is really frustrating
experience for them. There is no conspiracy here - it is only the natural
mechanism of trusting more in the code of people who you are working with more.
> providing more and more facts gradually reduces the 'judgement/taste'
> leeway of maintainers, down to an almost algorithmic level.
> but in any case there's always the ultimate way out: prove that you can
> do a better job yourself and replace the maintainer. But providing an
As stated before - this is nearly impossible in some cases.
I'm not proposing any kind of justice or fair chances here I'm just saying
that in the long-term it is gonna hurt said maintainer because he will lose
talented people willing to work on the code that he maintains.
> overwhelming, irresistable body of facts in favor of a patch does the
> trick too in 99.9% of the cases.
Now could I ask people to stop all this -ck threads and give the developers
involved in the recent events some time to calmly rethink the whole case.
Please?
Thanks,
Bart
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2007-07-26 2:35 UTC|newest]
Thread overview: 227+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20070710013152.ef2cd200.akpm@linux-foundation.org>
2007-07-10 10:15 ` Con Kolivas
2007-07-11 1:02 ` Matthew Hawkins
2007-07-11 1:14 ` [ck] " Andrew Morton
2007-07-11 1:52 ` André Goddard Rosa
2007-07-11 4:25 ` [ck] " André Goddard Rosa
2007-07-11 2:21 ` Ira Snyder
2007-07-11 3:37 ` timotheus
2007-07-11 2:54 ` Matthew Hawkins
2007-07-11 5:18 ` Nick Piggin
2007-07-11 5:47 ` Ray Lee
2007-07-11 5:54 ` Nick Piggin
2007-07-11 6:04 ` Ray Lee
2007-07-11 6:24 ` Nick Piggin
2007-07-11 7:50 ` swap prefetch (Re: -mm merge plans for 2.6.23) Ingo Molnar
2007-07-11 6:00 ` [ck] Re: -mm merge plans for 2.6.23 Nick Piggin
2007-07-11 3:59 ` Grzegorz Kulewski
2007-07-11 12:26 ` Kevin Winchester
2007-07-11 12:36 ` Jesper Juhl
2007-07-12 12:06 ` Kacper Wysocki
2007-07-12 12:35 ` Avuton Olrich
2007-07-22 23:11 ` Con Kolivas
2007-07-23 23:08 ` Jesper Juhl
2007-07-24 3:22 ` Nick Piggin
2007-07-24 4:53 ` Ray Lee
2007-07-24 5:10 ` Jeremy Fitzhardinge
2007-07-24 5:18 ` Ray Lee
2007-07-24 5:16 ` Nick Piggin
2007-07-24 16:11 ` -mm merge plans for 2.6.23 - Completely Fair Swap Prefetch Frank Kingswood
2007-07-25 0:59 ` [ck] " Matthew Hawkins
2007-07-24 16:15 ` -mm merge plans for 2.6.23 Ray Lee
2007-07-25 4:06 ` Nick Piggin
2007-07-25 4:55 ` Rene Herman
2007-07-25 5:00 ` Nick Piggin
2007-07-25 5:12 ` david
2007-07-25 5:30 ` Rene Herman
2007-07-25 5:51 ` david
2007-07-25 7:14 ` Valdis.Kletnieks
2007-07-25 8:18 ` Rene Herman
2007-07-25 8:28 ` Ingo Molnar
2007-07-25 8:43 ` Rene Herman
2007-07-25 10:53 ` [ck] " Jos Poortvliet
2007-07-25 11:06 ` Nick Piggin
2007-07-25 12:39 ` Jos Poortvliet
2007-07-25 13:30 ` Rene Herman
2007-07-25 13:50 ` Ingo Molnar
2007-07-25 17:33 ` Satyam Sharma
2007-07-25 20:35 ` Ingo Molnar
2007-07-26 2:32 ` Bartlomiej Zolnierkiewicz [this message]
2007-07-26 4:13 ` Jeff Garzik
2007-07-26 10:22 ` Bartlomiej Zolnierkiewicz
2007-07-25 11:34 ` Ingo Molnar
2007-07-25 11:40 ` Rene Herman
2007-07-25 11:50 ` Ingo Molnar
2007-07-25 16:08 ` Valdis.Kletnieks
2007-07-25 22:05 ` Paul Jackson
2007-07-25 22:22 ` Zan Lynx
2007-07-25 22:27 ` Jesper Juhl
2007-07-25 22:28 ` [ck] " Michael Chang
2007-07-25 23:45 ` André Goddard Rosa
2007-07-25 16:02 ` Ray Lee
2007-07-25 20:55 ` Zan Lynx
2007-07-25 21:28 ` Ray Lee
2007-07-26 1:15 ` [ck] " Matthew Hawkins
2007-07-26 1:32 ` Ray Lee
2007-07-26 3:16 ` Matthew Hawkins
2007-07-26 22:30 ` Michael Chang
2007-07-25 5:30 ` Eric St-Laurent
2007-07-25 5:37 ` Nick Piggin
2007-07-25 5:53 ` david
2007-07-25 6:04 ` Nick Piggin
2007-07-25 6:23 ` david
2007-07-25 7:25 ` Nick Piggin
2007-07-25 7:49 ` Ingo Molnar
2007-07-25 7:58 ` Nick Piggin
2007-07-25 8:15 ` Ingo Molnar
2007-07-25 10:41 ` Jesper Juhl
2007-07-25 6:19 ` [ck] " Matthew Hawkins
2007-07-25 6:30 ` Nick Piggin
2007-07-25 6:47 ` Mike Galbraith
2007-07-25 7:19 ` Eric St-Laurent
2007-07-25 6:44 ` Eric St-Laurent
2007-07-25 16:09 ` Ray Lee
2007-07-26 4:57 ` Andrew Morton
2007-07-26 5:53 ` Nick Piggin
2007-07-26 6:06 ` Andrew Morton
2007-07-26 6:17 ` Nick Piggin
2007-07-26 6:33 ` Ray Lee
2007-07-26 6:50 ` Andrew Morton
2007-07-26 7:43 ` Ray Lee
2007-07-26 7:59 ` Nick Piggin
2007-07-28 0:24 ` Matt Mackall
2007-07-26 14:19 ` [ck] " Michael Chang
2007-07-26 18:13 ` Andrew Morton
2007-07-26 22:04 ` Dirk Schoebel
2007-07-26 22:33 ` Dirk Schoebel
2007-07-26 23:27 ` Jeff Garzik
2007-07-26 23:29 ` david
2007-07-26 23:39 ` Jeff Garzik
2007-07-27 0:12 ` david
2007-07-28 0:12 ` Matt Mackall
2007-07-28 3:42 ` Daniel Cheng
2007-07-28 9:35 ` Stefan Richter
2007-07-25 17:55 ` Frank A. Kingswood
2007-07-25 6:09 ` [ck] " Matthew Hawkins
2007-07-25 6:18 ` Nick Piggin
2007-07-25 16:19 ` Ray Lee
2007-07-25 20:46 ` Andi Kleen
2007-07-26 8:38 ` Frank Kingswood
2007-07-26 9:20 ` Ingo Molnar
2007-07-26 9:34 ` Andrew Morton
2007-07-26 9:40 ` RFT: updatedb "morning after" problem [was: Re: -mm merge plans for 2.6.23] Ingo Molnar
2007-07-26 10:09 ` Andrew Morton
2007-07-26 10:24 ` Ingo Molnar
2007-07-27 0:33 ` [ck] " Matthew Hawkins
2007-07-30 9:33 ` Helge Hafting
2007-07-26 10:27 ` Ingo Molnar
2007-07-26 10:38 ` Andrew Morton
2007-07-26 12:46 ` Mike Galbraith
2007-07-26 18:05 ` Andrew Morton
2007-07-27 5:12 ` Mike Galbraith
2007-07-27 7:23 ` Mike Galbraith
2007-07-27 8:47 ` Andrew Morton
2007-07-27 8:54 ` Al Viro
2007-07-27 9:02 ` Andrew Morton
2007-07-27 9:40 ` Mike Galbraith
2007-07-27 10:00 ` Andrew Morton
2007-07-27 10:25 ` Mike Galbraith
2007-07-27 17:45 ` Daniel Hazelton
2007-07-27 18:16 ` Rene Herman
2007-07-27 19:43 ` david
2007-07-28 7:19 ` Rene Herman
2007-07-28 8:55 ` david
2007-07-28 10:11 ` Rene Herman
2007-07-28 11:21 ` Alan Cox
2007-07-28 16:29 ` Ray Lee
2007-07-28 21:03 ` david
2007-07-29 8:11 ` Rene Herman
2007-07-29 13:12 ` Alan Cox
2007-07-29 14:07 ` Rene Herman
2007-07-29 14:58 ` Ray Lee
2007-07-29 14:59 ` Rene Herman
2007-07-29 15:20 ` Ray Lee
2007-07-29 15:36 ` Rene Herman
2007-07-29 16:04 ` Ray Lee
2007-07-29 16:59 ` Rene Herman
2007-07-29 17:19 ` Ray Lee
2007-07-29 17:33 ` Rene Herman
2007-07-29 17:52 ` Ray Lee
2007-07-29 19:05 ` Rene Herman
2007-07-29 17:53 ` Alan Cox
2007-07-29 19:33 ` Paul Jackson
2007-07-29 20:00 ` Ray Lee
2007-07-29 20:18 ` Paul Jackson
2007-07-29 20:23 ` Ray Lee
2007-07-29 21:06 ` Daniel Hazelton
2007-07-28 21:00 ` david
2007-07-29 10:09 ` Rene Herman
2007-07-29 11:41 ` david
2007-07-29 14:01 ` Rene Herman
2007-07-29 21:19 ` david
2007-08-06 2:14 ` Nick Piggin
2007-08-06 2:22 ` david
2007-08-06 9:21 ` Nick Piggin
2007-08-06 9:55 ` Paolo Ciarrocchi
2007-07-28 15:56 ` Daniel Hazelton
2007-07-28 21:06 ` david
2007-07-28 21:48 ` Daniel Hazelton
2007-07-27 20:28 ` Daniel Hazelton
2007-07-28 5:19 ` Rene Herman
2007-07-27 23:15 ` Björn Steinbrink
2007-07-27 23:29 ` Andi Kleen
2007-07-28 0:08 ` Björn Steinbrink
2007-07-28 1:10 ` Daniel Hazelton
2007-07-29 12:53 ` Paul Jackson
2007-07-28 7:35 ` Rene Herman
2007-07-28 8:51 ` Rene Herman
2007-07-27 22:08 ` Mike Galbraith
2007-07-27 22:51 ` Daniel Hazelton
2007-07-28 7:48 ` Mike Galbraith
2007-07-28 15:36 ` Daniel Hazelton
2007-07-29 1:33 ` Rik van Riel
2007-07-29 3:39 ` Andrew Morton
2007-07-26 10:20 ` Al Viro
2007-07-26 12:23 ` Andi Kleen
2007-07-26 14:59 ` Al Viro
2007-07-11 20:41 ` Pavel Machek
2007-07-27 19:19 ` Paul Jackson
2007-07-26 13:05 ` Fredrik Klasson
2007-07-31 16:37 ` [ck] Re: -mm merge plans for 2.6.23 Matthew Hawkins
2007-08-06 2:11 ` Nick Piggin
2007-07-25 4:46 ` david
2007-07-25 8:00 ` Rene Herman
2007-07-25 8:07 ` david
2007-07-25 8:29 ` Rene Herman
2007-07-25 8:31 ` david
2007-07-25 8:33 ` david
2007-07-25 10:58 ` Rene Herman
2007-07-25 15:55 ` Ray Lee
2007-07-25 20:16 ` Al Boldi
2007-07-27 0:28 ` Magnus Naeslund
2007-07-24 5:18 ` Andrew Morton
2007-07-24 6:01 ` Ray Lee
2007-07-24 6:10 ` Andrew Morton
2007-07-24 9:38 ` Tilman Schmidt
2007-07-25 1:26 ` [ck] " Matthew Hawkins
2007-07-25 1:35 ` David Miller, Matthew Hawkins
2007-07-24 0:08 ` Con Kolivas
2007-07-11 11:39 ` buffered write patches, " Christoph Hellwig
2007-07-11 17:23 ` Andrew Morton
2007-07-11 12:23 ` lguest, " Christoph Hellwig
2007-07-11 15:45 ` Randy Dunlap
2007-07-11 18:04 ` Andrew Morton
2007-07-12 1:21 ` Rusty Russell
2007-07-12 2:28 ` David Miller, Rusty Russell
2007-07-12 2:48 ` Rusty Russell
2007-07-12 2:51 ` David Miller, Rusty Russell
2007-07-12 3:15 ` Rusty Russell
2007-07-12 3:35 ` David Miller, Rusty Russell
2007-07-12 4:24 ` Andrew Morton
2007-07-12 4:52 ` Rusty Russell
2007-07-12 11:10 ` Avi Kivity
2007-07-19 17:27 ` Christoph Hellwig
2007-07-20 3:27 ` Rusty Russell
2007-07-20 7:15 ` Christoph Hellwig
2007-07-12 0:54 ` fault vs invalidate race (Re: -mm merge plans for 2.6.23) Nick Piggin
2007-07-12 2:31 ` block_page_mkwrite? (Re: fault vs invalidate race (Re: -mm merge plans for 2.6.23)) David Chinner
2007-07-12 2:42 ` Nick Piggin
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=200707260432.52739.bzolnier@gmail.com \
--to=bzolnier@gmail.com \
--cc=Valdis.Kletnieks@vt.edu \
--cc=akpm@linux-foundation.org \
--cc=ck@vds.kolivas.org \
--cc=david@lang.hm \
--cc=jesper.juhl@gmail.com \
--cc=jos@mijnkamer.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@elte.hu \
--cc=nickpiggin@yahoo.com.au \
--cc=pj@sgi.com \
--cc=ray-lk@madrabbit.org \
--cc=rene.herman@gmail.com \
--cc=satyam.sharma@gmail.com \
/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