Originally published on: https://www.paulox.net/2022/10/26/about-my-proposal-for-the-django-core-sprints/
The story of how the proposal to organize sprints on the Django core was born and how I proposed it during the past DjangoCon US 2022 in San Diego to various components of the Django community.
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 but 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 for 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, 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 that is to organize sprints to work on the core of 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 Django's top 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 and Jeff Triplett, who confirmed the positive impression already received.
The proposal 💍
Will 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 Core Sprints should be an annual or semi-annual meeting lasting 2 or 3 days to be organized possibly in a period of the year compatible with the work or family life of the participants (e.g. avoiding the Christmas period or school holidays) and far enough away from important conferences (eg: DjangoCon, PyCon, EuroPython) and certainly not in continuity 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 techboard (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 clearly 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 (eg: django, channels, djangoproject, ...) 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 before the event (eg: 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 (eg: 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 Dajngo 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 Core 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:
- 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)
- Remote workshops with core Python developers to train Django core developers, enhance synergy with the language, but also give feedback to improve language development
- 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)
Links 🔗
- Will Vincent blog - Personal Thoughts on the Django Software Foundation Board's Future ↗️
- Django Forum - Thoughts on DSF Board 2023 and beyond ↗️
Top comments (0)