2006-09-15

LCA07 talk on UQDS Abstract

(What follows is my Abstract I'm submitting to LCA07 on UQDS)

Contributing to open source projects is hard. If you've found a bug, you have to go to the effort of fixing it, testing that your fix works, making a diff against the upstream repository, and submitting your patch. Once you submit your patch, you don't know if it's going to even be accepted.

In the Twisted project we now enforce strict rules, such as usage of a task tracker, branch based development using subversion, mandatory unit tests and absolutely no commits to trunk without an independent code review. This process was pioneered at Divmod.org, and brought into the Twisted project later.

Branch based development allows us to remain agile, committers can work on what they want to without fear of it clashing with anyone else's code. Once they're finished, and an independent review has passed the code, the code then may be committed to trunk. Casual committers are treated just the same as everyone else. A casual contributor may submit a patch, and get it accepted or rejected based on the same strict rules that apply to the project leader and the top committers.

Initially, we feared that enforcing these strict rules for an Open Source project would drive casual contributors away. Our finding is that our changes resulted in an engaging experience for contributors and core developers. The community as a whole was motivated to produce code of a high standard. Contributors stay around longer, and care about the resulting code far more than we have previously seen.

Contributing to an Open Source project is hard and requires a lot of motivation. By putting a strict development cycle in place, the twisted project has found that the quality has improved and, contrary to common wisdom, the rate at which contributions occur has increased.

The Twisted project lives at http://twistedmatrix.com and #twisted on irc.freenode.net

Tools we use are:
  • http://svn.tigris.org/ Subversion for source control
  • http://www.divmod.org/trac/wiki/DivmodCombinator Combinator is a tool we use for managing our branch based development
  • http://buildbot.sf.net/ BuildBot for automated builds
  • http://trac.edgewall.org/ Trac for bug tracking

More information about the Ultimate Quality Development System can be found at
  • http://divmod.org/trac/wiki/UltimateQualityDevelopmentSystem
  • http://twistedmatrix.com/trac/wiki/ReviewProcess

3 comments:

Antony Christ said...

MyCaseStudyHelp.com is world’s No. 1 Case Study Help & Assignment Help Company Since 2011 and has been serving the students since then with high level of quality parameters and standards.

Our Features & Characteristics that set us apart from us:

1. No Copy Paste,
2. 100% Plagiarism Free,
3. As Affordable as Pocket Money,
4. Higher Quality,
5. Native Australian Ph.D. Holder Authors

Please visit our site for more information regarding assignment writing and help services.

Andrew Robert said...
This comment has been removed by the author.
Andrew Robert said...

No1AssignmentHelp.com is the best Assignment Help service provider in the world.

Please visit our offficial website: https://no1assignmenthelp.com/