On 26/08/2013, Terry Jones <te...@jon.es> wrote: > This doesn't prove anything, but I think the first plot at > http://jakevdp.github.io/blog/2012/09/20/why-python-is-the-last/ is quite > provocative.
Terry, I don't think the problem is "too few contributors". A big problem is that there are too few reviewers - especially while Tom's away. There are 52 branches currently awaiting review: * https://twistedmatrix.com/trac/report/15 Here are a few thoughts: 1. Encourage new code reviewers -- various people have said they'd do code reviews but are unsure of the process or feel unqualified to comment on other people's code. So: 1. Update the code review checklist * https://twistedmatrix.com/trac/wiki/CodeReview * https://www.ibm.com/developerworks/rational/library/11-proven-practices-for-peer-review/ (via @zooko) * http://mumak.net/stuff/your-code-sucks.html 2. Make the code review checklist and the highscores pages more prominent. Maybe via a new "Contribute" link on the top right of the homepage. (I think ashfall was working on a new wiki page for contributors). 3. Less emphasis in report 15 on "By Order You Should Review Them In" * It's very difficult (for me at least) to review branches that I know nothing about. * Reviewers should be encouraged to review tickets for components that they are familiar with or tickets which they are interested in learning more about. * https://twistedmatrix.com/trac/report/15 2. Encourage code review trading 1. Contributors could be pointed to report 15 after submitting their patch or branch. 2. Encourage contributors to make contact with another developer and agree to trade reviews. 3. Modify report15 so that branches from contributors with highscores get moved higher up the list (http://twistedmatrix.com/highscores). 3. Encourage self review -- It's frustrating when you come to review a patch and you have to point out obvious things. (merge conflicts, no tests, spelling mistakes, missing docstrings, missing documentation) 1. Ask contributors to do a self review before submitting their patch or branch for peer review. 2. Make it easier for contributors to run twistedchecker, pydoctor, pyflakes, lore locally before submitting code for review. 3. Since buildbot is checking out code from Github now, perhaps there could be an interface for contributors to request it to build their own Github branch? 4. Automatically detect merge conflicts in branches and patches awaiting review and notify the author. * This would prevent the frustrating situation of having waited for a month for a review only to have it pushed back to the bottom of the queue with a request to merge forward. 4. Publicise upcoming features / High priority tickets and branches 1. For example, Twisted Web Sockets which people keep asking about on IRC. 2. It's not obvious that there is a Web Sockets server branch which is almost ready to be merged. https://twistedmatrix.com/trac/ticket/4173 3. It's been reviewed over ten times and is now back with therve who may or may not have time to address the latest code review comments. 4. Maybe it would be nice to highlight tickets like this on the twistedmatrix.com front page. That might encourage new people to help push them through to completion. > Semi-related: I made a tiny optimization to jQuery a couple of months ago > as a completely unknown first-time contributor. The time from doing the git > clone to having the pull request merged into jQuery master was about an > hour, which included signing their contributor agreement. You mean this one? * https://github.com/jquery/jquery/pull/1321 The turn-around time can be just as quick in Twisted. Here are a few recent small changes that were merged within an hour or two: * https://twistedmatrix.com/trac/ticket/6674 * https://twistedmatrix.com/trac/ticket/6525 * https://twistedmatrix.com/trac/ticket/6403 One final thing. I hate to hear people beating up Trac. That article follows the trend, stating that Github "replaced the clunky Trac system of submitting static patches to projects". Well that's a gross simplification. I for one am very fond of Trac. I find its UI intuitive -- much more intuitive than Github, and from what I've seen of the code it's quit well designed too. It's a flagship Python application and we should be supporting it. It's just a shame it wasn't built on top of Twisted. Sorry for the long email. -RichardW. _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python