osdir.com

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Python-Dev] dear core-devs


On Tue, Oct 2, 2018 at 3:53 AM Tres Seaver <tseaver at palladion.com> wrote:
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 10/01/2018 06:41 PM, Michael Felt wrote:
>
> > And, while you may not give a damn about anything other than Windows,
> > macos and/or Linux - there are other platforms that would like a
> > stable Python.
>
> Michael,
>
> I can understand the frustration you feel:  you have been putting effort
> into a labor of love geting Python support on AIX (back?) into shape, and
> feel that your efforts are unappreciated, or worse, that they will be waste
> d.
>
> The key thing to realize about the various core developers (and the
> broader Python and open source communities) is that their attention is a
> heavily over-committed resource:  it isn't that folks here aren't
> benevolent toward your efforts, but rather that each of them (us?) makes
> decisions every day juggling which projects / tasks to give the minutes /
> hours we have available.  In the common case, the "triage" involves
> scrathing an itch:  this bug affects me / my work, that feature would
> make my life / my employment simpler, etc.  Even where there are minutes
> available, the "is reviewing this feasible for me?" question kicks in.
>
> Because AIX is relatively narrow in the scope of folks it impacts, the
> average, overcommitted developer is likely to see a bug report, or even a
> pull request, which makes stuff build on AIX and say, "Hmm, I don't know
> enough to evalute that one, I'll leave it to folks who do know (and by
> implication, who have some skin in the game)."  Even for more
> consumer-focused platforms, it has historically been harder to get
> attention for bugs / patches which affect only a single platform (Windows
> file locking semantics, or the Mac installer, etc.)
>
> One key way to get past that hurdle is to slice the size of each "thing"
> down as fine as possible:  e.g., a pull request adding a single "#ifdef
> AIX" block to one file.  Anything more than a screenful of diff is likely
> to trigger the "let someone else review it" pattern, whereas being able
> to scan the patch at a glance lets even a non-itchy reviewer decide,
> "well, at least it can't hurt anything, give it a shot."
>
> Once you've gotten a number of those small patches merged, you will find
> that you've built a relationship with the folks who have been reviewing
> them, and that they are more likely to pass them, and to review larger
> ones, at least in part because *you* will have learned more about what is
> needed in terms of code style, documentation, test coverage, etc., and
> *they* will have learned to trust your judgement.
>
> I'm sorry it isn't easier,

I have thought of writing an almost verbatim post w.r.t. my efforts to
get Cygwin re-supported (which was never officially un-supported
either).  Victor asked me to set up a buildbot for Cygwin as a
prerequisite to much else, which I have done [1].  But it has been
turning out broken build after broken build and is all but useless
since, even at the time of setting it up, I pointed out that there are
two major blocker issues [2] [3] that prevent an even
partially-working build.  Naoki Inada provided some review of the
first one a while ago, and while we had some (I think valid)
disagreement on how to proceed, I updated the issue description with a
checklist of issues he raised that need some clear direction on how
they should be resolved (since at least on some of them we disagreed).
I'd be happy to do pretty much whatever so long as I knew it was
meeting a core dev's requirements while also meeting my own
requirements.

Obviously I'm sympathetic to the limited time and attention of core
devs--I am a maintainer on several projects myself and I know how it
goes, and I have tried not to make too much of a fuss about it.  But
there's a chicken-egg problem in the specific area of platform
support, which feels a little different from just "I need my pet bug
fixed", for someone who is not already a core developer: In order to
make any progress on the issue we need at least one core dev who is
interested in the same platform.  But if we're the only ones willing
to do the work who know or care anything about that platform, how are
we supposed to progress in the first place?

I, like Michael Felt, have a number of fixes waiting in the wings but
can't really progress until a little bit of bare minimum ground work
is at least done to get us up and running.

Michael, if there are any PRs you want to point me to that I might be
able to help review please do.  I don't know anything about AIX either
and am not a core dev so I can't have a final say.  But I've been
hacking on CPython for a long time anyways, and might be able to help
at least with some initial review.


[1] https://buildbot.python.org/all/#/builders/164
[2] https://github.com/python/cpython/pull/4348
[3] https://github.com/python/cpython/pull/8712