My Django active developers Sprints proposal 🌅

The story of how the proposal to organize sprints on the Django active developers was born and how I proposed it during the past DjangoCon US 2022 in San Diego to various components of the Django community.

© 2022 Paolo Melchiorre CC BY-SA “Paolo with Mariusz, Wil, Simon, Carlton, Will, Ryan and Drew at Ocean Beach in San Diego during the DjangoCon US 2022”
© 2022 Paolo Melchiorre CC BY-SA “Paolo with Mariusz, Wil, Simon, Carlton, Will, Ryan and Drew at Ocean Beach in San Diego during the DjangoCon US 2022”
Community involvement (6 part series)
  1. My involvement in the Python community
  2. FLOSS and linguistic diversity
  3. My Django active developers Sprints proposal 🌅
  4. 2023 Python Software Foundation Board Nomination
  5. 2024 Django Software Foundation board nomination
  6. My Django roadmap ideas 💡

🧭 Introduction

The first Python community I ever participated in was that of the Zope and Plone developers and I remember from that time on how they occasionally organized sprints for a few days to work together on internal issues.

The idea has remained in my mind over the years, I have seen other communities organize similar events and I think perhaps I have mentioned the idea in an impromptu way to some members of the community.

🗺️ Foreword

I was lucky enough to attend the last DjangoCon US 2022 in San Diego. After years of conferences in Europe, it was the first time for me to participate in a DjangoCon US and it was a fantastic experience for which I thank again the organizers, the speakers, the volunteers and above all the participants. I had the opportunity to meet many new members of the Django community, many I had known for some time I met them for the first time in person and others I had met in person in Europe I met them again with pleasure in San Diego.

Attending a conference in San Diego meant me to travel for 36 hours (other participants even more), take various means of transport, a long-haul flight and find myself 9 hours away from home with jet lag to be disposed of. In my case, this has accumulated the stress of attending a conference in the US for the first time, communicating in a language that is not mine and having, with pleasure, to present a technical talk on Django.

On Wednesday evening, after the three-day conference ended, Mariusz Felisiak proposed to the people who remained to chat to meet the next morning at 6:30 AM to go for a swim in the Pacific Ocean, on the closest San Diego beach from the conference venue. Since jet lag led me to wake up very early every morning, the time did not scare me. I love the sea since I live on the shores of the Adriatic Sea, and for this, I accepted with pleasure.

☄️ Epiphany

So on Thursday morning, we arrived at sunrise on Ocean Beach in San Diego with Mariusz Felisiak, Wil Klopp and Simon Charette and shortly after we were joined by Carlton Gibson and Will Vincent by bike. The sea was full of morning surfers, the beach was deserted and we were the only ones to take a swim in the cold water of the Pacific Ocean. The swim was short but it was an excellent way to release the stress from the previous days.

After the swim we took a walk in the Ocean Beach area, to go for a coffee in a nearby café and while walking we exchanged impressions on the conference that just ended, we talked about the effort made to be present there and the relief for that moment of leisure after so much stress.

So I thought that that could be the formula for the idea I had in mind which is to organize sprints to work on Django with other active developers of the community, with moments of conviviality to create greater harmony among the participants and moments of technical commitment to work on future key Django features.

The idea was to avoid the stress of an overly demanding trip, the commitment of attending a three-day conference or the responsibility of having to present a talk or a keynote in front of other Django experts, often in a language other than one’s own.

I remember that Mariusz and Simon seemed enthusiastic about the idea, I was sure I had already mentioned it to someone, perhaps even in the previous days, but at that moment I had it very clear in my mind and so I talked about it during the morning of sprint also with Will Vincent and Jeff Triplett, who confirmed the positive impression already received.

💍 The proposal

Will Vincent asked me to formulate the idea to be presented to the board of the Django Software Foundation and on the long trip back to the case I had the time to better organize the idea that I present to you here.

The Django active developers Sprints should be an annual or semi-annual meeting lasting 2 or 3 days to be organized in periods of the year compatible with the work or family life of the participants (e.g. avoiding religious, national or school holidays) and far enough away from important conferences (e.g. DjangoCon, PyCon, EuroPython) and certainly not connected with one of them to relieve the participants from organizational, voluntary or speaking commitments.

Participation in person would be important, but without excluding any participants who were unable to participate for health, work or family reasons, providing for them a hybrid mode of participation at least in the technical part of the sprint.

The chosen location should require everyone to make a similar effort to reach it, should allow them to participate safely (e.g. avoiding nations that are not safe for some), allow some kind of outdoor leisure activity and preferably provide convivial accommodation for a small number of participants, which would allow not to exclude large cities or tourist centers, and choose centers well connected by the transport system that would allow participants to avoid trips with many stopovers, with different means of transport and would allow to drastically reduce the time and travel costs.

Ideally, the sprint participants should be the developers most recently active in contributing to the code of the Django organization, the members of the technical board (which may change its name in the future) and above all participants in the mentorship program (which will probably start in the future).

The technical activities to be carried out should be chosen before the sprints and should preferably converge on a single goal (e.g. completing work on a key Django feature or proposing future Django features) and should preferably focus on a single repository of the Django group that is considered of key importance from time to time (e.g. Django, Django Channels, Django Project website, …) providing a final report of the sprint to be shared with the whole Django community.

Technical activities should be alternated with some non-compulsory recreational activities to be carried out in groups or subgroups freely chosen by the participants and also agreed upon before the event (e.g. sports activities, dinners, sporting or cultural events, …).

The sprints would be financed by the Django Software Foundation, by some employers of the participants or by third-party sponsors (e.g. PSF, companies, organizations, …) interested in completing key Django functionalities or simply interested in financing specific activities of the DSF.

🎯 The goals

The main goal of such a sprint would be to create the ideal conditions for the most active developers to finalize functionalities considered key for Django or the joint formulation of new proposals to be submitted to the Django community.

The other goal would be to foster harmony in the group of developers through personal knowledge and the creation of direct communication channels.

The ultimate goal would be to create regular Django community meetings free of the stress associated with a conference (e.g. organization, participation, volunteering, speaking, …).

💡 Conclusions

The community is the beating heart of any open source software and creating moments of meeting and sharing in person is one of the best ways to grow the community.

Two years of canceled conferences have shown us how isolation leads to the weakening of the community and also of individual members (burnout cases have increased).

At the same time, it’s stressful to get back to such big events and Django active developers Sprints could be a possibility for the sake of Django development.

⚗️ Other proposals

There are other initiatives that I would like to propose for the future development of Django that I take this opportunity to mention here:

  1. Remote collaborations funded with targeted goals with open source developers external to the community
    (e.g. collaboration with Daniele Varrazzo to complete and test the new PostgreSQL backend based on Psycopg version 3 he created)
  2. Remote workshops with Python Core Developer to train Django active developers, enhance synergy with the language, but also give feedback to improve language development
  3. Remote summits with friendly communities to discuss or work on common projects
    (e.g. discuss ASGI with Flask, Starlette, FastAPI or DB-API with SQLAlchemy, SQLModel, Peewee)

🌱 Growth

In the year since I publicly shared my idea for a sprint for Django active developers, I’ve received a lot of feedback: praise, criticism, encouragement, and proposals.

During DjangoCon Europe 2023 I met with Tobias Kunze, who was developing an idea similar to mine, and I strengthened the perception of the validity of my proposal.

During DjangoCon US 2023 I also chatted about my proposal with Daniele Procida, who suggested using the definition of “Django active developers”, which I found very valid, and which I then found was already present between the lines of my proposal.

I, therefore, decided to report these small adjustments to my proposal, although I must admit the biggest change is the title (Django active developers Sprints), apart from a few corrections and a bit of formatting.