An Open Letter to the Python Software Foundation

Dear PSF,

We, organisers in the pan-African Python community, would like to raise some concerns and frustrations that have been brought to a head by recent events.

We held the first-ever DjangoCon Africa in November, a flagship event for our community, and the first Africa-wide Python event since 2019’s PyCon Africa.

The PSF Board approved a grant of USD 9000 for the conference (six days, 200 people). The event was a significant success, and the PSF’s support was key to that.

Delays in the grant award process 

As acknowledged in the PSF’s article, “September & October Board Votes”, there were however some problems leading up to the grant decision.

First, the Grants Working Group was unable to come to a consensus on the request, so the decision was passed to the PSF Board. The Board was also unable to come to a consensus in its September meeting. Finally in the Board’s October meeting, the grant was approved. That was just a few weeks before the event started, nearly three months after its submission.

Effect of the delays

We would like to share a statement from the organisers of DjangoCon Africa describing the effect of these delays on the event and on them personally. 

For a considerable period of time, we were in doubt about a significant portion of our expected conference budget - from the PSF, whom we expected to be a steadfast ally and backer. 

During that time, we felt quite stuck - unable to make decisions. Our daily conversations became centred around anxious what-if calculations. At one point we had reduced our budget for catering to a total of 5 USD per person per day, for breakfast, lunch and refreshments - even in Zanzibar, this is an unfeasibly low figure. We jettisoned one item after another from our budget.

We were unable to make decisions about financial assistance, which in turn delayed our ability to make decisions about the programme (how could we invite a speaker whom we knew would require some funds to travel if we couldn’t provide the funds?). We watched as the air-fares we had expected to cover for many of those people rose.

We had to answer all the people who couldn’t understand why we hadn’t decided on their talk proposals and grant applications, or who wondered why an event starting so soon had not yet even published a programme of talks. “What are we supposed to say to these people?” became another anxious topic in our meetings.

We felt unable to advertise or promote the event, because we simply didn’t know what we could promise people.

Some of the people affected had applied for visas - incurring expense - well in advance, on our advice; they too were waiting to hear back from us.

Locally, we had caterers and other businesses waiting for deposits and confirmation of contracts. Some lost patience with us. The local PyCon Tanzania organisation bore the brunt of this. 

The organisation of DjangoCon Africa must have looked lazy, or incompetent, or worse, to someone looking at it from the outside.

The delay in a decision on funding from the PSF also made it harder for us to approach other organisations for funds - “Is the PSF sponsoring DjangoCon Africa? Why not?”.

It’s hard to describe the embarrassment we felt sometimes.

We had sleepless nights with worry - literally, not figuratively. More than one of us confided in another that we wished we had never started the project.

We started a fundraising campaign on GoFundMe to help cover the cost of financial assistance. It was a comfort to know that members of the international Python/Django community would stand up to support us, but the pleasure and gratitude we felt about that was overlaid with a feeling of humiliation that once again, a major African open-source software event had been obliged to publicly extend a begging-bowl.

At one point, gaps in our funding meant that the organisers faced a personal liability of almost USD 10,000 - funds actually spent, or committed, to make the event possible.  

For any volunteer conference organiser, the weeks in the run-up to an event are full of hard work. This experience went far beyond that. Much of the pride and joy of staging DjangoCon Africa was sucked out of it for us. 

Eventually, we received the grant funding we had applied for, though even this seemed to come with a humiliation: it happened after a white European spoke up publicly on behalf of the African Python community.

By the time we were able to start taking care of travellers who needed financial assistance, many of the air tickets had gone up significantly in price. Amongst the hard choices we had to make: one of our own organisers - a student, who has worked tirelessly in multiple events - was unable to attend because we could not afford to pay for her travel.

The organisers personally contributed well over USD 4000 to make the event possible in the form it took - funds contributed to a cause that we believe in, but it is not right that volunteer organisers of community events should be forced to make such choices. 

We are genuinely grateful for the support we received from the PSF. The event was a success, and we are proud of what we achieved, but we remain perplexed and hurt by the problems we faced, and how our grant request was treated.

Problems within the PSF?

It’s not clear to the wider African Python community why events unfolded in this way, though we are aware of some things that we have found very troubling.

We know that there are some extraordinary attitudes at work within the PSF. A PSF Board member once openly expressed the opinion that Anglo cultures always seem to be the ones that take the moral lead around the world, leaving others to follow their example. From any non-western perspective, this is an astounding idea to receive.

In the case of DjangoCon Africa, the first public response to our event on Mastodon was a negative response from a PSF Director, that in effect, cast doubt on the whole idea of a DjangoCon in Tanzania.

That’s not a solitary episode. We understand that (notwithstanding the PSF’s ambition to support Python in Africa) a PSF Director has consistently spoken out against funding for African events, over a period of years. 

Our grant request was handled by the PSF’s Grants Working Group. We understand that one member of this group was able effectively to stall its decision-making long enough that the grant request had to be passed to the PSF Board.

At the PSF Board meeting in September 2023, a board member strategically used an abstention to ensure that a resolution to support our request could not pass. (Under the PSF rules, had they voted against the resolution, it would have passed 4-1. In the circumstances, other abstentions for different reasons - including one person who was required to abstain, as an organiser of  DjangoCon Africa - meant that the resolution could not pass.) We are genuinely shocked by this. It’s one thing for a PSF Board member to vote against something they don’t believe in. It is quite another that someone has been able to weaponise the PSF’s voting system against an African event.

We are deeply troubled that such behaviours and values are actively at work inside the PSF. As an organisation, the PSF (and its Board and Working Groups and their processes) should be robust enough to stand up to individual prejudices, and not allow decision-making and deliberation to be derailed by individuals, however influential.

The PSF and marginalised and at-risk groups

We understand that the argument against support for DjangoCon Africa was that the host country, Tanzania, is not a safe place for the LGBTQIA+ community.

The PSF represents a global community, and has for years upheld high standards of inclusion and protection, paying special attention to the needs of those in marginalised and at-risk groups. Python community events around the world are effective safe spaces, that give strength to people who do not always find guarantees of safety elsewhere.

It is therefore especially shocking to have observed an attempt, coming from within the PSF, to pit the well-being and interests of two different excluded groups against each other, as if somehow the interests of members of the LGBTQIA+ community and of Africans are mutually exclusive.

Many questions can be asked about this reasoning.

What counts as “safety”? Which places in the world are truly safe for LGBTQIA+ community? How much of a city, or state, or country needs to be LGBTQIA+ hostile for the whole of it to be declared unworthy of PSF support? What does the PSF have to say to LGBTQIA+ community members in such locations? Are the LGBTQIA+ communities who are worthy of the PSF’s consideration only those who live in western countries, or do others count too? What does the PSF have to say to Python community organisers around the world who assert the community’s standards of inclusion, even in countries where it takes an act of bravery to do so?

And we would like to ask: when have questions been raised to check on whether western events present potential safety risks to non-western attendees, and when have non-western people been asked for their experiences?

All across the world, including the west, there are countries and places that are genuinely unsafe for members of particular groups, on the basis of their religion, ethnicity, language, gender, sexuality, nationality and other characteristics. Some of these risks may be obvious to westerners, or native English speakers, or men, and some of them may not. Simplistic judgements made from narrow perspectives will not enhance the safety of anyone in our community.

Risk and the law

The PSF and its directors quite correctly also observe the laws that apply to them. Yet we have witnessed discussions in which it has been proposed that volunteer organisers take public stances in their own countries that are not just contentious or socially unacceptable, but would actually violate local laws. 

In one recent example, voices on the PSF Board were demanding that a condition of funding for a particular PyCon be the formal adoption of a “human rights plan” - a measure that would pose a significant legal and personal risk to its organisers.

The entitlement and assumption of cultural superiority embodied in these ideas are absurd and offensive. 

Guidance and consideration for non-western Python events grant awards

At a meeting earlier this year, the PSF expressed concern that barely 16% of grants go to African communities. 

At the same time, the perception within some African Python communities is that the PSF is less likely to award a grant to an African event, or will scrutinise it more harshly, or take longer to make an award.

For example, in 2019 and 2020 one Ugandan Python community made two grant requests that we understand received literally no response. In 2022, another grant request finally received attention from the working group when - with the event coming up in a matter of days - one of the PSF Directors connected to the community raised the issue with PSF staff, and a vote was initiated immediately. 

This can be contrasted with the way a grant request for a European event was handled, at around the same time; the European request was made later, and dealt with sooner.

Inconsistency, lack of transparency and lack of clarity around expectations serve to undermine trust and confidence. The general perception within the Ugandan Python community is now that their events will only be given consideration if a PSF Director happens to take a personal interest in it.

In fact, other African organisers have reported timely responses and good communication from the PSF, so what is happening here? 

Do some African grant requests lack quality or detail, because organisers failed to understand what was required? Are there enough people in the PSF with an adequate understanding of the challenges faced by non-western events? ​Is there a pattern where weaknesses in a grant request made from some regions in the world are given the benefit of the doubt, while others are treated less favourably? 

We simply don’t know, and there could be a whole range of explanations. Whatever the underlying reasons, we need to understand and work together to address them, because the effects are harmful. 

Our requests to the Python Software Foundation 


We request that the PSF undertake and publish a review of actual grant applications, to determine whether there indeed are differences in grant responsiveness, approval times, rejection rates and so on in response to requests from different regions. 

We would like the PSF to publish clear expectations of timelines for handling grant requests, and for each final decision to be accompanied by a report showing how the case was actually handled.

Guidance and feedback

Organisers, and especially those operating without the benefit of long-standing networks of knowledge and shared expectations, need more guidance, and feedback they can act upon, especially in the case when a grant is rejected. 

We ask that the PSF commits to developing - in collaboration with organisers, especially those in non-western regions - further materials and guidance to help organisers put in the best possible requests for funding. This could include a more proactive approach to working with those organisers to help them understand the PSF’s expectations and standards.

We request that the PSF institute a practice of providing clear feedback to grant applicants, to help improve and motivate subsequent applications. In cases of delay or doubt, we would like a practice of prompt, direct engagement with organisers to help clarify.

Understanding of global needs

We ask that the PSF as an organisation commits to a better understanding of global diversity and the realities, needs and challenges of non-western events and organisers.

This includes an understanding of financial realities. For example, the organisers of African events face the combined difficulties of lesser commercial sponsorship prospects, the expense of intra-African travel, vast geographical distances and so on. We need the PSF to understand these realities in its decision-making about financial awards to events.

The law and marginalised groups

We request that the PSF undertake a formal review of policies and bylaws, that incorporates expert legal advice and takes full account of the realities of laws and legal regimes across the world that apply to volunteer Python community organisers.

We recognise that all across the world, Python events are proposed in places where laws and practices mean that the rights of some individuals will be in jeopardy. We would like the PSF to recognise, formally and in its actual practices, that this includes the west, and that it is not only non-western events that should be subjected to critical scrutiny over this.

We also ask the PSF to adopt a constructive stance that requires all local organisers, wherever they may be, to consider the safeguarding of marginalised groups, and actively helps them improve safety, without ever demanding that volunteers be willing to violate local law or place themselves at risk while doing unpaid work on behalf of the PSF. 

Progress, prejudice and confidence

In the past ten years, Python in Africa has developed with remarkable speed and success. In 2014 there was just one African PyCon, in South Africa. Since then PyCons and other events have been held all over the continent, and the communities behind them have grown in size, confidence, expertise and influence.

We can trace the introduction of Python teaching in universities across Africa and its spread across multiple commercial and non-commercial sectors to our work.

We have been generously supported, financially and morally, by the Python Software Foundation. Leaders like Ewa Jodlowska and Naomi Ceder have been part of that growth due to intentional support for our communities.

This has been a story of growth, motivation and courage.

More recent experiences have left us feeling hurt and angry. We hear voices, openly and confidently raised within the PSF, that denigrate us and our communities, that dismiss our experiences, that doubt our values, and harm us materially.

Our confidence in the PSF, and the confidence of many other people in our communities, has been shaken. Our motivation has taken some hammer blows. The work of the last decade risks being set back.

Constructive collaboration

We want to work with the PSF on everything addressed in this letter, in the spirit of constructive collaboration. We are willing to put our energies into building better practices and understanding. We want to be part of a solution to the concerns.

We ask the PSF to recognise our concerns, and not just to take them seriously, but to commit to working with the African Python community to address them, so that we do it together.  


Python Communities in Ghana, Namibia, Nigeria, Uganda, Tanzania, Mozambique  South Africa, and Zimbabwe.

Abigail Mesrenyame Dogbe (Python Ghana)
Aisha Bello (Python Nigeria)
Anna Makarudze (Python Zimbabwe)
Chukwudi Nwachukwu (Python Nigeria)
Daniele Procida (Python Namibia)
Eusebio Simango (Python Mozambique)
Jessica Upani (Python Namibia)
Joannah Nanjekye (Python Uganda)
Julius Moshiro (Python Tanzania)
Mannie Young (Python Ghana)
Marlene Mhangami (Python Zimbabwe)
Noah Maina (Python Tanzania)
Sheena O’Connell (Python South Africa)


  1. Compliments for this letter. After reading this I have a strong feeling that the PSF directors/team should clarify their behavior and lack of "on-time" response. At least it looks very strang to mr. I am giving them the benefits of the doubt. Both sides should be heard to give an unbiased opinion... I congratulate all those hard workers to setup and organise the conference. Next time I expect it will go smoother with less stress and sorrows. Good luck from the country where Python was invented.

    Regards from a long Python user (since 2001)


Post a Comment