In a vile attempt to bias the results of the current election for new directors for the Python Software Foundation, I'm sharing this analysis I made. My goal was to better understand the current board of directors, and how the new candidates can impact it.
As a Pythonista, the decisions made by the board of directors affect me. And while all candidates look great to me, I think it's key to have a board of directors as diverse as possible. The decisions of the BoD affect all us, and having only male candidates, candidates from the US, candidates working on the web site of Python... would make these decisions biased in an undesirable way.
I wish the information I wanted to analyze was available in an structured and reliable way, but it's not. The information used was mainly obtained from the candidates wiki, and the directors and candidates Twitter and LinkedIn profiles. Meaning that information can be lacking or incorrect. If you find anything wrong, please contact me and I'll fix it.
While there are 17 candidates to the PSF BoD, I just show the information of 16 here. I am the 17th candidate, and I wanted this analysis to be as fair as possible, and not a propaganda exercise. This being said, don't assume that removing myself from the analysis makes it unbiased. I analyse what is important for me (for example, I care a lot on who contributes to the Python projects code), and you may care about something different.
In [1]:
import pandas
from matplotlib import pyplot
directors = pandas.read_json('{"Location":{"Naomi Ceder":"Chicago, IL","Eric Holscher":"Portland, OR","Jackie Kazil":"DC \\/ Bradenton FL","Lorena Mesa":"Chicago, IL","Thomas Wouters":"Amsterdam","Kushal Das":"Kolkata, India","Marlene Mhangami":"Zimbawe","Van Lindberg":"San Antonio, TX","Ewa Jodlowska":"Chicago, IL"},"Gender":{"Naomi Ceder":"Woman","Eric Holscher":"Man","Jackie Kazil":"Woman","Lorena Mesa":"Woman","Thomas Wouters":"Man","Kushal Das":"Man","Marlene Mhangami":"Woman","Van Lindberg":"Man","Ewa Jodlowska":"Woman"},"Twitter":{"Naomi Ceder":"https:\\/\\/twitter.com\\/NaomiCeder","Eric Holscher":"https:\\/\\/twitter.com\\/ericholscher","Jackie Kazil":"https:\\/\\/twitter.com\\/JackieKazil","Lorena Mesa":"https:\\/\\/twitter.com\\/loooorenanicole","Thomas Wouters":"https:\\/\\/twitter.com\\/Yhg1s","Kushal Das":"https:\\/\\/twitter.com\\/kushaldas","Marlene Mhangami":"https:\\/\\/twitter.com\\/marlene_zw","Van Lindberg":"https:\\/\\/twitter.com\\/VanL","Ewa Jodlowska":"https:\\/\\/twitter.com\\/ewa_jodlowska"},"Area":{"Naomi Ceder":null,"Eric Holscher":null,"Jackie Kazil":"data","Lorena Mesa":"web","Thomas Wouters":"cpython","Kushal Das":"cpython","Marlene Mhangami":null,"Van Lindberg":null,"Ewa Jodlowska":null}}')
candidates = pandas.read_json('{"Previous board member":{"Anna Ossowski":"Yes","Cleopatra Douglas":"No","Christopher Neugebauer":"No","Katie McLaughlin":"No","Younggun Kim":"Yes","Paola Katherine Pacheco":"Yes","Thea Flowers":"No","Jeff Triplett":"No","Jess Ingrassellino":"No","Maricela (a.k.a Mayela) Sanchez Miranda":"No","Nina Zakharenko":"No","Mario Corchero":"No","Sergey Sokolov":"No","Lilly Ryan":"No","Tania Sanchez":"No","John Roa":"No"},"Location":{"Anna Ossowski":"Cologne, Germany","Cleopatra Douglas":"Sierra Leone","Christopher Neugebauer":"Petaluma, CA","Katie McLaughlin":"Sidney, Australia","Younggun Kim":"Korea","Paola Katherine Pacheco":"Mendoza, Argentina","Thea Flowers":"Seattle, WA","Jeff Triplett":"Lawrence, KS","Jess Ingrassellino":"NYC","Maricela (a.k.a Mayela) Sanchez Miranda":"Mexico","Nina Zakharenko":"Portland, OR","Mario Corchero":"London, UK","Sergey Sokolov":"St Petersburg, Russia","Lilly Ryan":"Melbourne, Australia","Tania Sanchez":"Leeds, UK","John Roa":"NYC"},"Gender":{"Anna Ossowski":"Woman","Cleopatra Douglas":"Woman","Christopher Neugebauer":"Man","Katie McLaughlin":"Woman","Younggun Kim":"Man","Paola Katherine Pacheco":"Woman","Thea Flowers":"Woman","Jeff Triplett":"Man","Jess Ingrassellino":"Woman","Maricela (a.k.a Mayela) Sanchez Miranda":"Woman","Nina Zakharenko":"Woman","Mario Corchero":"Man","Sergey Sokolov":"Man","Lilly Ryan":"Woman","Tania Sanchez":"Woman","John Roa":"Man"},"Twitter":{"Anna Ossowski":"https:\\/\\/twitter.com\\/ossanna16","Cleopatra Douglas":"https:\\/\\/twitter.com\\/succedor23","Christopher Neugebauer":"https:\\/\\/twitter.com\\/chrisjrn","Katie McLaughlin":"https:\\/\\/twitter.com\\/glasnt","Younggun Kim":"https:\\/\\/twitter.com\\/scari_net","Paola Katherine Pacheco":"https:\\/\\/twitter.com\\/pk_pacheco","Thea Flowers":"https:\\/\\/twitter.com\\/theavalkyrie","Jeff Triplett":"https:\\/\\/twitter.com\\/webology","Jess Ingrassellino":"https:\\/\\/twitter.com\\/jess_ingrass","Maricela (a.k.a Mayela) Sanchez Miranda":"https:\\/\\/twitter.com\\/mayela0x14","Nina Zakharenko":"https:\\/\\/twitter.com\\/nnja","Mario Corchero":"https:\\/\\/twitter.com\\/mariocj89","Sergey Sokolov":null,"Lilly Ryan":"https:\\/\\/twitter.com\\/attacus_au","Tania Sanchez":"https:\\/\\/twitter.com\\/ixek","John Roa":"https:\\/\\/twitter.com\\/jhonjairoroa87"},"Conference \\/ meetup organiser":{"Anna Ossowski":"Yes","Cleopatra Douglas":"Yes","Christopher Neugebauer":"Yes","Katie McLaughlin":"Yes","Younggun Kim":"Yes","Paola Katherine Pacheco":"Yes","Thea Flowers":"No","Jeff Triplett":"Yes","Jess Ingrassellino":"Yes","Maricela (a.k.a Mayela) Sanchez Miranda":"Yes","Nina Zakharenko":"Yes","Mario Corchero":"Yes","Sergey Sokolov":"Yes","Lilly Ryan":"Yes","Tania Sanchez":"Yes","John Roa":"Yes"},"WG member":{"Anna Ossowski":"Grants","Cleopatra Douglas":"-","Christopher Neugebauer":"Grants","Katie McLaughlin":"-","Younggun Kim":"Grants","Paola Katherine Pacheco":"-","Thea Flowers":"-","Jeff Triplett":null,"Jess Ingrassellino":"-","Maricela (a.k.a Mayela) Sanchez Miranda":null,"Nina Zakharenko":null,"Mario Corchero":null,"Sergey Sokolov":null,"Lilly Ryan":null,"Tania Sanchez":null,"John Roa":null},"Area":{"Anna Ossowski":"web","Cleopatra Douglas":"web","Christopher Neugebauer":null,"Katie McLaughlin":"web","Younggun Kim":"data","Paola Katherine Pacheco":"data","Thea Flowers":null,"Jeff Triplett":"web","Jess Ingrassellino":null,"Maricela (a.k.a Mayela) Sanchez Miranda":"web","Nina Zakharenko":"web","Mario Corchero":"cpython","Sergey Sokolov":"web","Lilly Ryan":null,"Tania Sanchez":"data","John Roa":"web"}}')
In [2]:
fig = pyplot.figure()
pyplot.subplot(121)
directors.groupby('Gender').size().plot(kind='bar')
pyplot.title('Continuing directors')
pyplot.subplot(122)
candidates.groupby('Gender').size().plot(kind='bar')
pyplot.title('Candidates');
It's difficult to cluster people in the different Python areas. Or to define which are the areas themselves. But at the same time, it wouldn't be nice to have the whole Python community represented by directors that never work with Django, or with the PyData stack. My approximation has been to divide the directors and candidates between the ones more focused on web, on data or on the language itself, and consider the rest neutral.
From the plots below, seems like all areas are represented, but personally I don't think it'd harm to have more representation from the web and data world.
In [3]:
fig = pyplot.figure()
pyplot.subplot(121)
directors.groupby('Area').size().plot(kind='bar')
pyplot.title('Continuing directors')
pyplot.subplot(122)
candidates.groupby('Area').size().plot(kind='bar')
pyplot.title('Candidates');
In the below map, I show in blue the location of the current directors (who don't need to be re-elected), and in purple the new candidates.
I think the current BoD is very American (as American from the USA), which in my opinion is not a positive thing. While there are great candidates from the US, I think it'd be great if most of the new directors are based in other regions of the world, and we make the PSF BoD more international.
The interactive version of this map, with the names of the directors and candidates is available here.
For what it's said in the wiki, seems obvious that almost all candidates are very involved in the community. In some cases in organizing conferences, in some others organizing local user groups. Personally, I don't see it as a very discriminative feature.
There are 3 candidates (as far as I know) who participate of working groups of the PSF (all them in the grants WG): Anna Ossowski, Christopher Neugebauer and Younggun Kim.
Most of the candidates discuss in the wiki the importance of the community values like diversity. Some mention their achievements, some their goals as directors. I think it's a really great achievement, and while some emphasize more than others, it's difficult to measure is someone is better in terms of enforcing these values.
As mentioned before, this is one of the most relevant areas for me. Meaning that I'm really biased towards people who makes the software that we all use. Most of the candidates didn't mentioned their contributions (if any) or shared their GitHub links. The ones who shared it are: Thea Flowers (packaging.python.org and urllib3 maintainer among others), Nina Zakharenko, Mario Corchero (several contributions to CPython and python.org) and Tania Sanchez. Even if it's not in the wiki, I know Younggun Kim contributes to pandas (and other smaller projects like Folium). And Anna Ossowski is contributing to the Django REST framework.
For what I saw many candidates contributed to user groups and conference website, and small/personal projects.