December 05, 2013
Recently I had the opportunity to attend the DjangoCon Sprint here in Chicago (see related post). One of my big take-aways from the event was that contributing to Django isn’t as daunting as I previously thought. The process is mostly straightforward and the Django team has gone a long way to make the process of contributing relatively painless. I’ve decided to write a small article on how to get started and where to look. Hopefully this helps you begin, but it is no replacement for all the great information provided by the Django team.
The first page I would go to is Contributing to Django on the Django Project website. This page is chock full of excellent resources on how and where to get started, coding styles, and working with Git. Answers to most questions can be found here.
Then I would check out the “Easy Pickings” page. As the name suggests, this page is full of tickets that would be perfect for someone new to contributing to Django (like me). Often these tickets are smaller bugs, cleanup, and optimization tickets. This is probably the best place to start if you want to contribute to Django for the first time.
Another good place to try is the listing of unreviewed tickets. The great thing about the Django Project is that anyone can review a ticket and provide feedback about it. An easy way to get started with contributing to Django is to simply go through some of these tickets and try to duplicate the issue that the reporter is having. Doing this sort of work is important to make sure that bugs end up getting looked at and, you might just find a bug you can easily fix.
Here are some other things to remember. Code changes will likely require tests and very few code tickets will be accepted and merged in without them. Naturally, because tests are so important to the project, an entire page on the site is dedicated to how to write them and run the test suite. Additionally, it is likely that some time will elapse between when your patch is submitted and when it is accepted. The Django team is a busy bunch, but rest assured your patch will be reviewed. Sometimes the team will have feedback about the issue and some recommendations on changes to improve your patch.
A great part of the Django Project is how anyone has the ability to make meaningful changes, fixes, and feature additions. I hope this post helps you on your path to contribution and remember, each and every contribution is meaningful and appreciated by all of us who use Django every day.
Updated 12/05/13 @ 03:21PM CST by djohnson