Skip to main content

Growing open and sustainable software communities across Africa

Our researchers in the School of Mathematics have created accessible and sustainable software which has enabled community growth across Africa leading to improved job prospects, new educational opportunities for school children and acclaim and support from the Python Software Foundation.

Code Pycon

Mathematical research is not always reproducible due to unreliable, obscured, or outdated computer code. Our approach to open and sustainable software has ensured that accessible software is available across the world, especially in areas where ongoing and prohibitively priced licenses can restrict the use of bespoke software.

Modelling of queueing networks

Early work in queuing theory by researchers in the School of Mathematics explored strategic behaviour in queuing systems and was presented at the inaugural 2015 Namibian Python conference. This research established a sustainable framework for understanding potential deadlock in queueing networks. This framework describes a mathematical approach that uses queueing theory as well as graph theory to be able to identify when a queueing network might arrive at a deadlock. The approach ensures modelling of queueing networks can be made more realistic: in a model, a deadlock situation would essentially block all analysis, whereas in reality it might be recognised and dealt with.

Our team then incorporated this work into the open-source simulation package Ciw which allows simulation models to be tested, reproduced, and modified by users to suit their own needs. Ciw has been used in a variety of research and education projects, including supporting improvements to cancer healthcare for NHS Wales.

Open-source game theory strategies

The second relevant area of our research is in applications of game theory, developed from early work on the effect of selfish behaviour on the efficiency of queueing systems. Dr Vincent Knight and his team further developed software that explored the evolution of cooperative behaviour by providing a framework for research in the Prisoner’s Dilemma. Software named ‘Axelrod’ was created that contains a collection of more than 200 strategies tested, documented and available to researchers throughout the world.

Our researchers’ open-source design of Axelrod means the user base can contribute strategies, which creates a larger and more robust repository. This means that Axelrod can therefore be maintained by the user community. Cardiff researchers have since used Axelrod to collaborate on further game theory analyses, utilising its open and sustainable nature to enable a collaborative approach.

Cardiff research and demonstrations of both Ciw and Axelrod were provided at the first Python Conference in Namibia in 2015. Our research on queueing networks highlighted an accessible method of addressing problems encountered in healthcare and commerce. The presentation of game theory strategies inspired the formation of the Axelrod library of strategies. Both research strands focused on making applied research accessible through being open-source and freely available to be studied and used by others.

Impact of our research

Our research has inspired a new and self-sustaining international community of Python users across Africa. Through our expertise in deploying open-source research and tools to resolve practical problems, our team has facilitated the widespread adoption of open-source analytical techniques across Africa, fostering new employment and educational opportunities. Growth in the African Python community has been demonstrated by:

  • launch of the first Python Conference in Namibia;
  • formation of the Namibian Python Society, which attracted new users and led to vital training opportunities and growth in skills across the country;
  • creation of new Python-user communities in Zimbabwe and Nigeria;
  • the first pan-African Python-user conference, facilitated by increased financial investment across Africa from the international Python Software Foundation.

Launching the first Python Conference in Namibia

In 2014 Cardiff University and the University of Namibia launched the Phoenix Project, focused on using education to improve living conditions, reduce poverty, and promote sustainable development. Danielle Procida, a lead organiser in the Phoenix Project at Cardiff, sought to establish Namibia’s first Python Conference (PyCon) with the aim of growing and encouraging use of Python across the country. Dr Vincent Knight and Dr Geraint Palmer were invited to present their research and support the first PyCon at the University of Namibia in February 2015.

The formation of PyNam: The Namibian Python Society

The first Namibian Python society, PyNam, was formed during PyCon in 2015 and the PyNam team has since hosted annual PyCons in Namibia, and the 2020 PyNam conference attracted over 100 attendees from 15 countries across Africa, Europe, and North America. A key strength of Namibian PyCons is their diversity: by 2019 50% of attendees were women, and one in three talks were delivered by female presenters.

Namibian Python events have delivered broad impact in adoption and application of skills across Africa. The PyNam team has established further community user groups, including a coding group for Namibian high-school students called the PyNam Scholars.

Continuing growth across the Continent

The success of the PyNam team has inspired the growth of user communities across Africa. The Nigerian Python Community has grown to include more than 1.5K members and held more than 35 Python events in 2017.

The rise in Python communities across Africa led to the first pan-African PyCon, which took place in August 2019 in Accra, Ghana. The five day “PyAfrica” conference was attended by 323 people from 26 countries across Africa, Europe, North and South America.

The Python Software Foundation cited the collaboration between our researchers and the University of Namibia as fundamental to the rise of Python user communities across Africa.

The Python Software Foundation have increased their funding to African Python groups to reflect the growth in the community. In 2019, The Python Software Foundation’s 2019 Annual Report states that 25% of their funds go to Africa thanks to the work of several communities such as Python Nigeria, Python Ghana, Zimbabwe and Namibia. This amounted to approximately $83.5K invested in African Python User Groups and PyCons in 2018.

Africa

Key facts

  • A key strength of Namibian PyCons is their diversity: by 2019 50% of attendees were women, and one in three talks were delivered by female presenters.
  • In 2020 alone, nine former PyNam Scholars started new careers in software development and cyber security fields after graduating from school.
  • The Python Software Foundation have increased their funding to African Python groups to reflect the growth in the community. In 2019, The Python Software Foundation’s 2019 Annual Report states that 25% of their funds now go to Africa.
Python software development

"Cardiff’s research has inspired a generation of coders and analysts in Namibia, who have in turn inspired, taught and worked with the wider African community to make Python a force for good across the continent.”

Jessica Upani, PyNam President