Django Fellowship Program: 2015 retrospective

Posted by Tim Graham on December 17, 2015

Since the fellowship program was renewed in March, I’ve worked full-time to support the development of Django. Here are some highlights from my weekly summaries published on the django-developers mailing list.

In the last retrospective, I described how I integrated Django’s continuous integration servers with pull requests. Since then, I added automated checks for Python import sorting, documentation and spelling errors, and JavaScript tests and linting. These checks assist with keeping code quality high and allow reviewers to focus on less trivial concerns. Finally, with some help from Microsoft, Jenkins now runs the Django test suite on Windows.

Also on the infrastructure front, I upgraded the djangoproject.com website to Django 1.8 and conducted prerelease testing with Django 1.9, including contributing several patches to third-party libraries we rely on.

In our ticket tracker, I regularly triage at least 10-15 new tickets each week. I’ve developed a good knowledge of the 1000+ accepted tickets which allows me to quickly identify duplicate and related issues.

Moving on to our release process, Django lacked a formal, regular release schedule. I spearheaded a successful effort to change that by establishing a roadmap. This included a community survey to gather feedback.

I coordinate security releases by preparing patches and backporting them to all supported versions of Django. Fixes are promptly released instead of languishing for months. Nine issues have been fixed over six releases since March.

Rarely (well, never, as far as I know) have Django feature releases stayed on their original schedule, until Django 1.8 and 1.9 both did so. As the release manager, I send regular email updates on the status of release blockers to django-developers to keep everyone informed. To ensure a timely release, I fix release blockers (regressions or major bugs in next features) myself when no one else has time or interest to work on them. Take a look at the 1.9 release notes for all the great work we’ve most recently completed. Development toward Django 1.10 is well under way already.

While working toward the 1.9 feature release, we also fixed bugs on the 1.8 branch. The 1.8.x series of releases fixes nearly one hundred regressions or bugs in new features, with approximately one release per month.

On the code review front, I review an average of fifteen non-trivial patches a week from core developers and community members. Providing timely code reviews improves the project’s culture and prevents would-be contributors from abandoning us.

Well, that about sums it up. I hope you find these contributions valuable. It would be a big help if you would encourage your employer to become a corporate member of the Django Software Foundation and consider a gift to the Django Software Foundation yourself so that the fellowship program can continue!

Back to Top