Weeknotes 2021 WK 42

What is Django 4.0?

For Django 4.0 we’d like to do something to call out the contributors, especially new ones. Will and I discussed some reasons for this in the recent Django Chat episode on Django 4.0, but the long-and-short is that it’s about continuing to try to make the project more welcoming, and so sustainable in the long term.

A first pass at identifying the contributors to Django 4.0 is to look at the commits to the django/django repo. There’s more to it than that, but it’s a good start.

Django has stable release branches for each version.

Django's Branch Structure

Django 4.0 is in stable/4.0.x.

But there’s a lot in stable/4.0.xthat isn’t Django 4.0. There’s (roughly) the entire history of Django.

To work out who were the contributors to Django 4.0 we need to look just at the commits from the 4.0 cycle.

From the moment we branched stable/4.0.x the main branch was Django 4.1, that’s in development now.

So Django 4.0 is everything in stable/4.0 from the point where we branched stable/3.2.

Django 4.0 branch

As always, git can give you that point with the right incantation. Here we need git merge-base:

$ git merge-base  stable/3.2.x stable/4.0.x
75182a800a621b7a5b2c0a1f39a56e753b9a58ca

Commit 75182a8 is what we’re looking for:

$ git show 75182a800a621b7a5b2c0a1f39a56e753b9a58ca | head -n 6
commit 75182a800a621b7a5b2c0a1f39a56e753b9a58ca
Author: Carlton Gibson <carlton.gibson@noumenal.es>
Date:   Thu Jan 14 14:38:12 2021 +0100

    Removed empty sections and adjusted 3.2 release notes.

The next commit was f20a622:

$ git show f20a622aea7144b0014e54be19e6173bddb154f9 | head -n 6
commit f20a622aea7144b0014e54be19e6173bddb154f9
Author: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Date:   Tue Jan 5 10:54:37 2021 +0100

    Bumped version; master is now 4.0 pre-alpha.

So perfect. That’s the start of Django 4.0.

Django 4.0 then, just looking at commits, which again is a good start but not everything, is everything between 75182a8 and the tip of the stable/4.0.x branch.

git shortlog will give us a nice overview of that:

$ git shortlog -sn 75182a8..stable/4.0.x
   217  Mariusz Felisiak
   113  Chris Jerdonek
    52  Nick Pope
    38  Hasan Ramezani
    37  Carlton Gibson
    30  David Smith
    28  Adam Johnson
    28  Jacob Walls
    18  Claude Paroz
    16  Keryn Knight
    15  Hannes Ljungberg
    15  Simon Charette
    12  David Wobrock
     9  abhiabhi94
     8  Daniele Procida
     7  Mateo Radman
     7  Tim Graham
     7  David Sanders
     6  William Schwartz
     6  Daniyal
     5  Markus Holtermann
     5  Timothy McCurrach
     4  Rohith PR
     4  tim-mccurrach
     4  Abhyudai
     4  Wu Haotian
     4  Illia Volochii
     4  Florian Apolloner
     4  saeedblanchette
     4  manav014
     3  Ties Jan Hefting
     3  Haki Benita
     3  Christophe Henry
     3  Tom Forbes
     3  Jan Szoja
     3  François Freitag
     3  GabbyPrecious
     2  Jordan Bae
     2  Baptiste Mispelon
     2  Anil Khatri
     2  Virtosu Bogdan
     2  Nick Frazier
     2  Matjaz Gregoric
     2  girishsontakke
     2  Nick Touran
     2  Egidijus Macijauskas
     2  Jaap Roes
     2  Tobias Bengfort
     2  Greg Twohig
     2  Johannes Maron
     2  Peter Inglesby
     2  Manav Agarwal
     2  Adam Donaghy
     2  Gildardo Adrian Maravilla Jacome
     2  Hugo Cachitas
     2  sage
     2  Girish Sontakke
     2  snowman2
     2  sreehari1997
     2  Daniel Hahler
     2  Sondre Lillebø Gundersen
     2  Siburg
     2  Jonny Park
     2  Rust Saiargaliev
     2  Maxim Milovanov
     2  Jack Aitken
     2  Matthias Kestenholz
     1  Lucidiot
     1  Mads Jensen
     1  Marc Gibbons
     1  Mart Sõmermaa
     1  Martin Svoboda
     1  Matt Westcott
     1  Maxim Beder
     1  Michael Lissner
     1  Michał Górny
     1  Mike Lissner
     1  Mikolaj Rybinski
     1  Mohammadreza Varasteh
     1  Moriyoshi Koizumi
     1  Muhammad Hammad
     1  Märt Häkkinen
     1  Nicolas Restrepo
     1  Nikita Marchant
     1  Nilo César Teixeira
     1  Paul Ganssle
     1  Premkumar Chalmeti
     1  Pēteris Caune
     1  Raffaele Salmaso
     1  Ramon Saraiva
     1  Raymond Nunez
     1  Russell Keith-Magee
     1  Sandro Covo
     1  Sanskar Jaiswal
     1  Sarah Abderemane
     1  Seonghyeon Cho
     1  Shipeng Feng
     1  Sih Sîng-hông薛丞宏
     1  Simon Willison
     1  Slava Skvortsov
     1  Stefanos I. Tsaklidis
     1  Steven Maude
     1  Susan Wright
     1  Takayuki Hirayama
     1  Teresa Partida
     1  ThinkChaos
     1  Thomas Guettler
     1  Tiago Honorato
     1  Tilman Koschnick
     1  Tom Carrick
     1  Tom Wojcik
     1  Victor Sowa
     1  Vinay Karanam
     1  Wilhelm Klopp
     1  Wille Marcel
     1  Yuekui Li
     1  Yuri Konotopov
     1  Zain Patel
     1  Zainab Amir
     1  antoinehumbert
     1  arcanemachine
     1  aryabartar
     1  bankc
     1  cammil
     1  chrishna1
     1  ecogels
     1  ilu_vatar_
     1  kshitijraghav
     1  luzpaz
     1  mimi89999
     1  muskanvaswan
     1  pochangl
     1  pythonwood
     1  qimingmafan
     1  ryowright
     1  sdwoodbury
     1  starryrbs
     1  taulant
     1  tomhamiltonstubber
     1  yakimka
     1  yujin
     1  yyyyyyyan
     1  Aakash Singh
     1  ᴙɘɘᴙgYmɘᴙɘj
     1  Alex Dutton
     1  Alex Hayward
     1  Alex Hill
     1  AliGhotbizadeh
     1  Aljaž Košir
     1  Allan Feldman
     1  Amankumar Singh
     1  Amir Ajorloo
     1  Andrew Northall
     1  Andrew-Chen-Wang
     1  Angus Holder
     1  Arkadiusz Adamski
     1  Arthur Jovart
     1  Artur Beltsov
     1  Ben Sturmfels
     1  Ben Wilber
     1  BeryCZ
     1  Brad Solomon
     1  Camilo Nova
     1  Can Sarıgöl
     1  Ceesjan Luiten
     1  Chenyang Yan
     1  Chinmoy Chakraborty
     1  Cleiton Lima
     1  Clumart.G
     1  Collin Anderson
     1  Dan Strokirk
     1  Dan Swain
     1  Daniel Ebrahimian
     1  Daniyal Abbasi
     1  David Beitey
     1  David D Lowe
     1  Denis Skulimovskiy
     1  Diego Lima
     1  Eduardo Aldair Ahumada Garcia Jurado
     1  Eugene Morozov
     1  F. Malina
     1  Florian Demmer
     1  Giannis Adamopoulos
     1  Harm Geerts
     1  Ian Foote
     1  Igor Fernandes
     1  Iuri de Silvio
     1  Jack
     1  Jacob Rief
     1  Jan Schär
     1  Jannis Vajen
     1  Jarosław Wygoda
     1  Jerin Peter George
     1  Jero Bado
     1  Jim Xie
     1  Joel Farthing
     1  Johan Schiff
     1  Johannes Wilm
     1  John
     1  Jon Dufresne
     1  Jonathan Davis
     1  Jonathan Richards
     1  Jordi Castells
     1  Josh Santos
     1  Jozef
     1  Karthikeyan Singaravelan
     1  Ken Whitesell
     1  Konstantin Alekseev
     1  Lauri Tirkkonen
     1  Lou Huang

That looks about right. A bit of tidying up needed for duplicates but, over 200 individual contributors. Not bad for a project in its 17th year.

There’s already stories to be seen there — Triage and Review Team members appearing prominently. Work to do to pull out new contributors, and i18n team work, and other bits, but a good start.