What is a web framework in Python

python: Django web framework complains about the problem of young talent

While the free web framework Django is quite successful as software, the project behind it looks different, writes developer James Bennett in a blopost. In his opinion, the project motivates too few developers who work with Django to also work on Django. This ultimately leads to a problem with young talent for the project. Bennett therefore makes several suggestions as to how the Django project should be changed.

  1. V-LINE EUROPE GmbH, Sehnde
  2. University of Applied Sciences Bonn-Rhein-Sieg, Sankt Augustin

According to Bennett, the fact that Django finds too few contributors is due to several factors. For one thing, Django was now mainly made up of volunteers. And their number has decreased in recent years. This also contributes to the fact that there are hardly any simple bug fixes and smaller functions that beginners can implement. At the same time, the project lacks diversity. Women would use Django, but few women actively develop code for the project. Most of the developers are also from Europe, Australia and North America. For the future of the project it is important that the number of new contributors keep up with the number of developers who become inactive. A "monocultural team" is more of an obstacle.

Core team as a core problem

In order to solve the young talent problem, changes to the project's core team have been discussed again and again in recent years. The background is that an inner circle, the committer or core developer, determines which code contributions are incorporated into the framework. These committers can theoretically make any changes to Django in coordination with the Technical Board.

In practice, however, the development process looks completely different. In fact, committer and non-committer decisions would be made by consensus on the mailing list. Even committers would not simply enter code, but would discuss it with other developers beforehand. Django Fellows, developers paid by the Django Software Foundation, review error messages, process the pull requests, and create and publish the release packages.

Structural change for Django

  1. PostgreSQL Fundamentals
    14.-17. September 2021, online
  2. Terraform with AWS
    14./15. September 2021, online
Further IT training

Although the committers do not use their special status, it is suspected "godlike status" this is a problem for new developers and may keep them from contributing. Bennett suggests changing this structure, dissolving committer rights and replacing them with two groups: mergers and releasers. The former take care of entering pull requests, the latter package and publish the release versions of the software.

The project should find consensus by voting on the public mailing list, which, according to Bennett, is actually already happening. The technical board should play a special role in this. It participates in the choice of merger and releaser roles and approves new Django releases. Votes about the members of the Technical Board should take place less often and are supported by the Django Software Foundation. In principle, all developers are allowed to vote if they do so in good faith. The Foundation Board can block actors with bad intentions if necessary, but this only affects members who do not put themselves up for election to the Technical Board.

Exit open

By giving all developers the same vote on the mailing list, they want to open the project to new code contributions. The move wouldn't automatically lead to new developers and more diversity, but it could create a better basis from which to address the issues.

Bennett already described his proposal in September in a DEP (Django Enhancement Proposal), which the project is now discussing. It is unclear whether the project will accept the proposal in this form, because the Django team, Technical Board and the foundation have to approve it at the end. Bennett at least hopes that the project can have a new governance structure in place by the middle of next year.