[Python-Dev] project culture: take responsibility for your commits
Brett Cannon
brett at python.org
Wed Oct 2 22:01:06 CEST 2013
On Wed, Oct 2, 2013 at 2:58 PM, Stefan Behnel <stefan_ml at behnel.de> wrote:
> Hi,
>
> I'm looking back on a rather unpleasant experience that I recently had in
> this developer community. Actually, twice by now. Here's what I take from
> it:
>
> You should take responsibility for your commits.
>
> Sounds like a simple thing - in theory. People make mistakes, that's
> normal. You can't always know what others do with your code, and so
> something that might sound like a great idea when you come up with it, may
> turn out to have a negative impact that you didn't, and sometimes couldn't
> possibly, anticipate.
>
> So, people will come to you and complain. Let's assume these complaints are
> reasonable (and they certainly aren't always). What do you do in that case?
>
> Do you tell them that what's in is in? Do you tell them that you are a core
> developer and they are not? That they can try to do better, and if they are
> lucky, find someone else who applies their patch? That's what happened to
> me recently.
>
I think a key point in this is what "responsibility" is. There is a
constant struggle between open source contributions and volunteering, of
taking your time to contribute something for free to the benefit of the
world and trying to meet the requests/demands of that world. How far should
someone bend over backwards to try and accommodate others in the world when
what the core dev has done is viewed by them as reasonable and don't think
the requested change is worth their time (assuming it's even appropriate).
So are core devs "responsible" for making everyone happy? Where is the line
of what is a reasonable request to consider it their responsibility to meet
that request? It's all very subjective.
When someone becomes a core developer it is because they code well and seem
to have the community's interest at heart. This also means they are trusted
to make a reasonable call as to what is a responsible response when a
request comes in. In this instance, the core dev disagreed with the request
but left the door open for another core dev to come in and champion the
change; IOW a -0 on the proposed change (full disclaimer to the list: I
know what triggered this email). If you disagreed with the decision
strongly you can try to convince another core dev or all of python-dev to
see if you can get another core dev to step in on your side, but is
completely within a core dev's right to say "no" to a request.
I think the level of responsibility also varies from project to project as
hosted on hg.python.org. For instance, I do not hold devinabox to the same
backwards compatibility requirement as CPython. If I change the
command-line API of something like build_python.py and someone came to me
and said "I disagree with that change" I feel like I have the right to say
I disagree as devinabox has no released versions to be compatible against,
etc. I really does depend on what your view of "responsibility" is and for
what project. It's all very subjective and if you disagree that's fine and
you can say so and ask for another opinion. Heck, you can even say you are
worried a developer is not taking their responsibility seriously, but
that's obviously a major step to not be taken lightly.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20131002/f3b4318c/attachment-0001.html>
More information about the Python-Dev
mailing list