Re: [Python-Dev] Encouraging developers

2007-03-19 Thread Paul Moore
On 18/03/07, Tony Meyer [EMAIL PROTECTED] wrote:
  on someone else's patch. It seems relevant to me that the original
  poster (Tony Meyer) hasn't felt strongly enough to respond on his own
  behalf to comments on his patch. No disrespect to Tony, but I'd argue
  that the implication is that the patch should be rejected because even
  the submitter doesn't care enough to respond to comments!

 There is a considerable difference between doesn't care enough, and
 has not had time to be able to (although in this specific case
 doesn't care enough is correct).

On rereading my comments, I apologise - you're absolutely right that I
didn't have enough evidence to judge that you don't care enough
about the patch.

Thanks for clarifying - I entirely agree with you that just being
willing to put together any sort of bug report or patch is valuable,
and people should not be discouraged from doing so. (It's a sad but
probably inevitable fact that many such contributors - I include
myself here! - have expectations of speed of response which simply
aren't possible for a volunteer project, and as a result get
frustrated with the process, but that's a separate issue)

Paul.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-18 Thread Martin v. Löwis
Tony Meyer schrieb:
 ISTM that there is value in submitting a patch (including tests and 
 documentation, and making appropriate comment in related patches), even 
 if that is all that is done (i.e. no follow-up). 

That's certainly, absolutely, true. It's also true that there are very
many kinds of different contributions, e.g. a bug report is a
contribution, too. However, some contributions bring the project forward 
more than others, e.g. a patch often brings it further along than a
bug report, and a patch contributor willing to rework the patch brings
it further along than a contributor that just drops the patch into
the tracker (after developing it first, of course).

Given that we are not able to process all contributions, we clearly have
to make choices what contributions to look at, and what contributions to
ignore. This, unfortunately, means that some patches get rejected just
because neither the submitter nor any of the reviewers is willing to
complete it, if it is incomplete at the time of submission.

Regards,
Martin

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-17 Thread Tony Meyer
On 8/03/2007, at 2:42 AM, Paul Moore wrote:
 On 06/03/07, Scott Dial [EMAIL PROTECTED] wrote:
 Sadly the sf tracker doesn't let you search for With comments  
 by. The
 patch I was making reference to was 1410680. Someone else actually  
 had
 wrote a patch that contained bugs and I corrected them. And with  
 that, I
 was the last person to comment or review the patch in question.
[...]
 On the other hand, what I've done is similar to what you did - comment
 on someone else's patch. It seems relevant to me that the original
 poster (Tony Meyer) hasn't felt strongly enough to respond on his own
 behalf to comments on his patch. No disrespect to Tony, but I'd argue
 that the implication is that the patch should be rejected because even
 the submitter doesn't care enough to respond to comments!

There is a considerable difference between doesn't care enough, and  
has not had time to be able to (although in this specific case  
doesn't care enough is correct).

I have submitted a very small (3?) number of patches, however, I  
suspect that my position is similar to others, so I offer an  
explanation in the hope that it adds value to this thread.

I don't submit patches because I need the problem fixed in the Python  
distribution.  I make the change locally, and either I am  
distributing a frozen application (almost always the case), which  
includes my local fix, or a workaround is made in the application  
source which means that the main Python distribution fix is unneeded  
(e.g. this is what I did with SpamBayes).

The particular patch mentioned is one that uses code (more-or-less)  
from SpamBayes.  SpamBayes has the code - it doesn't matter whether  
it's in the Python distribution or not.  At the time I wrote the  
patch, there were (again) discussions on python-dev about what should  
be done to ConfigParser.  I had some time free in those days, and,  
since I had some code that did more-or-less what Guido indicated was  
the best option, I contributed it (writing unittests, documentation,  
and commenting in the related tickets).

To a certain extent, I considered that my work done.  This was  
something I contributed because many people continually requested it,  
not something I felt a personal need to be added to the distribution  
(as above, that's not a need that I generally feel).

I (much) later got email with patches, and then later email from Mark  
Hammond about the patch (IIRC Mark was looking at it and was thinking  
of fixing it up; I think I forwarded the email I got to him.  OTOH,  
maybe he also sent me fixes - I'm too busy to trawl through email  
archives to figure it out).  At the time, I hoped to fix up the  
errors and submit a revised patch, but my son was born a few weeks  
later and I never found the time.  If the patch had been reviewed  
more quickly, then I probably would have found time to correct it -  
however, everyone else is busy to (if I felt strongly about it, then  
I would have reviewed 5 other patches, as I have in the past, and  
'forced' more quick review, but I did not).

For me, submitting a patch is mostly altruistic - if I do that then  
other people don't also have do the work I did, and hopefully other  
people do that as well, saving me work.  It's not something I  
require, at all.  This isn't something that is easy to make time for.

ISTM that there is value in submitting a patch (including tests and  
documentation, and making appropriate comment in related patches),  
even if that is all that is done (i.e. no follow-up).  If the value  
isn't there without that follow-up 'caring', then that is something  
that should be addressed to 'encourage developers'.  Contributions  
don't only come from people hoping to be 'core' developers some day.

Uncaringly-(with-apologies-to-uncle-timmy),
Tony
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-10 Thread A.M. Kuchling
On Fri, Mar 09, 2007 at 10:10:48PM -0800, Neal Norwitz wrote:
 We should probably be a lot more aggressive about closing bugs and
 patches without response.  Unfortunately many fall into this category.

This question comes up every so often, and after much discussion I
think python-dev always converges on leaving bugs open in case some
future person finds the information useful.

I hope that the Roundup tracker will let us tag such bugs with a
'waiting-for-reporter' tag, and we can then exclude such bugs when
looking for ones to fix.

--amk

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-10 Thread Neal Norwitz
On 3/10/07, A.M. Kuchling [EMAIL PROTECTED] wrote:
 On Fri, Mar 09, 2007 at 10:10:48PM -0800, Neal Norwitz wrote:
  We should probably be a lot more aggressive about closing bugs and
  patches without response.  Unfortunately many fall into this category.

 This question comes up every so often, and after much discussion I
 think python-dev always converges on leaving bugs open in case some
 future person finds the information useful.

I was thinking about patches only in this case, not bugs.

 I hope that the Roundup tracker will let us tag such bugs with a
 'waiting-for-reporter' tag, and we can then exclude such bugs when
 looking for ones to fix.

Georg added a comment/feature request for this.  Actually, he
requested a close on inactivity after some duration if we set a
keyword or something like that.  Since we are in control of the
tracker, we can make it happen if someone cares enough.

n
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-09 Thread Neal Norwitz
On 3/7/07, Facundo Batista [EMAIL PROTECTED] wrote:
 A.M. Kuchling wrote:

  FWIW, I have a related perception that we aren't getting new core
  developers. These two problems are probably related: people don't get
  patches processed and don't become core developers, and we don't have
  enough core developers to process patches in a timely way.  And so
  we're stuck.
 
  Any ideas for fixing this problem?

 I think that there's a barrier entry: there's no place to ask for help
 on silly problems when you're trying to help (!).

 Let me explain my bad english wording, with an example. Yesterday night
 I started modifying socket.py and test_socket.py. Of course, I said,
 let's see if the tests pass ok *before* start changing anything.

 Went to ~/devel/reps/python/trunk/Lib, and made:

   $ python2.5 test/test_socket.py...   Wrong!

 Damn! Tried a lot of stuff...

   $ cd test
   $ python2.5 test_socket.py...   Wrong!
   $ python2.5 regrtest.py test_socket ... Wrong!
   $ python2.5 regrtest.py test_socket.py ... Wrong!
   $ python2.5 regrtest.py socket ... Wrong!

 And thousand more combinations. The best I could do is actually execute
 the tests, but python was getting the installed socket module, and not
 the repository socket module (even that I was in the same directory of
 the latter).

 I didn't know what to try. I was stuck. This never happened to me when
 working on Decimal. What went wrong in my head in the middle?

 I finally understood the problem, and build python from the repository,
 and made the tests from *this* python (actually, this was an easy step
 because I'm on Ubuntu, but *I* would be dead if working in Windows, for
 example).

 Ok. *Me*, that I'm not ashame of asking what I don't know, if I didn't
 resolve it I'd finally asked in python-dev. But how many people would
 have throw the towel withoug getting so far?

 How many people want to submit a patch, or even a bug, or finds a patch
 to review, but don't know how to do something and thinks that python-dev
 is not the place to ask (too high minds and experienced people and
 everything)?

 What I propose is a dedicated place (mailing list, for example), that is
 something like a place where you can go and ask the silliest questions
 about helping in the developing process.

 - How can I know if a patch is still open?

 - I found a problem, and know how to fix it, but what else need to do?

 - Found a problem in the docs, for this I must submit a patch or tell
 something about it? How?

 - I found an error in the docs, and fixed it, but I'm spanish speaker
 and my english sucks, can I submit a patch with bad wording or I must
 ask somebody to write it ok?

 Me, for example, has an actual question to this list: How can I know,
 if I change something in the doc's .tex files, that I'm not broking
 the TeX document structure?.

I think this was answered in a separate thread, but I want to make
sure everyone sees it here.

In addition to the buildbots that run on every checkin (more or less),
Misc/build.sh runs every 12 hours.  This script does a full build,
make install, runs the regression test suite *with refleak checking*,
and builds the docs.  Any errors are sent to python-checkins.  The
results from building the docs are here:

http://docs.python.org/dev/  - for the trunk (ie, currently 2.6)
http://docs.python.org/dev/2.5/

The results from running Misc/build.sh are found by adding results/ to
either of the URLs above.  If the doc doesn't build, the development
versions of the doc are not overwritten.

So to answer your question, you will know if you break a test or
documentation by following python-checkins.  Here is an example of
when a refleak was detected:

http://mail.python.org/pipermail/python-checkins/2007-February/058689.html

Here's an example of when there was a doc failure:

http://mail.python.org/pipermail/python-checkins/2006-February/049409.html

I've tried to make it hard to screw up Python and not notice.  The
easiest way to do it now is to check in something without a test.  If
everything is checked in with a test, it will be very hard to screw
something up and for it to not be noticed by some automated system.
It would also be nice to run texcheck.py in build.sh to catch things
like unbalanced parens.

n
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-09 Thread Neal Norwitz
On 3/5/07, Scott Dial [EMAIL PROTECTED] wrote:

 If nothing else, as an outsider there is no way to know why your patch
 gets ignored while others get swiftly dealt with. Any sort of
 information like this would at least provide more transparency in what
 may appear to be elitest processes.

Have you read the developer FAQ?  http://www.python.org/dev/faq/

If we answered your questions in the FAQ, would that help?  Can you
come up with a list of questions that the FAQ doesn't address?

If you haven't read the FAQ or didn't know it existed, where would you
look for answers?  Where can we make this info available?

I don't believe there is anything elitist about it.  I can see how one
could get many opinions given that it's opaque from the outside.  It's
been described, but I'll re-iterate.  It's completely up to the
reviewers.  There are only about a handful of people that I know of
that review patches.  I was one of those people up until about 2
months ago when I got just too much mail and have to archive most of
the patches mail I get.  I also look through the bugs pretty regularly
to see if there are any very serious or very easy bugs to fix.

When I reviewed patches, I would only look at ones I thought I could
address in however much time I had and felt qualified to apply.  If I
don't know enough about a subject area, I typically don't look.  I
can't tell if a swizzle method would really be appropriate for a
boombah since I didn't even know python had a boombah.  Sometimes I
comment on patches and don't get a response.

We should probably be a lot more aggressive about closing bugs and
patches without response.  Unfortunately many fall into this category.

Other bugs/patches go something like this:  the documentation could be
clearer.  If I understand the current doc, there's no hope of me
making it clearer.  More guidance by others who might be able to
provide concrete options (e.g. specific wording), can allow us to make
a decision.

n
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-08 Thread Stephen J. Turnbull
Josiah Carlson writes:

   And the best way to encourage someone to maintain a package is... 
   accepting their patches.
  
  And that's what I think is bull.  Whether or not we want or need
  maintainers for module or package X is independant of the fact that user
  Y has submitted a patch for it.  If they say, I would like to become
  maintainer of package X, ok, if they are better than not having a
  maintainer, great.  But to ask them to be a maintainer of an
  unmaintained package because they submitted a patch?

Actually, I regularly do this (three or four times a year, I'd guess,
it would be more if there were more submitters) if the person seems
sane.  But I *don't* apply the patch!  The condition is that he sign
on to our process and shepherd his own patch through it (including the
risk that a reviewer will ask for changes).  The answer I typically
get is No, I'd rather wait than work.  But thanks for asking!  :-)

Caveat: the XEmacs packages where I do this are mostly end-user
applications like MUAs or programmer editor modes, so it doesn't
matter to anyone but the end-users if they break.  Our process
provides multiple workarounds for such a situation, and we do keep an
eye on new maintainers to help out with emergency response in those
cases, so that risk is considered acceptable.  The users themselves
generally accept one or two new maintainer problems with good humor,
since they're proof positive that somebody has taken an interest in
their package.

The cost to this system is that you need people willing to mentor the
new package maintainers.  It works well for XEmacs because the cost is
very low (as I just described).  I think for Python's stdlib the cost
would be substantially higher, but it might very well be worth it.

   A little game: without looking at this patch of mine, 
   how much are you willing to bet that committing that patch is going to 
   cause pain the Python community and other stdlib maintainers, to cause 
   headaches like deprecations because of broken interfaces, and whatnot?

I'm glad you asked.  More than half of my commits (and way more than
half the LOC) in February were due to broken previous patches that
were approved merely because they addressed a bug and applied without
fuzz to HEAD. :-(

Committing patches unreviewed is a terrible idea.

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-08 Thread Martin v. Löwis
Giovanni Bajo schrieb:
 I can't see that the barrier at contributing is high. 

 I think this says it all. It now appears obvious to me that people 
 inside the mafia don't even realize there is one. Thus, it looks 
 like we are all wasting time in this thread, since they think there 
 is nothing to be changed.
 
 But I am blaming you because you don't admit the fact that there *is* a 
 problem with the patch submission process. And we can't a solve a 
 problem if we don't admit there is one in the first place.

I do think there is a problem with patch processing - I just don't
think the barrier at contributing is high. The fact that there are
so many patches contributed is proof that the barrier is not high:
many people feel they can submit a patch.

 You might be right, there's no way to really know of course. I think my 
 patch is a good example of how my proposal can be good for the Python 
 stdlib. My proposal (to recall) is to *automatically* apply any patch to 
 stdlib which follows normal guidelines if the package has no maintainer 
 and nobody objects in X days.

While it would have worked in your case (although I still wonder who
the automatic application of the patch should execute), please be
ensured that this couldn't possibly work in general. Many patches
are really really not acceptable in their initial form; for many
of them, the biggest problem is that they lack documentation.
There was a phase when patches got accepted with no documentation,
for these modules, it was very difficult to come up with documentation
in the following years.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-08 Thread Paul Moore
On 08/03/07, Martin v. Löwis [EMAIL PROTECTED] wrote:
 Titus Brown schrieb:
   and it's not at all clear to outsiders like me how new
   features, old patches, and old bugs are dealt with.

 The simple answer is when we have time. There really is not
 more to it. Some patches get higher attention, e.g. because
 they fix serious bugs. Proposed new features of don't get any
 attention by the mafia, because Python will just work fine
 without the new feature.

Just to elaborate a bit on Martin's comment. I (very occasionally)
scan SF and review patches - I have no commit privilege, so that's all
I can do. I find that having enough time is amazingly infrequent.
Often, I start looking with all the best intentions, and get bogged
down on one item, then find that real life has caught up and I've done
what feels like nothing.

As regards prioritisation, I don't know of any way of realistically
doing this. All I do is scan the list (either from oldest to newest or
vice versa depending on my mood) and look for interesting or
important looking subjects. I suppose that emphasizes the need for
using good subject lines, but not much else :-)

As you can see, it's anything but scientific - and there's a lot of
ways that important items could get missed. But it's not that way
because I'm slacking, or snubbing particular areas or authors - it's
just the best way I can find. If anyone can find a better way (and
write it up as How to do bug/patch reviews and triage or something)
that would be brilliant. I suspect there isn't one, though - at least
with SF (Roundup may be better) and given the time and resources I
have available.

Paul.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-08 Thread Facundo Batista
Martin v. Löwis wrote:

 - How can I know if a patch is still open?

 Easy: if it's marked as Open.

 - I found a problem, and know how to fix it, but what else need to do?

 Go to www.python.org, then CORE DEVELOPMENT, then Patch submission.

 - Found a problem in the docs, for this I must submit a patch or tell
 something about it? How?

 Read CORE DEVELOPMENT, Intro to development.

 - I found an error in the docs, and fixed it, but I'm spanish speaker
 and my english sucks, can I submit a patch with bad wording or I must
 ask somebody to write it ok?

 What would your intuition tell you to do?

Really didn't the answers to this, just were examples of questions that
people may need to do, and feel shy to do it in python-dev...

Ok, but I know now that python-dev *is* the place to ask. It's
important, to redirect new possible developers and people willing to
help.


 patch, and perhaps the reviewer will catch the error. As a submitter,
 just submit the code, and George Yoshida will catch it. It's not
 strictly necessary that the documentation actually builds all
 the time. If you want to be sure it builds, run make html in
 Doc.

Didn't know about the make html, :)

Thanks!

-- 
.   Facundo
.
Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Martin v. Löwis
Barry Warsaw schrieb:
 Jira had a way of automatically assigning certain categories to certain 
 people.  I think the term was project leader or some such.  Of course, 
 this didn't mean that someone else couldn't fix the bug or that the bug 
 couldn't be reassigned to someone else, but at least it initially gives 
 all issues to the person nominally responsible for it.

The SF tracker has this also. I'm auto-assigned for Tkinter bugs, for
example - not that I review them in a timely manner.

Regards,
Martin

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Martin v. Löwis
Ron Adam schrieb:
 But the tracker needs to be able to actually track the status of individual 
 items for this to work.  Currently there's this huge list and you have to 
 either wade though it to find out the status of each item, or depend on 
 someone bring it to your attention. 

Well, the tracker does have a status for each individual report: open or 
closed. open means needs more work, closed means no more work 
needed. So don't wade through a report - just assume that if it is 
open, it needs work.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Martin v. Löwis
Giovanni Bajo schrieb:
 On 06/03/2007 10.52, Martin v. Löwis wrote:
 
 I can't see that the barrier at contributing is high. 
 
 I think this says it all. It now appears obvious to me that people 
 inside the mafia don't even realize there is one. Thus, it looks like 
 we are all wasting time in this thread, since they think there is 
 nothing to be changed.

I can feel your pain that your (only) patch was unreviewed for three
years. If it makes you happy to blame somebody feel free to, but I
feel it is unfair to blame the single person that eventually *did*
review and commit your patch.

You may ask yourself why this specific patch was unreviewed for
so long. My own explanation is that it is a highly complicated
algorithm (as any kind of cryptographical algorithm), so nobody
felt qualified to review it. I'm pretty sure it was *looked at*
often (contrary to your remark in [1]), but none of the people
reading it were qualified to comment.

So if you want to work on encryption still, please go ahead.

Regards,
Martin

[1] http://mail.python.org/pipermail/python-list/2004-November/293510.html
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Scott Dial
As an outsider who has submitted a handful of patches and has always 
wanted to become more involved.. I would like to comment as I feel like 
I am the target audience in question. I apologize ahead of time if I am 
speaking out of place.

Martin v. Löwis wrote:
 Phil Thompson schrieb:
 1. Don't suggest to people that, in order to get their patch reviewed, they 
 should review other patches. The level of knowledge required to put together 
 a patch is much less than that required to know if a patch is the right one.
 
 People don't *have* to review patches. They just can do that if they 
 want expedite review of their code.
 

While I understand that this tit-for-tat mechanism is meant to ensure 
participation, I believe in reality it doesn't, as the 400-some 
outstanding patches you referenced elswhere indicate. I can personally 
attest to having a patch that is over a year old with no core 
developer having any interest at all with the subject matter. And to be 
frank, nor did I really, but I saw a problem and was capable of solving 
it. My lack of caring about the patch means I am not going to beat 
people over the head to pay attention. This system is broken for someone 
like me (coder) that just wants to help out (non-coders).

 2. Publically identify the core developers and their areas of expertise and 
 responsibility (ie. which parts of the source tree they own).
 
 I doubt this will help. Much of the code isn't owned by anybody
 specifically. Those parts that are owned typically find their patches
 reviewed and committed quickly (e.g. the tar file module, maintained by
 Lars Gustäbel).

If nothing else, as an outsider there is no way to know why your patch 
gets ignored while others get swiftly dealt with. Any sort of 
information like this would at least provide more transparency in what 
may appear to be elitest processes.

-Scott

-- 
Scott Dial
[EMAIL PROTECTED]
[EMAIL PROTECTED]
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Scott Dial
Martin v. Löwis wrote:
 Paul Moore schrieb:
 Here's a random offer - let me know the patch number for your patch,
 and I'll review it.
 
 Surprisingly (and I hope Scott can clarify that), I can't find anything.
 Assuming Scott's SF account is geekmug, I don't see any open patches
 (1574068 was closed within 20 days by amk, last October).
 

Sadly the sf tracker doesn't let you search for With comments by. The 
patch I was making reference to was 1410680. Someone else actually had 
wrote a patch that contained bugs and I corrected them. And with that, I 
was the last person to comment or review the patch in question.

-Scott

-- 
Scott Dial
[EMAIL PROTECTED]
[EMAIL PROTECTED]
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Facundo Batista
A.M. Kuchling wrote:

 FWIW, I have a related perception that we aren't getting new core
 developers. These two problems are probably related: people don't get
 patches processed and don't become core developers, and we don't have
 enough core developers to process patches in a timely way.  And so
 we're stuck.

 Any ideas for fixing this problem?

I think that there's a barrier entry: there's no place to ask for help
on silly problems when you're trying to help (!).

Let me explain my bad english wording, with an example. Yesterday night
I started modifying socket.py and test_socket.py. Of course, I said,
let's see if the tests pass ok *before* start changing anything.

Went to ~/devel/reps/python/trunk/Lib, and made: 

  $ python2.5 test/test_socket.py...   Wrong!

Damn! Tried a lot of stuff...

  $ cd test
  $ python2.5 test_socket.py...   Wrong!
  $ python2.5 regrtest.py test_socket ... Wrong!
  $ python2.5 regrtest.py test_socket.py ... Wrong!
  $ python2.5 regrtest.py socket ... Wrong!

And thousand more combinations. The best I could do is actually execute
the tests, but python was getting the installed socket module, and not
the repository socket module (even that I was in the same directory of
the latter).

I didn't know what to try. I was stuck. This never happened to me when
working on Decimal. What went wrong in my head in the middle?

I finally understood the problem, and build python from the repository,
and made the tests from *this* python (actually, this was an easy step
because I'm on Ubuntu, but *I* would be dead if working in Windows, for
example).

Ok. *Me*, that I'm not ashame of asking what I don't know, if I didn't
resolve it I'd finally asked in python-dev. But how many people would
have throw the towel withoug getting so far?

How many people want to submit a patch, or even a bug, or finds a patch
to review, but don't know how to do something and thinks that python-dev
is not the place to ask (too high minds and experienced people and
everything)?

What I propose is a dedicated place (mailing list, for example), that is
something like a place where you can go and ask the silliest questions
about helping in the developing process.

- How can I know if a patch is still open?

- I found a problem, and know how to fix it, but what else need to do?

- Found a problem in the docs, for this I must submit a patch or tell
something about it? How?

- I found an error in the docs, and fixed it, but I'm spanish speaker
and my english sucks, can I submit a patch with bad wording or I must
ask somebody to write it ok?

Me, for example, has an actual question to this list: How can I know,
if I change something in the doc's .tex files, that I'm not broking
the TeX document structure?.

Just my two argentinian cents.

Regards,

-- 
.   Facundo
.
Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Paul Moore
On 06/03/07, Scott Dial [EMAIL PROTECTED] wrote:
 Martin v. Löwis wrote:
  Paul Moore schrieb:
  Here's a random offer - let me know the patch number for your patch,
  and I'll review it.
 
  Surprisingly (and I hope Scott can clarify that), I can't find anything.
  Assuming Scott's SF account is geekmug, I don't see any open patches
  (1574068 was closed within 20 days by amk, last October).
 

 Sadly the sf tracker doesn't let you search for With comments by. The
 patch I was making reference to was 1410680. Someone else actually had
 wrote a patch that contained bugs and I corrected them. And with that, I
 was the last person to comment or review the patch in question.

OK, as promised, I've reviewed it. I've recommended some actions from
the original poster, or if they aren't forthcoming, then rejection. If
you (Scott) want to pick this up, I'd recommend:

1. Open a new patch, with your recommended changes.
2. Address the comments made against Tony's patch, in yours.
3. Add a recommendation to Tony's patch that it be closed in favour of yours.

Wait and/or canvas further opinion.

That's about all I can do - to get the code *into* Python (if it's
appropriate - remember that I've recommended rejection!) then you need
someone with commit privileges to apply it.

On the other hand, what I've done is similar to what you did - comment
on someone else's patch. It seems relevant to me that the original
poster (Tony Meyer) hasn't felt strongly enough to respond on his own
behalf to comments on his patch. No disrespect to Tony, but I'd argue
that the implication is that the patch should be rejected because even
the submitter doesn't care enough to respond to comments!

Paul.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Georg Brandl
Facundo Batista schrieb:

 How many people want to submit a patch, or even a bug, or finds a patch
 to review, but don't know how to do something and thinks that python-dev
 is not the place to ask (too high minds and experienced people and
 everything)?
 
 What I propose is a dedicated place (mailing list, for example), that is
 something like a place where you can go and ask the silliest questions
 about helping in the developing process.

In my experience, direct communication, e.g. via IRC channels, is much less
intimidating for newcomers than a publicly read and archived mailing list.

That said, I'm in #python-dev on Freenode most of the time and I'd be happy
to help out new developers (as soon as the questions are still so simple for
me to answer ;).

Of course, the channel would have to be made an official Python development
tool and advertised on e.g. the website. Also, it couldn't hurt if some of the
other devs would frequent it too, then :)

Georg

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Martin v. Löwis
Paul Moore schrieb:

 1. Open a new patch, with your recommended changes.

I'd like to second this. If you are creating a patch by responding in a 
comment, it likely gets ignored.

 2. Address the comments made against Tony's patch, in yours.
 3. Add a recommendation to Tony's patch that it be closed in favour of 
 yours.

This also sounds good.

Regards,
Martin

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Ron Adam
Martin v. Löwis wrote:
 Ron Adam schrieb:
 But the tracker needs to be able to actually track the status of 
 individual items for this to work.  Currently there's this huge list 
 and you have to either wade though it to find out the status of each 
 item, or depend on someone bring it to your attention. 
 
 Well, the tracker does have a status for each individual report: open or 
 closed. open means needs more work, closed means no more work 
 needed. So don't wade through a report - just assume that if it is 
 open, it needs work.
 
 Regards,
 Martin

I should have said...

   ... the status of individual items *in more detail*
   for this to work *well*.

Sorry,

Ron
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Terry Reedy

Martin v. Löwis [EMAIL PROTECTED] wrote in message 
news:[EMAIL PROTECTED]
You may ask yourself why this specific patch was unreviewed for
so long. My own explanation is that it is a highly complicated
algorithm (as any kind of cryptographical algorithm), so nobody
felt qualified to review it. I'm pretty sure it was *looked at*
often (contrary to your remark in [1]), but none of the people
reading it were qualified to comment.

I have looked at nunerous patches without commenting because I could not or 
did not do a full review.  You and Neal have convinced me that I have been 
too shy and that even little comments like 'the doc revision looks good' 
might help.

tjr






___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Josiah Carlson

Giovanni Bajo [EMAIL PROTECTED] wrote:
 On 3/6/2007 3:11 AM, Josiah Carlson wrote:
  Giovanni Bajo [EMAIL PROTECTED] wrote:
  I think this should be pushed to its extreme consequences for the standard 
  library. Patching the standard library requires *much less* knowledge than 
  patching the standard core. Basically, almost any Python developer in the 
  wild 
  can quickly learn a module and start patching it in a few days/weeks -- 
  still, 
  the stdlib is a total mess of outdated and broken modules.
  
  Sometimes code is correct.  Sometimes code is complete.  Just because a
  module hasn't been significantly altered or updated recently doesn't
  mean that it is outdated or broken.  
 
 You can't decide this unless you are a maintainer of that module. If a 
 programmer felt the urge to pack up a patch and submit it to SF.NET, he 
 probably has an idea. It might be a good idea. It might not be the best, 
 but at least it's an idea. It might even be just a bugfix.
 
 If you see the patch, know the module well, and can express a judgement, 
 you just need to review it and discuss it. But I really can't see what's 
 *worse* than getting a patch unreviewed and unapplied.

And who is advocating for patches to be unreviewed and unapplied?  I'm
not.  If *anyone* is advocating such a position, then I claim that they
are idiots.

   Asyncore, for example, is more or
  less feature complete for a minimal asynchronous socket framework. Could
  it gain more features (like good SSL support) or have better error
  handling?  Of course.  But it passes the test suite (via test_asynchat),
  so I would consider it *not* broken.
 
 Because you are the maintainer and you know well. I used asyncore once, 
 and I felt it was incomplete. So I went looking for something else. 
 That's fine. You probably know asyncore very well, so your judgement is 
 important and you'll be reviewing the patches and vetoing them if you 
 don't like.

I'll tell you the biggest problem with asyncore: there are few *good*
samples of asyncore usage in the wild, and there isn't even one really
in the standard library (smtpd does OK, but it could be better).  The
asynchat module is supposed to add *just enough* functionality to get
people started, but its lack of a sample collect_incoming_data() and
found_terminator() that generally do the right thing, are sticking
points for many people.

Among the changes I'm going to be pushing for is the inclusion of sample
implementations of those two methods in asynchat (as well as a fix for
when a string terminator is longer than ac_in_buffer_size).  If asynchat
had them in the summer of 2001, I probably wouldn't have more or less
reimplemented my own asynchronous sockets framework that summer and fall
3 different times.


 But there are modules without maintainers. We agree that every module 
 should have a maintainer, and that's fine. But you seem to ignore the 
 fact that we ought to find a solution for modules and packages without 
 maintainers. What is your proposed solution, once if we agree that the 
 current state of affairs suck? You can't force people to step up for 
 maintainership of course, so you have to find something in the middle. 
 And the best way to encourage someone to maintain a package is... 
 accepting their patches.

And that's what I think is bull.  Whether or not we want or need
maintainers for module or package X is independant of the fact that user
Y has submitted a patch for it.  If they say, I would like to become
maintainer of package X, ok, if they are better than not having a
maintainer, great.  But to ask them to be a maintainer of an
unmaintained package because they submitted a patch? That's a bit like
inviting everyone who has ever programmed to be an IEEE or ACM fellow.
That's nice and inclusive, but not the way you gather together people
who can and will develop quality code.


  Just because a patch doesn't break a module, doesn't mean the patch
  should be applied.  Take, for example, any one of the patches currently
  offered against asyncore.  One of them more or less changes the internal
  structure of the module for no other reason than to (in my opinion) be
  gratuitous.  Certainly it has some good ideas, but it would be better to
  adapt portions rather than take it completely - which is what you are
  suggesting, and which is what would have happened due to the absence of
  an asyncore maintainer (until I took it up).
 
 Engineering is a matter of tastes and opinions, more often than not. 
 Once you are a maintainer, your taste wins. But if there are no 
 maintainers, I prefer to trust someone who wasted his time to produce a 
 patch, rather than just blatantly ignore his job. At least, he had an 
 urge and produced some code. He did put forward his opinion.

Certainly opinions differ, which is what this is.  However, even
high-quality patches (like the one produced by Larry Hastings for string
concatenation and views) are rejected because the functionality 

Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Titus Brown
On Wed, Mar 07, 2007 at 11:10:22AM +0100, Martin v. L?wis wrote:
- Giovanni Bajo schrieb:
-  On 06/03/2007 10.52, Martin v. L?wis wrote:
-  
-  I can't see that the barrier at contributing is high. 
-  
-  I think this says it all. It now appears obvious to me that people 
-  inside the mafia don't even realize there is one. Thus, it looks like 
-  we are all wasting time in this thread, since they think there is 
-  nothing to be changed.

delurk

Hi, I just wanted to interject -- when I used the word mafia, I meant
it in this sense:


Informal. A tightly knit group of trusted associates, as of a political
leader: [He] is one of the personal mafia that [the chancellor]
brought with him to Bonn.


(Martin, I certainly didn't intend to offend anyone by implying that
they were part of a criminal organization. ;)

I have a longer explanation of my view in the blog entry, and anyway I
don't want to belabor my own experiences too much, but I would like to
point out three things:

 * there's definitely a group of trusted associates -- committers,
   perhaps? -- and it's not at all clear to outsiders like me how new
   features, old patches, and old bugs are dealt with.

 * python-dev is an all-volunteer community.  In true open-source
   fashion, that means that it's incumbent upon people who HAVE
   problems/issues with a process (like me, and Giovanni) to propose
   solutions that either someone wants to implement, or that we can
   implement.  I certainly don't expect any of the committers to put
   tons of effort into a new initiative.

 * Much of the discussion on this issue of encouraging developers comes
   down to communicating better with non-python-dev people.
   
Unless someone is already doing it, I will try to write a summary of the
last few days of discussion and post it for review. The idea would be to
provide a simple one stop wiki page for people who want to contribute.

cheers,
--titus
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Brett Cannon
On 3/7/07, Titus Brown [EMAIL PROTECTED] wrote:
 On Wed, Mar 07, 2007 at 11:10:22AM +0100, Martin v. L?wis wrote:
 - Giovanni Bajo schrieb:
 -  On 06/03/2007 10.52, Martin v. L?wis wrote:
 - 
 -  I can't see that the barrier at contributing is high.
 - 
 -  I think this says it all. It now appears obvious to me that people
 -  inside the mafia don't even realize there is one. Thus, it looks like
 -  we are all wasting time in this thread, since they think there is
 -  nothing to be changed.

 delurk

 Hi, I just wanted to interject -- when I used the word mafia, I meant
 it in this sense:

 
 Informal. A tightly knit group of trusted associates, as of a political
 leader: [He] is one of the personal mafia that [the chancellor]
 brought with him to Bonn.
 

 (Martin, I certainly didn't intend to offend anyone by implying that
 they were part of a criminal organization. ;)

 I have a longer explanation of my view in the blog entry, and anyway I
 don't want to belabor my own experiences too much, but I would like to
 point out three things:

  * there's definitely a group of trusted associates -- committers,
perhaps? -- and it's not at all clear to outsiders like me how new
features, old patches, and old bugs are dealt with.

  * python-dev is an all-volunteer community.  In true open-source
fashion, that means that it's incumbent upon people who HAVE
problems/issues with a process (like me, and Giovanni) to propose
solutions that either someone wants to implement, or that we can
implement.  I certainly don't expect any of the committers to put
tons of effort into a new initiative.

  * Much of the discussion on this issue of encouraging developers comes
down to communicating better with non-python-dev people.

 Unless someone is already doing it, I will try to write a summary of the
 last few days of discussion and post it for review. The idea would be to
 provide a simple one stop wiki page for people who want to contribute.


My hope (along with many other hopes =), is to get a good document
that explains exactly what is expected for bugs and patches in general
and then what is specifically expected for things like new modules for
the stdlib or new syntax proposals.  With it all written in one place
we have something to point people towards (basically what
http://www.python.org/dev/intro/ was meant to be, but replaces most of
what is in http://www.python.org/dev/).

And I hope that once the tracker is up and we have some experience we
can make it help us by possibly annotating issues with that they hare
or are lacking (e.g., needs tests, needs docs, etc.).  That way people
can read this doc, understand what is expected for code and such, and
then search the tracker for stuff that needs those thing and help deal
with it.  Basically make it so that if someone goes, I want to help
write a test, they can find out what needs a test.

But I get the docs for the new tracker written first.  Once that is
done I plan to start working on this doc (or docs if it gets too long)
as my next big Python project.

-Brett
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Martin v. Löwis
Titus Brown schrieb:
 Hi, I just wanted to interject -- when I used the word mafia, I meant
 it in this sense:
 
 
 Informal. A tightly knit group of trusted associates, as of a political
 leader: [He] is one of the personal mafia that [the chancellor]
 brought with him to Bonn.
 
 
 (Martin, I certainly didn't intend to offend anyone by implying that
 they were part of a criminal organization. ;)

Apology accepted. As to your specific comments:

  there's definitely a group of trusted associates -- committers,
  perhaps?

Yes, but not all of the committers are part of the mafia, i.e.
some never review any patches. Also, the mafia isn't
tightly nit. I.e. they don't have a hidden agenda they follow,
to implement a political quest or some such.

  and it's not at all clear to outsiders like me how new
  features, old patches, and old bugs are dealt with.

The simple answer is when we have time. There really is not
more to it. Some patches get higher attention, e.g. because
they fix serious bugs. Proposed new features of don't get any
attention by the mafia, because Python will just work fine
without the new feature.

  Much of the discussion on this issue of encouraging developers comes
  down to communicating better with non-python-dev people.

This is a two-sided thing, of course. The non-python-dev people
should also communicate with the python-dev ones, instead of
forming false (and unconfirmed) assumptions on how things
really work. It's easy to assume conspiracy everywhere, much
harder to understand that the people you are interacting with
are regular humans who contribute to open source for the same
reasons as the next guy.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Martin v. Löwis
Facundo Batista schrieb:
 I finally understood the problem, and build python from the repository,
 and made the tests from *this* python (actually, this was an easy step
 because I'm on Ubuntu, but *I* would be dead if working in Windows, for
 example).
 
 Ok. *Me*, that I'm not ashame of asking what I don't know, if I didn't
 resolve it I'd finally asked in python-dev. But how many people would
 have throw the towel withoug getting so far?
 
 How many people want to submit a patch, or even a bug, or finds a patch
 to review, but don't know how to do something and thinks that python-dev
 is not the place to ask (too high minds and experienced people and
 everything)?

If people want to contribute to open source, they just need to learn
the rules. One of the primary rules is that most of it is a meritocracy:
it's not high minds that give reputation, but past contributions.

Sure, some people will be shied (sp?) away by merely thinking about
python-dev. For them, the barrier is high for *any* contribution to
open source software.

 What I propose is a dedicated place (mailing list, for example), that is
 something like a place where you can go and ask the silliest questions
 about helping in the developing process.

In principle, python-dev should be such a place, but I can see how it
isn't (due to nobody's fault). However, people should  feel free
to ask any question on [EMAIL PROTECTED], and actually do so.

 - How can I know if a patch is still open?

Easy: if it's marked as Open.

 - I found a problem, and know how to fix it, but what else need to do?

Go to www.python.org, then CORE DEVELOPMENT, then Patch submission.

 - Found a problem in the docs, for this I must submit a patch or tell
 something about it? How?

Read CORE DEVELOPMENT, Intro to development.

 - I found an error in the docs, and fixed it, but I'm spanish speaker
 and my english sucks, can I submit a patch with bad wording or I must
 ask somebody to write it ok?

What would your intuition tell you to do?

 Me, for example, has an actual question to this list: How can I know,
 if I change something in the doc's .tex files, that I'm not broking
 the TeX document structure?.

You don't have to know. As a general contributor, just submit your
patch, and perhaps the reviewer will catch the error. As a submitter,
just submit the code, and George Yoshida will catch it. It's not
strictly necessary that the documentation actually builds all
the time. If you want to be sure it builds, run make html in
Doc.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Martin v. Löwis
Georg Brandl schrieb:

 Of course, the channel would have to be made an official Python development
 tool and advertised on e.g. the website. Also, it couldn't hurt if some of the
 other devs would frequent it too, then :)
 

I definitely won't: I don't use IRC (or any other chat infrastructure), 
as a matter of principle. The only way to talk to me in real time is
in person, or on the phone. (I do make an exception for the PSF board).

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-07 Thread Neal Norwitz
On 3/7/07, Martin v. Löwis [EMAIL PROTECTED] wrote:

  Me, for example, has an actual question to this list: How can I know,
  if I change something in the doc's .tex files, that I'm not broking
  the TeX document structure?.

 You don't have to know. As a general contributor, just submit your
 patch, and perhaps the reviewer will catch the error. As a submitter,
 just submit the code, and George Yoshida will catch it. It's not
 strictly necessary that the documentation actually builds all
 the time. If you want to be sure it builds, run make html in
 Doc.

Even better, the same machine running refleaks every 12 hours also
builds the docs.  It will complain if the docs don't build, so be
aggressive with the docs.  Any failures are sent do python-checkins.
You can also see the results from trunk here:

http://docs.python.org/dev/
http://docs.python.org/dev/results/

Here are the 2.5 results (only builds doc, not refleak test):
http://docs.python.org/dev/2.5/
http://docs.python.org/dev/2.5/results/

These pages are generated from Misc/build.sh.  As I mentioned,
build.sh runs every 12 hours.

n
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Phil Thompson
On Tuesday 06 March 2007 5:42 am, Martin v. Löwis wrote:
 Phil Thompson schrieb:
  1. Don't suggest to people that, in order to get their patch reviewed,
  they should review other patches. The level of knowledge required to put
  together a patch is much less than that required to know if a patch is
  the right one.

 People don't *have* to review patches. They just can do that if they
 want expedite review of their code.

  2. Publically identify the core developers and their areas of expertise
  and responsibility (ie. which parts of the source tree they own).

 I doubt this will help. Much of the code isn't owned by anybody
 specifically. Those parts that are owned typically find their patches
 reviewed and committed quickly (e.g. the tar file module, maintained by
 Lars Gustäbel).

Doesn't your last sentence completely contradict your first sentence?

  4. Acceptance by core developers that only half the job is developing
  the core - the other half is mentoring potential future core developers.

 So what do you do with core developers that don't do their job? Fire them?

Of course not, but this is a cultural issue not a technical one. The first 
step in changing a culture is to change the expectations.

Phil
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Phil Thompson
On Tuesday 06 March 2007 5:49 am, Martin v. Löwis wrote:
 Phil Thompson schrieb:
  I'm not sure what your point is. My point is that, if you want to
  encourage people to become core developers, they have to have a method of
  graduating through the ranks - learning (and being taught) as they go. To
  place a very high obstacle in their way right at the start is completely
  counter-productive.

 And please be assured that no such obstacle is in the submitters way.
 Most patches are accepted without the submitter actually reviewing any
 other patches.

I'm glad to hear it - but I'm talking about the perception, not the fact. When 
occasionally submitters ask if their patch is going to be included, they will 
usually get a response suggesting they review other patches. That will only 
strengthen the perception.

This discussion started because the feeling was expressed that it was 
difficult to get patches accepted and that new core developers were not being 
found. I would love to contribute more to the development of Python - I owe 
it a lot - but from where I stand (which is most definitely not where you 
stand) I can't see how to do that in a productive and rewarding way.

Phil
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Phil Thompson
On Tuesday 06 March 2007 6:00 am, Martin v. Löwis wrote:
 Phil Thompson schrieb:
  Any ideas for fixing this problem?
 
  A better patch-tracker, better procedures for reviewing patches
  surounding this new tracker, one or more proper dvcs's for people to
  work off of. I'm not sure about 'identifying core developers' as we're
  all volunteers, with dayjobs for the most part, and only a few people
  seem to care enough about python as a whole.
 
  I don't think that that is true. I think a lot of people care, but many
  can't do anything about because the barrier to entry is too great.

 He was talking about the committers specifically who don't care about
 Python as-a-whole, and I think this is true. But I also believe that
 many contributors don't care about Python as-a-whole, in the sense
 that they are uninterested in learning about implementation details of
 libraries they will never use. What they do care about is the problems
 they have, and they do contribute patches for them.

  While submitting patches is good, there's a lot more to it than just
  submitting the 5-line code change to submit a bug/feature, and reviewing
  takes a lot of time and effort.
 
  So there is something wrong there as well.
 
  I don't think it's unreasonable to ask for
  help from the submitters like we do, or ask them to write tests and docs
  and such.
 
  Of course it's not unreasonable. I would expect to be told that a patch
  must have tests and docs before it will be finally accepted. However,
  before I add those things to the patch I would like some timely feedback
  from those with more experience that my patch is going in the right
  direction.

 This cannot work. It is very difficult to review a patch to fix a
 presumed bug if there is no test case. You might not be able to
 reproduce the patch without a test case at all - how could you then
 know whether the patch actually fixes the bug?

Please read what I said again. Yes, a patch must be reviewed before 
submission. Yes, a patch when submitted must include docs and test cases. I'm 
talking about the less formal process leading up to that point. The less 
formal process has a much lower barrier to entry, requires much less effort 
by the reviewer, is the period during which the majority of the teaching 
happens, and will result in a better quality final patch that will require 
less effort to be put in to the final, formal review.

 So I really think patches should be formally complete before being
 submitted. This is an area were anybody can review: you don't need
 to be an expert to see that no test cases are contributed to a
 certain patch.

 If you really want to learn and help, review a few patches, to see
 what kinds of problems you detect, and then post your findings to
 python-dev. People then will comment on whether they agree with your
 review, and what additional changes they like to see.

Do you think this actually happens in practice? There is no point sticking to 
a process, however sensible, if it doesn't get used.

Phil
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Neal Norwitz
On 3/6/07, Phil Thompson [EMAIL PROTECTED] wrote:
 On Tuesday 06 March 2007 5:49 am, Martin v. Löwis wrote:
  Phil Thompson schrieb:
   I'm not sure what your point is. My point is that, if you want to
   encourage people to become core developers, they have to have a method of
   graduating through the ranks - learning (and being taught) as they go. To
   place a very high obstacle in their way right at the start is completely
   counter-productive.
 
  And please be assured that no such obstacle is in the submitters way.
  Most patches are accepted without the submitter actually reviewing any
  other patches.

 I'm glad to hear it - but I'm talking about the perception, not the fact. When
 occasionally submitters ask if their patch is going to be included, they will
 usually get a response suggesting they review other patches. That will only
 strengthen the perception.

 This discussion started because the feeling was expressed that it was
 difficult to get patches accepted and that new core developers were not being
 found. I would love to contribute more to the development of Python - I owe
 it a lot - but from where I stand (which is most definitely not where you
 stand) I can't see how to do that in a productive and rewarding way.

I recognize there is a big problem here.  Each of us as individuals
don't scale.  So in order to get stuff done we need to be more
distributed.  This means distributing the workload (partially so we
don't burn out).  In order to do that we need to distribute the
knowledge.  That probably involves some changes.

I understand it's really hard to get involved.  It can be frustrating
at times.  But I think the best way is to find a mentor.  Find an
existing core developer that you relate to and/or have similar
interests with.  I've been trying to do this more.

So here's my offer.  Anyone who is serious about becoming a Python
core developer, but doesn't know how to get involved can mail me.
Privately, publicly, it doesn't matter to me.  I will try to mentor
you.

Be prepared!  I will demand submissions are high quality which at a
minimum means:

 - it adds a new test, enhances an existing test or fixes a broken test
 - it has *all* the required documentation, including
versionadded/versionchanged
 - most people think the feature is desirable
 - the code is maintainable and formatted according to the prevailing style
 - we follow the process (which can include improving the process if
others agree)
ie, there's no free lunch, unless you work at Google of course :-)

It also means you are willing to hold other people up to equally high standards.

Your contributions don't have to be code though.  They can be doc,
they can be PEPs, they can be the python.org website.  It could even
be helping out with Google's Summer of Code.  The choice is yours.

n
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Phil Thompson
On Tuesday 06 March 2007 6:15 am, Raymond Hettinger wrote:
 [Phil Thompson]

  I think a lot of people care, but many can't
  do anything about because the barrier to entry is too great.

 Do you mean commit priviledges?  ISTM, those tend to be
 handed out readily to people who assert that they have good use for them.
 Ask the Georg-bot how readily he was accepted and coached.  IMO,
 his acceptance was a model that all open source projects should aspire to.

 If you meant something else like knowing how to make a meaningful patch,
 then you've got a point.  It takes a while to learn your way around the
 source tree and to learn the inter-relationships between the moving parts.
 That is just the nature of the beast.

I meant the second. While it may be the nature that doesn't mean that the 
situation can't be improved.

 [MvL]

  While submitting patches is good, there's a lot more to it than just
  submitting the 5-line code change to submit a bug/feature, and reviewing
  takes a lot of time and effort.

 [Phil]

  So there is something wrong there as well.

 I have not idea what you're getting at.Martin's comment seems
 accurate to me.  Unless it is a simple typo/doc fix, it takes
 some time to assess whether the bug is real (some things are bugs
 only in the eye of the submitter) and whether the given fix is the
 right thing to do.

 Of course, automatic acceptance of patches would be a crummy idea.
 There have been no shortage of patches complete with docs and tests
 that were simply not the right thing to do.

My point is simply that the effort required to review patches seems to be a 
problem. Perhaps the reasons for that need to be looked at and the process 
changed so that it is more effective. At the moment people just seem be 
saying that's the way it is because that's the way it's got to be.

 [Phil]

  The process needs
  to keep people involved in it - at the moment submitting a patch is
  fire-and-forget.

 Such is the nature of a system of volunteers.  If we had full-time people,
 it could be a different story.  IMO, given an 18 month release cycle,
 it is perfectly acceptable for a patch to sit for a while until someone
 with the relavant expertise can address it.  Even with a tests and docs,
 patch acceptance is far from automatic.  That being said, I think history
 has shown that important bugs get addressed and put into bug fix releases
 without much loss of time.  When Py2.5.1 goes out, I expect that all known,
 important bugs will have been addressed and that's not bad.

Then perhaps getting a full-time person should be taken seriously.

Phil
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Martin v. Löwis
Stephen J. Turnbull schrieb:
 An informal version of this process is how XEmacs identifies its
 Reviewers (the title we give to those privileged to authorize commits
 to all parts of XEmacs).  People who care enough to make technical
 comments on *others'* patches are rare, and we grab the competent ones
 pretty quickly.

My experience exactly. Besides Georg Brandl, I think this was also
how Raymond Hettinger started his regular contributions to Python.

 The mess is not total, as Josiah Carlson points out.  To the extent
 that it is a mess, it is the consequence of a process similar to the
 one you propose to institutionalize.

It wasn't clear to me that this is the case, but I think you are exactly
right. Those libraries that are now considered a mess had been ad-hoc 
contributions in many cases, with a single use case (namely the one of 
the original contributor). The contributor is not to blame, of course:
he could only contribute what he has experience with. I wouldn't blame
the committers who accepted the libraries, either - much of Python's
value is in libraries included. So to fix the total mess, one has
to replace the libraries with better ones, were available, learning from
past experience to not accept libraries that had not been widely tested
in the field.

 Second, where the stdlib module is closely bound to the core, the
 maintainer ends up being the group of core developers.  It can't be
 any other way, it seems to me.

It might be that individuals get designated maintainers: Guido maintains
list and tuple, Tim maintaines dict, Raymond maintains set, I maintain
configure.in. However, I doubt that would work in practice.

Regards,
Martin

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Thomas Wouters

On 3/6/07, Neil Schemenauer [EMAIL PROTECTED] wrote:


Using git-svn to track a SVN repository seems to work well.



I'm not interested in setting up GIT myself, mostly because it doesn't solve
any issues that other dvcs' don't solve, the on-disk repository is mighty
big and it doesn't work very well on non-Linux systems (at least, not last I
looked.) If you want to set it up and maintain it, though, that's fine by
me.

I would like to point out that while it takes only a few minutes to setup a
new repository and start the conversion for any of the SCM's (not just
distributed ones), that doesn't mean it's a no-brainer to set them up
'officially', and maintain them :) There's a lot more work in there, so be
prepared to spend some time to get it to work right and reliable for
everyone.

--
Thomas Wouters [EMAIL PROTECTED]

Hi! I'm a .signature virus! copy me into your .signature file to help me
spread!
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Martin v. Löwis
Phil Thompson schrieb:

 2. Publically identify the core developers and their areas of expertise
 and responsibility (ie. which parts of the source tree they own).
 I doubt this will help. Much of the code isn't owned by anybody
 specifically. Those parts that are owned typically find their patches
 reviewed and committed quickly (e.g. the tar file module, maintained by
 Lars Gustäbel).
 
 Doesn't your last sentence completely contradict your first sentence?

No (not sure how you are counting: there are three sentences):
1. Public identification will not help, because:
2. most code isn't in the responsibility of anybody (so publically
identifying responsibilities would leave most code unassigned), and
3. for the code that has some responsible member, things are already
fine (so public identification won't improve here)

Maybe you meant to suggest assign responsibilities to core developers,
then identify them publically; this is different from merely publically
announcing already-assigned specific responsibilities. The latter won't
work for the reasons discussed; the former won't work because these are
volunteers, you can't assign anything to them.

 4. Acceptance by core developers that only half the job is developing
 the core - the other half is mentoring potential future core developers.
 So what do you do with core developers that don't do their job? Fire them?
 
 Of course not, but this is a cultural issue not a technical one. The first 
 step in changing a culture is to change the expectations.

I think the expectations of the users of Python have to adjust, then.
This is free software, it has its own working principles that people
need to get used to. In essence: if you want change, you need to execute
it your own. Nobody will do it for you.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Martin v. Löwis
Phil Thompson schrieb:
 And please be assured that no such obstacle is in the submitters way.
 Most patches are accepted without the submitter actually reviewing any
 other patches.
 
 I'm glad to hear it - but I'm talking about the perception, not the fact. 
 When 
 occasionally submitters ask if their patch is going to be included, they will 
 usually get a response suggesting they review other patches. That will only 
 strengthen the perception.

That's because those who get their patches accepted quickly never 
complain. They are still the majority, though.

In case of Titus Brown (who complained in his blog), I found that all of
his 5 patches got integrated into Python, me committing four of them,
and Georg committing one. Response time was between 3 days and 16
months.

 This discussion started because the feeling was expressed that it was 
 difficult to get patches accepted and that new core developers were not being 
 found.  I would love to contribute more to the development of Python - I owe
 it a lot - but from where I stand (which is most definitely not where you 
 stand) I can't see how to do that in a productive and rewarding way.

Not sure how long you have been contributing to free software: you will 
find, over time, that it is rewarding to get changes accepted even if
the process takes several months. Patience is an important quality here.

Regards,
Martin

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Martin v. Löwis
Phil Thompson schrieb:
 Of course it's not unreasonable. I would expect to be told that a patch
 must have tests and docs before it will be finally accepted. However,
 before I add those things to the patch I would like some timely feedback
 from those with more experience that my patch is going in the right
 direction.
 This cannot work. It is very difficult to review a patch to fix a
 presumed bug if there is no test case. You might not be able to
 reproduce the patch without a test case at all - how could you then
 know whether the patch actually fixes the bug?
 
 Please read what I said again. 

I did - I can't see where I misunderstood. You said you want feedback on
the patch even if it doesn't have test and doc changes (before I add
those things), and I said the only feedback you'll likely get is
add test cases and doc changes.

 Yes, a patch must be reviewed before 
 submission. Yes, a patch when submitted must include docs and test cases. I'm 
 talking about the less formal process leading up to that point. The less 
 formal process has a much lower barrier to entry, requires much less effort 
 by the reviewer, is the period during which the majority of the teaching 
 happens, and will result in a better quality final patch that will require 
 less effort to be put in to the final, formal review.

Here I'm not sure what you are talking about. How would that process be
executed? On python-dev? On the patches tracker?

It often happens that people write a bug report, and I respond
yes, this is a bug, would you like to work on a patch? They then
either ask should I do it this or that way?, and then I give my
opinion. So this already happens - again, it's just that the people
don't talk much about it.

I can't see that the barrier at contributing is high. The number
of patch submissions and bug reports proves the contrary. Literally
hundreds of people contribute.

 If you really want to learn and help, review a few patches, to see
 what kinds of problems you detect, and then post your findings to
 python-dev. People then will comment on whether they agree with your
 review, and what additional changes they like to see.
 
 Do you think this actually happens in practice? 

I wasn't talking in general, I was talking specifically about you
(Phil Thompson) here. If you really want to contribute in
*maintaining* Python, you are more than welcome. Several current
committers found their way into python-dev in the way you described,
and nearly nobody was ever turned away.

Regards,
Martin


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Martin v. Löwis
Phil Thompson schrieb:
 My point is simply that the effort required to review patches seems to be a 
 problem. Perhaps the reasons for that need to be looked at and the process 
 changed so that it is more effective. At the moment people just seem be 
 saying that's the way it is because that's the way it's got to be.

We have already changed the process a lot. These days patches are 
regularly turned away for not having tests and doc changes in them.
Yet, there are no reviewers willing to contribute even this very
straight-forward, easy-to-execute check.

If the patch meets the formal criteria, the hard part (on the reviewers
side) starts: they must understand the code being patched, the nature
of the problem, and the patch itself. I don't see how this could be
simplified, without neglecting quality.

 Then perhaps getting a full-time person should be taken seriously.

That's quite expensive, plus somebody would need to supervise that
person. A part-time person would be less expensive, but still needs
supervision.

Regards,
Martin

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Stephen J. Turnbull
Phil Thompson writes:

  MvL wrote:

   I doubt this will help. Much of the code isn't owned by anybody
   specifically. Those parts that are owned typically find their patches
   reviewed and committed quickly (e.g. the tar file module, maintained by
   Lars Gustäbel).

  Doesn't your last sentence completely contradict your first sentence?

Not in view of the second one.  Martin is saying that where the
existing process looks like your suggestion, it already works great.
It's not that this isn't well-known to the core developers!

The problem is a lack of reviewers/module owners.  The existing
review-for-review *offer* (not requirement!) proposes to increase the
supply of reviewers by offering them good and valuable consideration
(ie, a fast track for their own patches) in return.  You may not wish
to take advantage of that offer, but it addresses the underlying
problem.

The other proposals on the table amount to (a) the existing reviewers
should work harder and (b) if patches aren't reviewed, then they
should be presumed good enough to apply.  I think it should be obvious
how far they will get when restated in those practical terms.


___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Stephen J. Turnbull
Martin v. Löwis writes:

  Stephen J. Turnbull schrieb:

   Second, where the stdlib module is closely bound to the core, the
   maintainer ends up being the group of core developers.  It can't be
   any other way, it seems to me.
  
  It might be that individuals get designated maintainers: Guido maintains
  list and tuple, Tim maintaines dict, Raymond maintains set, I maintain
  configure.in. However, I doubt that would work in practice.

I was referring more to modules like os than to language features.
My experience with XEmacs is that 3rd parties are generally surprised
at how wide the range of packages that are considered to require the
blessing of a core developer before messing with them.

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Paul Moore
On 06/03/07, Martin v. Löwis [EMAIL PROTECTED] wrote:
 Scott Dial schrieb:
  While I understand that this tit-for-tat mechanism is meant to ensure
  participation, I believe in reality it doesn't, as the 400-some
  outstanding patches you referenced elswhere indicate. I can personally
  attest to having a patch that is over a year old with no core
  developer having any interest at all with the subject matter. And to be
  frank, nor did I really, but I saw a problem and was capable of solving
  it. My lack of caring about the patch means I am not going to beat
  people over the head to pay attention. This system is broken for someone
  like me (coder) that just wants to help out (non-coders).

 If you don't care that much about the patch, it's not broken. As I said
 before, the number of unreviewed patches has been roughly stable for
 some time now. If the patch is not really important, it may take two
 years now to get it in, but eventually, it will (if you then still are
 interested to work on it to complete it).

Here's a random offer - let me know the patch number for your patch,
and I'll review it. Note that I do *not* consider myself a core
developer, I don't even have the tools these days to build Python
easily - I certainly haven't done so for a while. The likelihood is
that I don't know much about the subject area of your patch, either.
As a final disclaimer, note that I have no commit privilege, so my
review won't result in your patch actually being applied :-)

I'll post the results of my review here, as an example of what a
reviewer needs to look at. If someone wants to distil that into a set
of how to review a patch guidelines, then that's great. More
reviewers would be a huge benefit.

I agree that contributing feels hard, and often the hard bit is
gaining the attention of the committers. The 5-for-1 offers help this,
and shouldn't be dismissed - it's just that the *other* ways involve
people skills (and so are far harder!!!)

Maybe we should emphasize (again) that reviewing patches is also
contributing, and would be greatly appreciated.

Paul.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Martin v. Löwis
Paul Moore schrieb:
 Scott Dial schrieb:
 While I understand that this tit-for-tat mechanism is meant to ensure
 participation, I believe in reality it doesn't, as the 400-some
 outstanding patches you referenced elswhere indicate. I can personally
 attest to having a patch that is over a year old with no core
 developer having any interest at all with the subject matter.
 
 Here's a random offer - let me know the patch number for your patch,
 and I'll review it.

Surprisingly (and I hope Scott can clarify that), I can't find anything.
Assuming Scott's SF account is geekmug, I don't see any open patches
(1574068 was closed within 20 days by amk, last October).

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Georg Brandl
Raymond Hettinger schrieb:
 [Phil Thompson]
 I think a lot of people care, but many can't 
 do anything about because the barrier to entry is too great.
 
 Do you mean commit priviledges?  ISTM, those tend to be
 handed out readily to people who assert that they have good use for them.
 Ask the Georg-bot how readily he was accepted and coached.  IMO,
 his acceptance was a model that all open source projects should aspire to.

Indeed. For me, it wasn't hard to get tracker rights. I reviewed some patches,
commented on bugs, posted suggestions to python-dev etc. When I asked about
tracker rights on python-dev, they were given to me.
Then, it wasn't hard to get commit rights. I contributed some stuff, and
after a while I asked about commit rights on python-dev, and they were given
to me on condition that I still let a core dev review inteded changes.

As far as I recall, there has been nearly no one who asked for commit rights
recently, so why complain that the entry barrier is too great? Surely you
cannot expect python-dev to got out and say would you like to have commit
privileges?...

Georg

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Jeremy Hylton
On 3/6/07, Georg Brandl [EMAIL PROTECTED] wrote:
 Raymond Hettinger schrieb:
  [Phil Thompson]
  I think a lot of people care, but many can't
  do anything about because the barrier to entry is too great.
 
  Do you mean commit priviledges?  ISTM, those tend to be
  handed out readily to people who assert that they have good use for them.
  Ask the Georg-bot how readily he was accepted and coached.  IMO,
  his acceptance was a model that all open source projects should aspire to.

 Indeed. For me, it wasn't hard to get tracker rights. I reviewed some 
 patches,
 commented on bugs, posted suggestions to python-dev etc. When I asked about
 tracker rights on python-dev, they were given to me.
 Then, it wasn't hard to get commit rights. I contributed some stuff, and
 after a while I asked about commit rights on python-dev, and they were given
 to me on condition that I still let a core dev review inteded changes.

 As far as I recall, there has been nearly no one who asked for commit rights
 recently, so why complain that the entry barrier is too great? Surely you
 cannot expect python-dev to got out and say would you like to have commit
 privileges?...

You can ask whether we should have a plan for increasing the number of
developers, actively seeking out new developers, and mentoring people
who express interest.  Would the code be better if we had more good
developers working on it?  Would we get more bugs fixed and patches
closed?  If so, it wouldn't hurt to have some deliberate strategy for
bringing new developers in.  I can easily imagine someone spending a
lot of time mentoring and a little time coding, but having a bigger
impact that someone who only wrote code.

Jeremy
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Nick Coghlan
Georg Brandl wrote:
 As far as I recall, there has been nearly no one who asked for commit rights
 recently, so why complain that the entry barrier is too great? Surely you
 cannot expect python-dev to got out and say would you like to have commit
 privileges?...

I think the number one suggestion I can make to anyone who is genuinely 
interested in contributing to the Python core is to lurk on python-dev 
for a while.

It *does* require a reasonable time commitment (much more than the time 
required to fire a one-off patch at the SF tracker), but I've certainly 
found it to be a valuable learning experience (both in general and in 
relation to Python core development):
   - getting an idea of who's who (and what's what) in the Python world
   - getting an idea of what needs to be done in CPython development
   - seeing bugs and patches discussed (yes, it happens!)
   - learning various non-Python specific things ranging from good API 
design and doing object-oriented programming in C to the intricacies of 
binary floating point, Unicode and POSIX signal handling (etc, etc, ...)

I believe my personal involvement in core development followed a similar 
trajectory to Georg's - lurked on python-dev for a while, began 
participating in discussions before too long (I'm not very good at 
lurking ;), helped out with the initial addition of the decimal module, 
got tracker privileges to help out with various bugs and patches, then 
eventually got commit privileges in order to update PEP 343.

And I think this approach still works - it's just that it is mainly 
useful to people that are interested in Python core development in 
general, rather than those that are looking to get a specific bug fixed 
or patch accepted (although the latter can happen too - Lars was given 
commit privileges when it became clear that he was both willing and able 
to be the maintainer of the tarfile module).

One thing that did happen though (which the messages from Jeremy  Phil 
reminded me of) is that I got a lot of direction, advice and assistance 
from Raymond when I was doing that initial work on improving the speed 
of the decimal module - I had the time available to run the relevant 
benchmarks repeatedly and try different things out, while Raymond had 
the experience needed to suggest possible avenues for optimisation (and 
when to abandon an approach as making the code too complicated to be 
effectively maintained).

I don't know whether or not there is anything specific we can do to 
encourage that kind of coaching/mentoring activity, but I know it was a 
significant factor in my become more comfortable with making contributions.

Regards,
Nick.

-- 
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---
 http://www.boredomandlaziness.org
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread A.M. Kuchling
On Tue, Mar 06, 2007 at 09:06:22AM +, Phil Thompson wrote:
 My point is simply that the effort required to review patches seems to be a 
 problem. Perhaps the reasons for that need to be looked at and the process 
 changed so that it is more effective. At the moment people just seem be 
 saying that's the way it is because that's the way it's got to be.

Unfortunately I think the effort required is intrinsic to reviewing
patches.  Trivial or obviously correct patches get applied quickly, so
the remaining bugs and patches are the ones that are hard to fix.

For example, our oldest bug is http://www.python.org/sf/214033, opened
2000-09-11, and is that (x?)? is reported as an error by the SRE regex
parser; the PCRE engine and Perl both accept it.  Fixing it requires
changing sre_parse, figuring out what to do (should it be equivalent
to '(x?)' or to '(x)?', and then being very sure that no other
patterns are broken by the change.  I suspect that fixing this bug
properly by researching the right answer, implementing it, and adding
tests would take me a half-day's worth of work.  If modifying
sre_parse is very difficult, it could take longer.

--amk
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Martin v. Löwis
Jeremy Hylton schrieb:
 You can ask whether we should have a plan for increasing the number of
 developers, actively seeking out new developers, and mentoring people
 who express interest.  Would the code be better if we had more good
 developers working on it?  Would we get more bugs fixed and patches
 closed?  

Certainly, yes.

 If so, it wouldn't hurt to have some deliberate strategy for
 bringing new developers in.

Well, it might hurt. I do have a strategy: I force people eager to
get their patches included into reviewing, with the 5:1 deal. I do
consider it a useful strategy, and feel sorry that nobody else was
willing to adopt it. However, it seems that this also has hurt,
because now some people believe this is the only way to get patches
reviewed (but perhaps that's not too bad, because before they believed
there is no way at all to get patches reviewed...).

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Martin v. Löwis
Nick Coghlan schrieb:
 One thing that did happen though (which the messages from Jeremy  Phil 
 reminded me of) is that I got a lot of direction, advice and assistance 
 from Raymond when I was doing that initial work on improving the speed 
 of the decimal module - I had the time available to run the relevant 
 benchmarks repeatedly and try different things out, while Raymond had 
 the experience needed to suggest possible avenues for optimisation (and 
 when to abandon an approach as making the code too complicated to be 
 effectively maintained).
 
 I don't know whether or not there is anything specific we can do to 
 encourage that kind of coaching/mentoring activity, but I know it was a 
 significant factor in my become more comfortable with making contributions.

While there was no explicit management of a mentoring process, I think 
it so happened that committers always found a mentor. It so happened 
that some developer activated privileges for them (either himself, or
requesting that this be done), and then certainly feels responsible
for his 'student'. This automatically establishes a mentoring
relationship.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Martin v. Löwis
A.M. Kuchling schrieb:

 For example, our oldest bug is http://www.python.org/sf/214033, opened
 2000-09-11, and is that (x?)? is reported as an error by the SRE regex
 parser; the PCRE engine and Perl both accept it.  Fixing it requires
 changing sre_parse, figuring out what to do (should it be equivalent
 to '(x?)' or to '(x)?', and then being very sure that no other
 patterns are broken by the change.  I suspect that fixing this bug
 properly by researching the right answer, implementing it, and adding
 tests would take me a half-day's worth of work.  If modifying
 sre_parse is very difficult, it could take longer.

I just applied a patch by Aaron Watters for HTMLParser, which was three
years old. The patch wasn't contributed in unified diff, it hadn't test
cases and documentation changes, and it changed the way HTMLParser does
unescaping of references in HTML attributes. It was a fairly small 
change, yet it contained a bug, and a likely-to-occur boundary behavior
(entity references for undefined entities). In testing, I found that
HTMLParser (incorrectly) supports apos; and decided to continue to
support it for compatibility.

All in all, it took me about one hour to review and apply this patch
(again, even though it changed only 20 lines or so). I felt it wouldn't
have been fair to Aaron to go back and ask for unified diffs etc now
that the patch had been sitting there for several years. Yet, in all
these years, nobody else commented that the patch was incomplete,
let alone commenting on whether the feature was desirable.

Regards,
Martin

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Georg Brandl
Martin v. Löwis schrieb:
 Nick Coghlan schrieb:
 One thing that did happen though (which the messages from Jeremy  Phil 
 reminded me of) is that I got a lot of direction, advice and assistance 
 from Raymond when I was doing that initial work on improving the speed 
 of the decimal module - I had the time available to run the relevant 
 benchmarks repeatedly and try different things out, while Raymond had 
 the experience needed to suggest possible avenues for optimisation (and 
 when to abandon an approach as making the code too complicated to be 
 effectively maintained).
 
 I don't know whether or not there is anything specific we can do to 
 encourage that kind of coaching/mentoring activity, but I know it was a 
 significant factor in my become more comfortable with making contributions.
 
 While there was no explicit management of a mentoring process, I think 
 it so happened that committers always found a mentor. It so happened 
 that some developer activated privileges for them (either himself, or
 requesting that this be done), and then certainly feels responsible
 for his 'student'. This automatically establishes a mentoring
 relationship.

Perhaps we should really try to make *that* notion widely known out there,
opposed to others like the alleged 5:1 requirement or that it is hard to
get patches into the Python core :)

A sort of announcement and some text on the website would surely help...

Georg

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Georg Brandl
A.M. Kuchling schrieb:
 On Tue, Mar 06, 2007 at 09:06:22AM +, Phil Thompson wrote:
 My point is simply that the effort required to review patches seems to be a 
 problem. Perhaps the reasons for that need to be looked at and the process 
 changed so that it is more effective. At the moment people just seem be 
 saying that's the way it is because that's the way it's got to be.
 
 Unfortunately I think the effort required is intrinsic to reviewing
 patches.  Trivial or obviously correct patches get applied quickly, so
 the remaining bugs and patches are the ones that are hard to fix.

Exactly. I often find myself looking at a patch or bug and turn away thinking
I would need hours to review and check that in, while the developer who
originally wrote the code might perhaps do it in much less time. It's not easy
to apply patches to code that was written by others and that should stay as
compatible as possible for all cases not covered by the patch.

Georg

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Stephen J. Turnbull
George Brandl writes:

  As far as I recall, there has been nearly no one who asked for
  commit rights recently, so why complain that the entry barrier is
  too great? Surely you cannot expect python-dev to got out and say
  would you like to have commit privileges?...

Why not?  It depends on how far out out is, but I was surprised how
much effect we (at XEmacs) got by simply asking people who contributed
a couple of patches if they would like to take on tracking + patch
flow management for their own patches in return for direct access to
the repository.  Giving out authority to approve commits is another
matter, but as long as the new people are willing to participate in
the mechanics it's generally a management win to have more committers.

The answer is more often than not no, but *thanks for asking*.
Merely asking creates an atmosphere of openness and trust.  That's a
lot, when simply asking that developers of patches consider third
parties' use cases is attacked as a high barrier to participation.

And of course it's the most common path to greater authority.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Ilya Sandler


On Tue, 6 Mar 2007, [ISO-8859-1] Martin v. L?wis wrote:

 Yet, in all  these years, nobody else commented that the patch was incomplete,
 let alone commenting on whether the feature was desirable.

Which actually brings up another point: in many cases even a simple
comment by a core developer: yes this feature is desirable
might be of considerable value as it's likely to increase chances that some 
other
developer will decide to spend time on the patch


Similarly, some bug reports are for border cases. A confirmation by a
core developer: yes, that needs fixing might encourage someone
else to submit a patch...

I'd also suggest that request for test cases/docs comes after
(or together with) suggestion that a feature is desirable in the first
place.

Ilya



 Regards,
 Martin

 ___
 Python-Dev mailing list
 Python-Dev@python.org
 http://mail.python.org/mailman/listinfo/python-dev
 Unsubscribe: 
 http://mail.python.org/mailman/options/python-dev/ilya%40bluefir.net

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Martin v. Löwis
Ilya Sandler schrieb:
 I'd also suggest that request for test cases/docs comes after
 (or together with) suggestion that a feature is desirable in the first
 place.

It depends. I was going through some old patches today, and came
across one that added a class to heapq. I couldn't tell (even
after reading the code) what precisely all implications are, so
I was unable to proceed review beyond please provide documentation
saying what this is for. I would then be able to tell:
a) whether it really does what it promises to do, and
b) whether this is desirable to have

I remember many occasions where a patch was rejected and never
reconsidered (even after discussion on python-dev) because the
submitter failed to clearly specify what the intention of the
change was, as it turned out that the code didn't implement the
intention, and people reviewing rejected it because they thought
it was meant to do something else (namely, to do what it actually
did).

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread skip

Nick I don't know whether or not there is anything specific we can do
Nick to encourage that kind of coaching/mentoring activity, but I know
Nick it was a significant factor in my become more comfortable with
Nick making contributions.

Martin While there was no explicit management of a mentoring process, I
Martin think it so happened that committers always found a mentor.

Could the Summer of Code be used as a vehicle to match up current developers
with potentially new ones?  The svn sandbox (or a branch) could serve as a
place for developers to get their feet wet. Perhaps Raymond can comment on
whether he thinks that makes sense based upon his experience mentoring the
Decimal-in-C module.

Skip
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Terry Reedy

Martin v. Löwis [EMAIL PROTECTED] wrote in message 
news:[EMAIL PROTECTED]
1. Public identification will not help, because:
2. most code isn't in the responsibility of anybody (so publically
identifying responsibilities would leave most code unassigned), and
3. for the code that has some responsible member, things are already
fine (so public identification won't improve here)

If I were looking for an 'ophan' (python-coded) module to adopt,
then such a list would help me choose.

It would also be helpful if the new tracker system could produce a list of 
module-specific open items sorted by module, since that would indicate 
modules needing attention, and I could look for a batch that were 
unassigned.

Terry Jan Reedy





___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread skip

dustin In summary, create a layer of volunteer, non-committing
dustin maintainers for specific modules who agree to do in-depth
dustin analysis of patches for their areas of expertise, and pass
dustin well-formed, reviewed patches along to committers.

One problem with this sort of system is that it's difficult for many people
to commit the personal resources necessary over a long period of time.  Life
often gets in the way.  Consider the rather simple task of fielding
submissions to the Python job board.  I think three or four different people
who have taken care of that task over the last two or three years.  In each
case the transition to a new person was a bit bumpy because life sort of
jumped up an bit the current maintainer in the butt, leaving a scramble to
find a new person to take over that role.

Now consider how simple that is compared with, say, being the Python XML
guru.  Let's say Fred Drake takes on that role.  (I'm not picking on Fred.
My brain just associates him with XML-in-Python, rightly or wrongly.) Things
go swimmingly for awhile, then he gets a huge load dumped on him at work,
his wife has a baby and the family moves to Austin, TX to be close to his
aging parents.  After moving to Austin it takes a month to get a properly
functioning Internet connection because the phone company is so lame.  I
think it's understandable that his level of committment to XML-in-Python
might be reduced.  Other events in his life might take over to such an
extent that he forgets to (or can't easily) let anyone know.  It's not until
someone happens to notice (maybe Fred, maybe Martin, maybe nobody for quite
awhile) that there are a bunch of XML-related bug reports and patches piling
up that the team starts looking for someone new to assume that role.

Skip
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread A.M. Kuchling
On Tue, Mar 06, 2007 at 01:03:39PM -0600, [EMAIL PROTECTED] wrote:
 Could the Summer of Code be used as a vehicle to match up current developers
 with potentially new ones?  The svn sandbox (or a branch) could serve as a
 place for developers to get their feet wet. Perhaps Raymond can comment on
 whether he thinks that makes sense based upon his experience mentoring the
 Decimal-in-C module.

Gregory Johnson, who did the rewrite of mailbox.py in the 2005 SoC,
did a very good job; the module went into 2.5 and, judging by the few
bug reports that have come in, gained some users pretty quickly.  He
also vanished after SoC was over, which is unfortunate, but not due to
anything in my mentoring (I hope!).

--amk

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread dustin
On Tue, Mar 06, 2007 at 01:51:41PM -0600, [EMAIL PROTECTED] wrote:
 
 dustin In summary, create a layer of volunteer, non-committing
 dustin maintainers for specific modules who agree to do in-depth
 dustin analysis of patches for their areas of expertise, and pass
 dustin well-formed, reviewed patches along to committers.
 
 One problem with this sort of system is that it's difficult for many people
 to commit the personal resources necessary over a long period of time.  Life
 often gets in the way.   snip

This is *definitely* the core problem with this system, and has plagued
every project to use a variant of it (including many small projects with
only one developer who takes months to respond to email).  I think one
*advantage* of this system would be that, with patch submitters having a
specific person to whom their patches should be addressed,
non-responsiveness on that person's part would be detected and brought
to the community's attention more quickly.  

It would help a great deal to have a very formalized system in place for
promoting/demoting maintainers -- email templates with filterable
subject lines and specific addresses to send them to, specific expected
response times, etc.

As someone else said in another thread, we all think that everyone
thinks like us (I think that's tautological?).  My thinking is that a
lot of people like me would love to have a small corner of Python for
which they are responsible.

Dustin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Ron Adam
Neal Norwitz wrote:

 I recognize there is a big problem here.  Each of us as individuals
 don't scale.  So in order to get stuff done we need to be more
 distributed.  This means distributing the workload (partially so we
 don't burn out).   In order to do that we need to distribute the
 knowledge.  That probably involves some changes.

Neil with deep insight states...

In order to do that we need to distribute the knowledge.

+ 1000


I'm looking forward to a new tracker and hope it manages single projects... 
(patches and bugs) better.  It would be great if we could search for items 
based on possibly the following conditions.

patch_complete
patch_reviewed
patch_approved

test_complete
test_reviewed
test_approved

doc_complete
doc_reviewed
doc_approved


For new features:

pep_completed
pep_reviewed
pep_approved


Finally:  (after all the above applicable conditions are true)

accept_reject   (python-dev (or BDFL) approval)  [*]


*Note: Rejections could be done sooner if it obviously a bad idea.


In the case of bugs, the tests would probably come first in order to verify 
and reproduce the specific bug.


What something like this would do is effectively distribute knowledge as 
you suggest.  For example someone good at writing docs could do a search 
for all patches that do not have doc's or need docs reviewed and contribute 
in that way.  The same for someone interested in writing and reviewing tests.

It would also be easy for python core developers to get a list of items 
that are completed *and* are reviewed and then go through those items that 
are up for final approval on py-dev on a regular schedule.  If it's 
determined there still needs to be work on any one item, they can clear the 
specific flags, (needs better tests, clear all test flags, with a 
suggestion of action),  Then when it is fixed and re-reviewed it will come 
up for final approval again when the next final patch review period comes 
around.  (or sooner if a core developer wants to push it though.)



 I understand it's really hard to get involved.  It can be frustrating
 at times.  But I think the best way is to find a mentor.  Find an
 existing core developer that you relate to and/or have similar
 interests with.  I've been trying to do this more.
 
 So here's my offer.  Anyone who is serious about becoming a Python
 core developer, but doesn't know how to get involved can mail me.
 Privately, publicly, it doesn't matter to me.  I will try to mentor
 you.

Cool! Thanks.


 Be prepared!  I will demand submissions are high quality which at a
 minimum means:
 
  - it adds a new test, enhances an existing test or fixes a broken test
  - it has *all* the required documentation, including
 versionadded/versionchanged
  - most people think the feature is desirable
  - the code is maintainable and formatted according to the prevailing style
  - we follow the process (which can include improving the process if
 others agree)
 ie, there's no free lunch, unless you work at Google of course :-)
 
 It also means you are willing to hold other people up to equally high 
 standards.

I wouldn't expect less.


 Your contributions don't have to be code though.  They can be doc,
 they can be PEPs, they can be the python.org website.  It could even
 be helping out with Google's Summer of Code.  The choice is yours.

I wonder if a tracker could also have patch requests.  Similar to bugs, 
except it's more of a todo list.  Oh, never mind there is a feature request 
  group already.  Could that possibly be extended to other areas?

_Ron

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Martin v. Löwis
Terry Reedy schrieb:
 It would also be helpful if the new tracker system could produce a list of 
 module-specific open items sorted by module, since that would indicate 
 modules needing attention, and I could look for a batch that were 
 unassigned.

The new tracker will initially have the same category as the current
one, but it will have the ability to group by them (and perhaps even
count them).

Of course, many bugs don't have a category set, so some volunteer would
first need to go through all open bugs and categorize them.

If, for Modules, you want a more fine-grained classification, it
would be possible to add new categories, or add another field
affected modules (multi-list, I assume).

If there is a volunteer that would like to go through all bug
reports and classify them according this finer category, I can
work with the roundup maintainers to add that (although it
will likely only happen after the switch to roundup - it is
easy to extend the schema with additional fields if it is
known exactly what they are).

There is also a generic keywords field in the roundup
tracker - perhaps the affected modules could become keywords.

HTH,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Terry Reedy

Martin v. Löwis [EMAIL PROTECTED] wrote in message 
news:[EMAIL PROTECTED]
| Terry Reedy schrieb:
|  It would also be helpful if the new tracker system could produce a list 
of
|  module-specific open items sorted by module, since that would indicate
|  modules needing attention, and I could look for a batch that were
|  unassigned.
|
| The new tracker will initially have the same category as the current
| one, but it will have the ability to group by them (and perhaps even
| count them).
|
| Of course, many bugs don't have a category set, so some volunteer would
| first need to go through all open bugs and categorize them.

I'll take a look at the categories on SF and see if any are unclear to me.

| If, for Modules, you want a more fine-grained classification, it
| would be possible to add new categories, or add another field
| affected modules (multi-list, I assume).

I guess making each module a category would be too fine...
|
| If there is a volunteer that would like to go through all bug
| reports and classify them according this finer category, I can
| work with the roundup maintainers to add that (although it
| will likely only happen after the switch to roundup - it is
| easy to extend the schema with additional fields if it is
| known exactly what they are).
|
| There is also a generic keywords field in the roundup
| tracker - perhaps the affected modules could become keywords.

I am presuming that it will be easier to write scripts to search and 
manipulate on the new tracker (whether to run on the tracker site or 
elsewhere).  If so, then the information just needs to be recorded 
somewhere.  An existing keywords field sounds good enough.

Terry Jan Reedy





___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Anthony Baxter
On Tuesday 06 March 2007 20:24, Martin v. Löwis wrote:
 It might be that individuals get designated maintainers: Guido
 maintains list and tuple, Tim maintaines dict, Raymond maintains
 set, I maintain configure.in. However, I doubt that would work in
 practice.

That approach would simply give us many many single points of 
failure. For instance, you're maintaining a particular module but 
at the time an important bug/patch comes up, you're off on 
holidays, or busy, or the like. Sure, you could say this person is 
primary, and this person is backup but hell, there's a lot of 
different components that make up Python. That would be a 
maintenance and management nightmare.


-- 
Anthony Baxter [EMAIL PROTECTED]
It's never too late to have a happy childhood.
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread skip

Martin If, for Modules, you want a more fine-grained classification,
Martin it would be possible to add new categories, or add another field
Martin affected modules (multi-list, I assume).

Why not add some tag capability to the new tracker (maybe the generic
keywords field you mentioned would suffice)?  People could attach whatever
tags seem appropriate.  Limiting the tags to a (nearly) fixed set of
categories or the names of modules seems limiting.  Given a set of tags you
could also do the tag cloud thing and be more buzzword compliant at the same
time. ;-)

Skip
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Barry Warsaw
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Mar 6, 2007, at 7:51 PM, [EMAIL PROTECTED] wrote:

 Why not add some tag capability to the new tracker (maybe the generic
 keywords field you mentioned would suffice)?  People could attach  
 whatever
 tags seem appropriate.  Limiting the tags to a (nearly) fixed set of
 categories or the names of modules seems limiting.  Given a set of  
 tags you
 could also do the tag cloud thing and be more buzzword compliant at  
 the same
 time. ;-)

Jira had a way of automatically assigning certain categories to  
certain people.  I think the term was project leader or some such.   
Of course, this didn't mean that someone else couldn't fix the bug or  
that the bug couldn't be reassigned to someone else, but at least it  
initially gives all issues to the person nominally responsible for it.

- -Barry

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (Darwin)

iQCVAwUBRe4Qh3EjvBPtnXfVAQIzegP/dzWv3DGAKy5p5nRR/aWU90DVQJnw/WfK
0PPHlNCDhgixnQvjLP/0B8feeeUXHW3dwvodFkYrtxTHze6airkJLl9bypxMGgRo
Q7ckj+51cXxySHLj9+5FEkdFS9gxrpWf6+toZoGSVZ08Wa2Pz6v2Pa3Oiu5kgvZ4
LAKfdvbFDh8=
=U1zJ
-END PGP SIGNATURE-
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Neal Norwitz
On 3/6/07, Ron Adam [EMAIL PROTECTED] wrote:
 Neal Norwitz wrote:

 I'm looking forward to a new tracker and hope it manages single projects...
 (patches and bugs) better.  It would be great if we could search for items
 based on possibly the following conditions.

The best place to discuss these things are on tracker-discuss.  I
think everything is pretty much done, we are waiting for someone to
help write doc (Brett knows more about this).  We are also waiting
until after 2.5.1 is out before we switch over so there aren't
unforeseen issues with the release.  Hopefully 2.5.1 will be out in a
month.

 *Note: Rejections could be done sooner if it obviously a bad idea.

Agreed.

Note: I review nearly all traffic on patches through the mailing list.
 If I see someone say this patch should be rejected and I agree, I
will do it immediately.  I rarely do that because I don't see those
comments.  Mostly I just close duplicates that happen from time to
time.

 In the case of bugs, the tests would probably come first in order to verify
 and reproduce the specific bug.

Yup.  Also write a test case if one doesn't exist.  That will greatly
speed debugging.  Adding helpful information about what platform the
problem occurs on can speed things up too.  Writing a NEWS entry would
also speed things up.

This may sound kinda stupid, but if enough people help out, it might
reduce the time it takes to fix a bug from 30 minutes to 15 minutes.
If I only have 15 minutes to work on a problem, it's the difference
between it getting fixed or remaining unresolved.

 What something like this would do is effectively distribute knowledge as
 you suggest.  For example someone good at writing docs could do a search
 for all patches that do not have doc's or need docs reviewed and contribute
 in that way.  The same for someone interested in writing and reviewing tests.

Yes, every little bit helps!

 I wonder if a tracker could also have patch requests.  Similar to bugs,
 except it's more of a todo list.  Oh, never mind there is a feature request
   group already.  Could that possibly be extended to other areas?

I don't know what you mean, can you clarify?

n
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Neal Norwitz
On 3/6/07, Terry Reedy [EMAIL PROTECTED] wrote:

 Martin v. Löwis [EMAIL PROTECTED] wrote in message
 news:[EMAIL PROTECTED]
 1. Public identification will not help, because:
 2. most code isn't in the responsibility of anybody (so publically
 identifying responsibilities would leave most code unassigned), and
 3. for the code that has some responsible member, things are already
 fine (so public identification won't improve here)

 If I were looking for an 'ophan' (python-coded) module to adopt,
 then such a list would help me choose.

  os.listdir(os.path.dirname(os.__file__))

Does that help? :-)

It's not really that far off, though.  :-(

Larger modules that have been contributed recently like subprocess and
tarfile are well maintained.  Most other modules are less so.  Most of
the modules don't have problems.  However, many of the web-centric
modules have outstanding issues, as does sre.  I think some of the
shell utility modules (shutil, path handling) have issues wrt
portability.

There are also many problems that only occur on one platform (most
often Windows, AIX, or HP-UX).  I won't touch these sorts of problems
unless I can properly verify the problem and the fix.  Generally
problems in these areas don't have tests which make fixing them
without access to the platform too costly IMO.

asyncore has a lot of outstanding issues IIRC.  Also many issues are
documentation.

I think it would be best for people to pick a module they are
interested in and knowledgeable about.  We could create a wiki that
would be for informational use.  If it works well, maybe we could
formalize it.  Start something, announce it to python-list or
python-dev, and try it.  If it works, we'll adopt it.

 It would also be helpful if the new tracker system could produce a list of
 module-specific open items sorted by module, since that would indicate
 modules needing attention, and I could look for a batch that were
 unassigned.

Agreed.  That's why I wanted keywords to be supported (which I believe
they are).  If we can slice and dice the issues up into categories, it
will be easy to figure out where we need to spend more time.  It also
can be a great incentive to drop 5 issues to 0.  Going from 977 to
972, just isn't as satisfying.

n
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-06 Thread Ron Adam
Neal Norwitz wrote:
 On 3/6/07, Ron Adam [EMAIL PROTECTED] wrote:
 Neal Norwitz wrote:

 I'm looking forward to a new tracker and hope it manages single 
 projects...
 (patches and bugs) better.  It would be great if we could search for 
 items
 based on possibly the following conditions.
 
 The best place to discuss these things are on tracker-discuss.  I
 think everything is pretty much done, we are waiting for someone to
 help write doc (Brett knows more about this).  We are also waiting
 until after 2.5.1 is out before we switch over so there aren't
 unforeseen issues with the release.  Hopefully 2.5.1 will be out in a
 month.

Cool! :-)


 *Note: Rejections could be done sooner if it obviously a bad idea.
 
 Agreed.
 
 Note: I review nearly all traffic on patches through the mailing list.
 If I see someone say this patch should be rejected and I agree, I
 will do it immediately.  I rarely do that because I don't see those
 comments.  Mostly I just close duplicates that happen from time to
 time.
 
 In the case of bugs, the tests would probably come first in order to 
 verify
 and reproduce the specific bug.
 
 Yup.  Also write a test case if one doesn't exist.  That will greatly
 speed debugging.  Adding helpful information about what platform the
 problem occurs on can speed things up too.  Writing a NEWS entry would
 also speed things up.
 
 This may sound kinda stupid, but if enough people help out, it might
 reduce the time it takes to fix a bug from 30 minutes to 15 minutes.
 If I only have 15 minutes to work on a problem, it's the difference
 between it getting fixed or remaining unresolved.

I never consider clarifying statements even a little bit stupid.  Only a 
bit boring if I hear them more than a few times in a short time period. 
But that's definitely not a problem compared with not having them stated at 
all.

For us who aren't (as) familiar with all the issues surround a bug or the 
specific code in question it can take considerably longer.


 What something like this would do is effectively distribute knowledge
 as you suggest. For example someone good at writing docs could do a
 search for all patches that do not have doc's or need docs reviewed
 and contribute in that way. The same for someone interested in writing
 and reviewing tests.
 
 Yes, every little bit helps!

But the tracker needs to be able to actually track the status of individual 
items for this to work.  Currently there's this huge list and you have to 
either wade though it to find out the status of each item, or depend on 
someone bring it to your attention.  (This has been discussed before.)


 I wonder if a tracker could also have patch requests. Similar to bugs,
  except it's more of a todo list. Oh, never mind there is a feature 
 request group already. Could that possibly be extended to other
 areas?
 
 I don't know what you mean, can you clarify?

I suppose I'm thinking of things that are even more general than a feature 
request.  Like possibly a research request.  Or a request for something to 
be done first so that something else can then be done.

Ron

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread A.M. Kuchling
On Mon, Mar 05, 2007 at 12:58:13PM -0600, [EMAIL PROTECTED] wrote:
 I'm not much of a version control wonk.  How would these help?  Can't the
 folks who need such stuff do some sort of anonymous svn checkout?

The external developers can commit changes, revert them, etc. to their
local repository, and still keep pulling changes from the python.org
master as we commit them.  

With an anonymous SVN checkout, you can never commit changes back, so
you can't commit your work in stages or roll back changes as those of
us w/ commit privileges can.  (svk adds distributed features on top of
SVN; that would be another option.)

--amk

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread glyph

A few meta-points:

On 07:30 pm, [EMAIL PROTECTED] wrote:
2. Publically identify the core developers and their areas of expertise 
and

responsibility (ie. which parts of the source tree they own).


I'd like to stress that this is an important point; although we all know 
that Guido's the eventual decision makers, there are people whose 
opinions need to be influenced around particular areas of the code and 
whose opinions carry particular weight.  *I* have trouble figuring out 
who these people are, and I think I have more than a casual outsider's 
understanding of the Python development process.

3. Provide a forum (a python-patch mailing list) where patches can be
proposed, reviewed and revised informally but quickly.


This reminds me of a post I really wanted to make after PyCon but 
rapidly became too sick to.


The patches list really ought to be _this_ list.  The fact that it isn't 
is indicative of a failure of the community.  A good deal of the 
discussion here in recent months has either been highly speculative, or 
only tangentially related to Python's development, which is ostensibly 
its topic.  We shouldn't really be talking about PR or deployment or any 
issues which aren't bug reports or patches here.


I've certainly contributed somewhat to this problem myself, and I've 
made a resolution to stick to development issues here.


This post itself is obviously in a grey area near the edge of that, but 
I do feel that, given the rather diverse population of readers here, we 
should collectively make the purpose of this forum explicit so that the 
python developers can use it to develop Python.


One worrying trend I noticed at PyCon is that it seems that quite a lot 
of communication between core developers these days happens over private 
email.  Core developers use private email to deal with pressing issues 
because python-dev has become crowded.  This makes it difficult to see 
high-priority issues, as well as fostering an environment where every 
minor detail might get responded to with a cascade of me too posts or 
bike-shed discussions.  The core guys have a lot of stuff to get done, 
and if there isn't an environment where they can do that in public, 
they're going to get it done in private.


Taken together, all this has the overall effect of making the 
development process a lot harder to follow, which worsens, for example, 
issue #2 which I responded to above.  It also creates a number of false 
impressions about what sort of development is really going on, since 
many posters here are not, in fact, working on core Python at all, just 
speculating about it.


A few others have already pointed out the python-ideas list:

   http://mail.python.org/mailman/listinfo/python-ideas

where the more speculative ideas should be discussed before being 
brought here as a patch or PEP.  Of course, for more general discussion 
there's always good old python-list.


As far as bike-shed discussions, we can all do our part by just 
considering what threads we all really have something useful to 
contribute to.  Let's all try to put the python dev back in python-dev!
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Phil Thompson
On Monday 05 March 2007 8:09 pm, Oleg Broytmann wrote:
 On Mon, Mar 05, 2007 at 07:30:20PM +, Phil Thompson wrote:
  1. Don't suggest to people that, in order to get their patch reviewed,
  they should review other patches. The level of knowledge required to put
  together a patch is much less than that required to know if a patch is
  the right one.

I am afraid this could lead to proliferation of low-quality patches. A
 patch must touch at least code, documentation and tests, be tested itself
 and must not break other tests. These requirements demand higher expertise.

I'm not sure what your point is. My point is that, if you want to encourage 
people to become core developers, they have to have a method of graduating 
through the ranks - learning (and being taught) as they go. To place a very 
high obstacle in their way right at the start is completely 
counter-productive.

Phil
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Neil Schemenauer
A.M. Kuchling [EMAIL PROTECTED] wrote:
 At PyCon, there was general agreement that exposing a read-only
 Bazaar/Mercurial/git/whatever version of the repository wouldn't be
 too much effort, and might make things easier for external people
 developing patches.  Thomas Wouters apparently has private scripts
 that perform the conversion.  What needs to be done to move ahead with
 this idea?

Using git-svn to track a SVN repository seems to work well.  It
would be trivial to setup a cron job on one of the python.org
machines that would create a publicly accessible repository.  To get
changes back into SVN is pretty easy too.  Someone with SVN access
would pull the changes into their own git repository and then use
git-svn to commit them.  In my experience, committed changes look
just like they would if they were done without git.

There are other tools out there for Bzr and Mercurial but I have no
experience with them.  I've used Bzr  but git seems a better fit for
python-dev, even though it's harder to learn.

If some decides to do this, I suggest reading
http://git.or.cz/gitwiki/GitCommonMistakes .

  Neil

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Phil Thompson
On Monday 05 March 2007 9:38 pm, Thomas Wouters wrote:
 On 3/5/07, A.M. Kuchling [EMAIL PROTECTED] wrote:
  From http://ivory.idyll.org/blog/mar-07/five-things-I-hate-about-python
 
  4. The patch mafia. I like everyone on python-dev that I meet,
  but somehow it is annoyingly difficult to get a patch into
  Python. Like threading, and the stdlib, this is a mixed
  blessing: you certainly don't want every Joe Schmoe checking
  in whatever crud he wants. However, the barrier is high enough
  that I no longer have much interest in spending the time to
  shepherd a patch through. Yes, this is probably all my fault
  -- but I still hate it!
 
  FWIW, I have a related perception that we aren't getting new core
  developers. These two problems are probably related: people don't get
  patches processed and don't become core developers, and we don't have
  enough core developers to process patches in a timely way.  And so
  we're stuck.
 
  Any ideas for fixing this problem?

 A better patch-tracker, better procedures for reviewing patches surounding
 this new tracker, one or more proper dvcs's for people to work off of. I'm
 not sure about 'identifying core developers' as we're all volunteers, with
 dayjobs for the most part, and only a few people seem to care enough about
 python as a whole.

I don't think that that is true. I think a lot of people care, but many can't 
do anything about because the barrier to entry is too great.

 Putting the burden of patch review on the developers 
 that say they can cover it might easily burn them out. (I see Martin handle
 a lot of patches, for instance, and I would love to help him, but I just
 can't find the time to review the patches on subjects I know much about,
 let alone the rest of the patches.)

 While submitting patches is good, there's a lot more to it than just
 submitting the 5-line code change to submit a bug/feature, and reviewing
 takes a lot of time and effort.

So there is something wrong there as well.

 I don't think it's unreasonable to ask for 
 help from the submitters like we do, or ask them to write tests and docs
 and such.

Of course it's not unreasonable. I would expect to be told that a patch must 
have tests and docs before it will be finally accepted. However, before I add 
those things to the patch I would like some timely feedback from those with 
more experience that my patch is going in the right direction. I want 
somebody to give it a quick look, not a full blown review. The process needs 
to keep people involved in it - at the moment submitting a patch is 
fire-and-forget.

Phil
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Neil Schemenauer
Neil Schemenauer [EMAIL PROTECTED] wrote:
 Using git-svn to track a SVN repository seems to work well.  It
 would be trivial to setup a cron job on one of the python.org
 machines that would create a publicly accessible repository.

I guess Andrew was looking for specific instructions.  Install git
and git-svn.  For Debian stable, you can get them from
http://backports.org/debian/pool/main/g/git-core/.

Initialize the repository:

git-svn init http://svn.foo.org/project/trunk

Fetch versions from SVN:

git-svn fetch

I think the fetch can be run periodically from a cron job.  The
repository can be cloned via HTTP but it's much faster to use the
git server which runs on it's own TCP port.

  Neil

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Terry Reedy

Phil Thompson [EMAIL PROTECTED] wrote in message 
news:[EMAIL PROTECTED]
| On Monday 05 March 2007 6:46 pm, A.M. Kuchling wrote:
|  FWIW, I have a related perception that we aren't getting new core
|  developers. These two problems are probably related: people don't get
|  patches processed and don't become core developers, and we don't have
|  enough core developers to process patches in a timely way.  And so
|  we're stuck.
| 
|  Any ideas for fixing this problem?
|
| 1. Don't suggest to people that, in order to get their patch reviewed, 
they
| should review other patches. The level of knowledge required to put 
together
| a patch is much less than that required to know if a patch is the right 
one.
|
| 2. Publically identify the core developers and their areas of expertise 
and
| responsibility (ie. which parts of the source tree they own).
|
| 3. Provide a forum (a python-patch mailing list) where patches can be
| proposed, reviewed and revised informally but quickly.
|
| 4. Acceptance by core developers that only half the job is developing 
the
| core - the other half is mentoring potential future core developers.

Tracker item review is an obvious bottleneck in Python development.  In 
particular,
reviewing patches appears not to be nearly as self-motivating as writing 
them, and other activities.  So I think the PSF should pay one or more 
people to do so.  Possibly set up a patch review fund and solicit 
donations.  And, donators should get priority attention to their 
submissions.  For commercial developers, this would probably be cheaper, 
given the value of their time, than reviewing five other submissions.

Terry Jan Reedy





___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Aahz
On Mon, Mar 05, 2007, Terry Reedy wrote:

 Tracker item review is an obvious bottleneck in Python development.
 In particular, reviewing patches appears not to be nearly as
 self-motivating as writing them, and other activities.  So I think the
 PSF should pay one or more people to do so.  Possibly set up a patch
 review fund and solicit donations.  And, donators should get priority
 attention to their submissions.  For commercial developers, this would
 probably be cheaper, given the value of their time, than reviewing
 five other submissions.

There also seems to be a sense that we're waiting to get off SourceForge
and using our own tracker.
-- 
Aahz ([EMAIL PROTECTED])   * http://www.pythoncraft.com/

I disrespectfully agree.  --SJM
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Giovanni Bajo
On 05/03/2007 20.30, Phil Thompson wrote:

 1. Don't suggest to people that, in order to get their patch reviewed, they 
 should review other patches. The level of knowledge required to put together 
 a patch is much less than that required to know if a patch is the right one.

+1000.

 2. Publically identify the core developers and their areas of expertise and 
 responsibility (ie. which parts of the source tree they own).

I think this should be pushed to its extreme consequences for the standard 
library. Patching the standard library requires *much less* knowledge than 
patching the standard core. Basically, almost any Python developer in the wild 
can quickly learn a module and start patching it in a few days/weeks -- still, 
the stdlib is a total mess of outdated and broken modules.

My suggestion is:

  - keep a public list of official maintainers for each and every 
package/module in the standard library (if any, otherwise explicitly specify 
that it's unmaintained).
  - if there's no maintainer for a module, the *first* volunteer can become so.
  - *any* patch to stdlib which follows the proper guidelines (have a test, 
don't break compatibility, etc.) *must* be applied *unless* the maintainer 
objects in X days (if a maintainer exists... otherwise it will just go in).

 4. Acceptance by core developers that only half the job is developing the 
 core - the other half is mentoring potential future core developers.

Acceptance that any patch is better than no patch. There are many valid Python 
programmers out there, and there are many many patches to stdlib which really 
don't even require a good programmer to be written.
-- 
Giovanni Bajo

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Giovanni Bajo
On 05/03/2007 19.46, A.M. Kuchling wrote:

 At PyCon, there was general agreement that exposing a read-only
 Bazaar/Mercurial/git/whatever version of the repository wouldn't be
 too much effort, and might make things easier for external people
 developing patches.  

I really believe this is just a red herring, pushed by some SCM wonk. The 
problem with patch submission has absolutely *nothing* to do with tools. Do we 
have any evidence that new developers are getting frustrated because they 
can't handle their patches well enough with the current tools?
-- 
Giovanni Bajo

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Brett Cannon
On 3/5/07, Giovanni Bajo [EMAIL PROTECTED] wrote:
 On 05/03/2007 19.46, A.M. Kuchling wrote:

  At PyCon, there was general agreement that exposing a read-only
  Bazaar/Mercurial/git/whatever version of the repository wouldn't be
  too much effort, and might make things easier for external people
  developing patches.

 I really believe this is just a red herring, pushed by some SCM wonk. The
 problem with patch submission has absolutely *nothing* to do with tools. Do we
 have any evidence that new developers are getting frustrated because they
 can't handle their patches well enough with the current tools?

We asked people attending the Python-Dev panel at PyCon whether the
use of a distributed VCS would encourage them to work on the core so
that they could do their own commits in their own branch and some
people did raise their hands.

Plus it's just handy sometimes to be able to do commits when you lack
network access.

-Brett
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Collin Winter
On 3/5/07, Brett Cannon [EMAIL PROTECTED] wrote:
 On 3/5/07, Giovanni Bajo [EMAIL PROTECTED] wrote:
  On 05/03/2007 19.46, A.M. Kuchling wrote:
 
   At PyCon, there was general agreement that exposing a read-only
   Bazaar/Mercurial/git/whatever version of the repository wouldn't be
   too much effort, and might make things easier for external people
   developing patches.
 
  I really believe this is just a red herring, pushed by some SCM wonk. The
  problem with patch submission has absolutely *nothing* to do with tools. Do 
  we
  have any evidence that new developers are getting frustrated because they
  can't handle their patches well enough with the current tools?

[snip]

 Plus it's just handy sometimes to be able to do commits when you lack
 network access.

Seconded. I don't know how much it impacts new developers, but I know
I get frustrated because of this.

Collin Winter
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread A.M. Kuchling
On Mon, Mar 05, 2007 at 11:30:06PM +, Neil Schemenauer wrote:
 I guess Andrew was looking for specific instructions.  ...

I'm happy to let the ball sit in Thomas's court until the Bazaar
developers come out with 0.15 and run their conversion on the SVN
repository.  There's no burning hurry about getting this set up, so a
few weeks of waiting is fine.

--amk
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread A.M. Kuchling
On Mon, Mar 05, 2007 at 08:50:46PM -, [EMAIL PROTECTED] wrote:
 is indicative of a failure of the community.  A good deal of the 
 discussion here in recent months has either been highly speculative, or 
 only tangentially related to Python's development, which is ostensibly 
 its topic.  We shouldn't really be talking about PR or deployment or any 
 issues which aren't bug reports or patches here.

I don't recall any PR threads in python-dev, but do agree that
language speculations usually lead to long threads that are very
boring.  It would be nice to focus more on concrete development
questions, and usually we do manage to focus when there's an impending
release.

One problem may be that there *aren't* maintainers for various
subsystems; various people have contributed bugfixes and patches for,
say, urllib, but I have no idea what single person I would go to for a
problem.

Is it worth creating a wiki page listing people and the modules they're 
responsible for?  Or does something like this already exist?

--amk
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Josiah Carlson

Giovanni Bajo [EMAIL PROTECTED] wrote:
 On 05/03/2007 20.30, Phil Thompson wrote:
  2. Publically identify the core developers and their areas of expertise and 
  responsibility (ie. which parts of the source tree they own).
 
 I think this should be pushed to its extreme consequences for the standard 
 library. Patching the standard library requires *much less* knowledge than 
 patching the standard core. Basically, almost any Python developer in the 
 wild 
 can quickly learn a module and start patching it in a few days/weeks -- 
 still, 
 the stdlib is a total mess of outdated and broken modules.

Sometimes code is correct.  Sometimes code is complete.  Just because a
module hasn't been significantly altered or updated recently doesn't
mean that it is outdated or broken.  Asyncore, for example, is more or
less feature complete for a minimal asynchronous socket framework. Could
it gain more features (like good SSL support) or have better error
handling?  Of course.  But it passes the test suite (via test_asynchat),
so I would consider it *not* broken.


 My suggestion is:
 
   - keep a public list of official maintainers for each and every 
 package/module in the standard library (if any, otherwise explicitly specify 
 that it's unmaintained).
   - if there's no maintainer for a module, the *first* volunteer can become 
 so.
   - *any* patch to stdlib which follows the proper guidelines (have a test, 
 don't break compatibility, etc.) *must* be applied *unless* the maintainer 
 objects in X days (if a maintainer exists... otherwise it will just go in).

Just because a patch doesn't break a module, doesn't mean the patch
should be applied.  Take, for example, any one of the patches currently
offered against asyncore.  One of them more or less changes the internal
structure of the module for no other reason than to (in my opinion) be
gratuitous.  Certainly it has some good ideas, but it would be better to
adapt portions rather than take it completely - which is what you are
suggesting, and which is what would have happened due to the absence of
an asyncore maintainer (until I took it up).


  4. Acceptance by core developers that only half the job is developing the 
  core - the other half is mentoring potential future core developers.
 
 Acceptance that any patch is better than no patch. There are many valid 
 Python 
 programmers out there, and there are many many patches to stdlib which really 
 don't even require a good programmer to be written.

Maybe, but there are also many patches I've seen that cause the
resulting code to not run, revert changes made to fix bugs, etc. 
Vetting patches is a pain in the butt, and accepting all patches that
aren't objected to is a braindead approach to patching the standard
library.

Indeed, every module and package should have a known and documented
maintainer, but that's really the only part of your suggestions in the
message I'm replying to that I would agree with.  The rest gets a -1.


 - Josiah

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Collin Winter
On 3/5/07, A.M. Kuchling [EMAIL PROTECTED] wrote:
[snip]
 One problem may be that there *aren't* maintainers for various
 subsystems; various people have contributed bugfixes and patches for,
 say, urllib, but I have no idea what single person I would go to for a
 problem.

 Is it worth creating a wiki page listing people and the modules they're
 responsible for?  Or does something like this already exist?

I'd rather have this kind of ownership information attached to the
individual module documentation, so interested parties don't have to
go hunting around in the wiki for it.

It would also be helpful to have some loose guidelines/requirements
for how to become a module maintainer (e.g., we're looking for the
following traits...).

Collin Winter
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Martin v. Löwis
A.M. Kuchling schrieb:
 FWIW, I have a related perception that we aren't getting new core
 developers. These two problems are probably related: people don't get
 patches processed and don't become core developers, and we don't have
 enough core developers to process patches in a timely way.  And so
 we're stuck.

I think this perception is partially wrong. The number of unreviewed
patches has been sitting around 400 for quite some time now - so it
has not been getting worse. This is mostly thanks to the (very) few
reviewers that deal with patches in areas out of their primary interest.
I'd like to mention Georg Brandl here.

I also doubt that accepting patches more quickly would give many more
patch reviewers. Most submitters are happy if their patch is accepted,
and couldn't care less about other people's patches. This is fine, of
course - it just means that becoming more responsive (by whatever means)
would not necessarily sustain.

 Any ideas for fixing this problem?

I had this long-term offer of a 5:1 deal. I wish more current committers
would offer a similar deal, then we would be able to promise this
policy prominently. This, of course, requires that committers are
willing to deal with patches even if they are no experts in the subject
(i.e. they will need to become experts in the process of reviewing).

It might be possible to reverse this policy also: we could decide that
committers maintain their write privilege only if they process patches
(say, one patch per month). That would be quite intrusive, so I doubt
that committers will agree to it.

 Tangentially related:
 At PyCon, there was general agreement that exposing a read-only
 Bazaar/Mercurial/git/whatever version of the repository wouldn't be
 too much effort, and might make things easier for external people
 developing patches.  Thomas Wouters apparently has private scripts
 that perform the conversion.  What needs to be done to move ahead with
 this idea?

If it is this distributed repository aspect that people are after,
I suggest they use svk (http://svk.elixus.org/view/HomePage). People
can use it now if they want to, no need to provide additional
infrastructure. For other systems, there is a choice of either hosting
them at svn.python.org as well (i.e. dinsdale), or having the community
host them.

For dinsdale hosting, it requires a volunteer to set it up and
maintain it. Given the low number of volunteers available for such
tasks, I doubt this can work. For community hosting, again there is
little administration necessary: hosters can already mirror
svn.python.org, and run whatever conversion scripts are necessary.
In this case, the task would be merely to communicate that people
can already do that if they want to.

Regards
Martin

P.S. I'm really pissed as being described as member of a mafia.

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Martin v. Löwis
Phil Thompson schrieb:
 1. Don't suggest to people that, in order to get their patch reviewed, they 
 should review other patches. The level of knowledge required to put together 
 a patch is much less than that required to know if a patch is the right one.

People don't *have* to review patches. They just can do that if they 
want expedite review of their code.

 2. Publically identify the core developers and their areas of expertise and 
 responsibility (ie. which parts of the source tree they own).

I doubt this will help. Much of the code isn't owned by anybody
specifically. Those parts that are owned typically find their patches
reviewed and committed quickly (e.g. the tar file module, maintained by
Lars Gustäbel).

 4. Acceptance by core developers that only half the job is developing the 
 core - the other half is mentoring potential future core developers.

So what do you do with core developers that don't do their job? Fire them?

Regards,
Martin

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Martin v. Löwis
[EMAIL PROTECTED] schrieb:
 The patches list really ought to be _this_ list.  The fact that it isn't 
 is indicative of a failure of the community.

I disagree that python-dev isn't the patches list. People often discuss 
patches here (although much discussion is also in the tracker).

 One worrying trend I noticed at PyCon is that it seems that quite a lot 
 of communication between core developers these days happens over private 
 email.

Do you know this for a fact? I'm a core developer, and I don't use 
private email much to discuss patches or other changes. About the
only private mail that I exchange is about the mechanics of the
release process (e.g. agreeing on specific days for a release).

Regards,
Martin

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Martin v. Löwis
Phil Thompson schrieb:
 I'm not sure what your point is. My point is that, if you want to encourage 
 people to become core developers, they have to have a method of graduating 
 through the ranks - learning (and being taught) as they go. To place a very 
 high obstacle in their way right at the start is completely 
 counter-productive.

And please be assured that no such obstacle is in the submitters way. 
Most patches are accepted without the submitter actually reviewing any
other patches.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Martin v. Löwis
Phil Thompson schrieb:
 Any ideas for fixing this problem?
 A better patch-tracker, better procedures for reviewing patches surounding
 this new tracker, one or more proper dvcs's for people to work off of. I'm
 not sure about 'identifying core developers' as we're all volunteers, with
 dayjobs for the most part, and only a few people seem to care enough about
 python as a whole.
 
 I don't think that that is true. I think a lot of people care, but many can't 
 do anything about because the barrier to entry is too great.

He was talking about the committers specifically who don't care about 
Python as-a-whole, and I think this is true. But I also believe that
many contributors don't care about Python as-a-whole, in the sense
that they are uninterested in learning about implementation details of
libraries they will never use. What they do care about is the problems
they have, and they do contribute patches for them.

 While submitting patches is good, there's a lot more to it than just
 submitting the 5-line code change to submit a bug/feature, and reviewing
 takes a lot of time and effort.
 
 So there is something wrong there as well.
 
 I don't think it's unreasonable to ask for 
 help from the submitters like we do, or ask them to write tests and docs
 and such.
 
 Of course it's not unreasonable. I would expect to be told that a patch must 
 have tests and docs before it will be finally accepted. However, before I add 
 those things to the patch I would like some timely feedback from those with 
 more experience that my patch is going in the right direction.

This cannot work. It is very difficult to review a patch to fix a 
presumed bug if there is no test case. You might not be able to 
reproduce the patch without a test case at all - how could you then
know whether the patch actually fixes the bug?

So I really think patches should be formally complete before being
submitted. This is an area were anybody can review: you don't need
to be an expert to see that no test cases are contributed to a
certain patch.

If you really want to learn and help, review a few patches, to see
what kinds of problems you detect, and then post your findings to
python-dev. People then will comment on whether they agree with your
review, and what additional changes they like to see.

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Martin v. Löwis
Neil Schemenauer schrieb:
 I guess Andrew was looking for specific instructions.  Install git
 and git-svn.  For Debian stable, you can get them from
 http://backports.org/debian/pool/main/g/git-core/.
 
 Initialize the repository:
 
 git-svn init http://svn.foo.org/project/trunk
 
 Fetch versions from SVN:
 
 git-svn fetch
 
 I think the fetch can be run periodically from a cron job.  The
 repository can be cloned via HTTP but it's much faster to use the
 git server which runs on it's own TCP port.

And that's it? Won't you need to publish the repository somehow?
Apache configuration? init.d scripts?

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Martin v. Löwis
Collin Winter schrieb:
 It would also be helpful to have some loose guidelines/requirements
 for how to become a module maintainer (e.g., we're looking for the
 following traits...).

That is easy to answer: Review the patches of the module, and post
a message to python-dev about your findings (proposals of acceptance
or rejection).

Regards,
Martin
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Raymond Hettinger
[Phil Thompson]
 I think a lot of people care, but many can't 
 do anything about because the barrier to entry is too great.

Do you mean commit priviledges?  ISTM, those tend to be
handed out readily to people who assert that they have good use for them.
Ask the Georg-bot how readily he was accepted and coached.  IMO,
his acceptance was a model that all open source projects should aspire to.

If you meant something else like knowing how to make a meaningful patch,
then you've got a point.  It takes a while to learn your way around the
source tree and to learn the inter-relationships between the moving parts.
That is just the nature of the beast.



[MvL]
 While submitting patches is good, there's a lot more to it than just
 submitting the 5-line code change to submit a bug/feature, and reviewing
 takes a lot of time and effort.

[Phil]
 So there is something wrong there as well.

I have not idea what you're getting at.Martin's comment seems
accurate to me.  Unless it is a simple typo/doc fix, it takes
some time to assess whether the bug is real (some things are bugs
only in the eye of the submitter) and whether the given fix is the
right thing to do.

Of course, automatic acceptance of patches would be a crummy idea.
There have been no shortage of patches complete with docs and tests
that were simply not the right thing to do.



[Phil]
 The process needs 
 to keep people involved in it - at the moment submitting a patch is 
 fire-and-forget.

Such is the nature of a system of volunteers.  If we had full-time people,
it could be a different story.  IMO, given an 18 month release cycle,
it is perfectly acceptable for a patch to sit for a while until someone with
the relavant expertise can address it.  Even with a tests and docs, patch 
acceptance is far from automatic.  That being said, I think history has
shown that important bugs get addressed and put into bug fix releases
without much loss of time.  When Py2.5.1 goes out, I expect that all
known, important bugs will have been addressed and that's not bad.



Raymond
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Martin v. Löwis
Scott Dial schrieb:
 While I understand that this tit-for-tat mechanism is meant to ensure 
 participation, I believe in reality it doesn't, as the 400-some 
 outstanding patches you referenced elswhere indicate. I can personally 
 attest to having a patch that is over a year old with no core 
 developer having any interest at all with the subject matter. And to be 
 frank, nor did I really, but I saw a problem and was capable of solving 
 it. My lack of caring about the patch means I am not going to beat 
 people over the head to pay attention. This system is broken for someone 
 like me (coder) that just wants to help out (non-coders).

If you don't care that much about the patch, it's not broken. As I said
before, the number of unreviewed patches has been roughly stable for 
some time now. If the patch is not really important, it may take two
years now to get it in, but eventually, it will (if you then still are
interested to work on it to complete it).

 If nothing else, as an outsider there is no way to know why your patch 
 gets ignored while others get swiftly dealt with. Any sort of 
 information like this would at least provide more transparency in what 
 may appear to be elitest processes.

This is what we would need volunteer reviewers for. We can send machine
confirmations, but I doubt it would help. If you need a human response,
somebody must send you one, demonstrating that they actually did look
at the patch. If none of the committers have the time to do so, somebody
else must send the manual confirmation.

Regards,
Martin

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Martin v. Löwis
Raymond Hettinger schrieb:
 [Phil Thompson]
 I think a lot of people care, but many can't 
 do anything about because the barrier to entry is too great.
 
 Do you mean commit priviledges?  ISTM, those tend to be
 handed out readily to people who assert that they have good use for them.
 Ask the Georg-bot how readily he was accepted and coached.  IMO,
 his acceptance was a model that all open source projects should aspire to.

Indeed. IIRC, he first posted a message (under pseudonym at the time):
I reviewed these patches because I didn't have anything better to do.
Shortly afterwards, he was a committer.

Regards,
Martin

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Stephen J. Turnbull
Giovanni Bajo writes:

  On 05/03/2007 20.30, Phil Thompson wrote:

  1. Don't suggest to people that, in order to get their patch
  reviewed, they should review other patches. The level of knowledge
  required to put together a patch is much less than that required
  to know if a patch is the right one.

  +1000.

Been there, done that.  If the submitter doesn't have a pretty good
idea that a patch is the right one, he's making substantial demands
on core developer time.  +1000 suggests you think that core
developers are using their time with ruinously low efficiency.

I think the review some patches test is exactly the right one.  The
requirement is not that you channel the BFDL, it's that you read the
patch and bring your own knowledge of the problem to bear.  This has
three benefits: (1) the reviewed patches get some comments; (2) the
reviewed patches come to the attention of a committer; (3) the
reviewer comes to the attention of a core developer, and can be
considered for commit privileges, etc.

An informal version of this process is how XEmacs identifies its
Reviewers (the title we give to those privileged to authorize commits
to all parts of XEmacs).  People who care enough to make technical
comments on *others'* patches are rare, and we grab the competent ones
pretty quickly.

  2. Publically identify the core developers and their areas of
  expertise and responsibility (ie. which parts of the source tree
  they own).

The XEmacs experience has been that the core developers are ministers
without portfolio.  You can't wait around for the owner, who may be
on Mars, and you rarely need to.

  I think this should be pushed to its extreme consequences for the
  standard library. Patching the standard library requires *much
  less* knowledge than patching the standard core. Basically, almost
  any Python developer in the wild can quickly learn a module and
  start patching it in a few days/weeks -- still, the stdlib is a
  total mess of outdated and broken modules.

The mess is not total, as Josiah Carlson points out.  To the extent
that it is a mess, it is the consequence of a process similar to the
one you propose to institutionalize.

  My suggestion is:
  
- keep a public list of official maintainers for each and every
  package/module in the standard library (if any, otherwise
  explicitly specify that it's unmaintained).

This is what XEmacs does; it works, but it's not as effective as you
might hope.  What happens for us is that many modules are maintained
by an interest group disjoint from the core.  By giving a
representative of the interest group commit privileges, things get
addressed pretty quickly and competently.  However, this is a
convenience for users of the module more than a way of kickstarting a
development process (note that the interest group already exists).

This requires a separate distribution of the standard library.

Two points: recall the ElementTree thread.  There were other plausible
candidates.  The XEmacs policy in such case is that they are all
considered equally, and all are allowed to be distributed with the
package distribution.  In Python, this would conflict with TOOWTDI.

Second, where the stdlib module is closely bound to the core, the
maintainer ends up being the group of core developers.  It can't be
any other way, it seems to me.

- if there's no maintainer for a module, the *first* volunteer
  can become so.

I doubt this will work.  It is usually the case that the first
volunteer is acceptable, but it shouldn't be policy.

- *any* patch to stdlib which follows the proper guidelines (have
  a test, don't break compatibility, etc.) *must* be applied *unless*
  the maintainer objects in X days (if a maintainer
  exists... otherwise it will just go in).

This is an obviously bad idea.  The stdlib needs to be deliberately
pruned, not arbitrarily patched.

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Stephen J. Turnbull
Giovanni Bajo writes:

  On 05/03/2007 19.46, A.M. Kuchling wrote:
  
   At PyCon, there was general agreement that exposing a read-only
   Bazaar/Mercurial/git/whatever version of the repository wouldn't be
   too much effort, and might make things easier for external people
   developing patches.  

  I really believe this is just a red herring, pushed by some SCM
  wonk. The problem with patch submission has absolutely *nothing* to
  do with tools.

Of course it does.  How important is a matter for individual judgment,
of course.

The *frustration level* with the acceptance process is certainly
related to the annoyance of locally maintaining a patch in the face of
a flow of upstream changes.  The distributed SCMs make this *much*
easier, and therefore can reduce the frustration level, at *zero*
expense to the core developers (anybody with read access can maintain
such a read-only repo).  This is a good thing.

It *is* important that the core sanction and support official mirror
repos.

This may or may not help the acceptance process to improve; I believe
you are correct, that it will have little direct impact on the
acceptance process.  Nevertheless, life for third-party developers
will become somewhat more pleasant, especially as they have a much
easier way to exchange and refine patches.

This last can feed back into the review for review bargain.

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Encouraging developers

2007-03-05 Thread Ronald Oussoren

On 5 Mar, 2007, at 19:58, [EMAIL PROTECTED] wrote:


 amk Any ideas for fixing this problem?

 Not a one.

 amk Tangentially related:
 amk At PyCon, there was general agreement that exposing a read- 
 only
 amk Bazaar/Mercurial/git/whatever version of the repository  
 wouldn't be
 amk too much effort, and might make things easier for external  
 people
 amk developing patches.

 I'm not much of a version control wonk.  How would these help?   
 Can't the
 folks who need such stuff do some sort of anonymous svn checkout?

The version management systemens mentioned are distributed systems  
and would allow users to have local branches, which could mak  
development easier for them. They can  already do this using SVK,  
which is a distributed version control system as well but uses SVN  
repositories to store its data.

Ronald

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com