 My name is, this is not only my first keynote, but also my first conference talk ever. So thank you all for sharing this milestone with me. So as I mentioned, and as you all know, my name is Eva and I'm the Director of Operations at the Python Software Foundation. How many of you have ever been to a PyCon US? Yeah! Okay, so I'm going to test the water here and see how many of you have been around for a lot longer. So how many have been to PyCon in Montreal? Yes. How about PyCon Santa Clara? Yeah! How about Atlanta? Ooh, smaller numbers. All right. How about Chicago? Rosemont, Illinois. Let's be real. All right. That's awesome. So we do share a common thread in history. So organizing PyCon US is how I got started with the Python Software Foundation back in 2008, and it's still one of my main responsibilities. I have been with PSF for that long in one capacity or another, and I've been privileged enough to experience some of the greatest growth of Python. The most common question that I get, or actually, let's talk about Jessica first, because she was on stage here last year, and I'm not certain how many of you were at PyGov in 2015, but for those of you that recall, Jessica McKellar, who was a past PSF member, was on stage addressing the sustainability of Python. If you haven't had a chance to watch her talk, I suggest you check it out on pyvideo.org, while it's still around, or YouTube. So the question that she addressed is, how do we keep Python successful in the long run? Her talk elaborated on how we have to focus on new users, engaging them, retaining them, and turning them into strength and lasting growth. Jessica ended her talk with a call to action, asking everyone to get involved in making Python sustainable, and how the Python Software Foundation can help. So the most common question that I get from Pythonistas is, what is the PSF, and what does it do? For as long as I have been with the PSF, our goal has been to encourage all people around the world to learn and use Python. Our call to action has been to inform everyone how we, the PSF, are here to support the sustainability of the community, similarly to how Jessica ended her talk last year. Currently, we are responsible for the intellectual property behind Python. We are in charge of producing PyConUS, and we give out many grants throughout the year to advance and promote Python. We do this through funding conferences and workshops, user groups, meetups, and some dev work. We have been so busy in working on this mission that we have not taken a step back to take a look at the comprehensive progress. In this talk, I will concentrate mainly on the impact of our grants. Even though PyCon is a much larger portion of our budget, I believe that our grants have a strong international impact. The international impact is what I'm excited about, and it tends to be the aspect that people are most unfamiliar with. About four months ago, we were at Peak PyCon 2016 planning and continuing to get steady amount of grant requests. I reflected back on previous years and thought to myself that we must be getting more grants than previous years. First, I panicked about the possibility. What if we run out of grants? And then I started adding up all the amounts from the resolutions that we post up on python.org. And as a guest, we have been giving out more grants. And after doing some research with the help of our treasurer, Kurt Kaiser, I wrote a blog about this increase in June. Up here's the link. This is also when my curiosity spiked about our impact, which also led to this talk. And for those that haven't read it, the biggest takeaway from that blog is that the PSF has increased grants by $65,000 year on year the last two years. So since the Python Software Foundation is the largest nonprofit working on promoting and advancing Python, let us dive into the PSF's historical data. Today, I would like us to take a look at the grant data to know better how we impacted the community. We will review our international outreach through geographical data. Also throughout this talk, we will unravel the financial impact that we have had in several depths, such as location and economic impact. Though we will, then we will take the financial and geographical impact and translate that into sustainability. So how much funding have we given the community? Before we go into seeing the geographical data and the financial data, let us discuss the current PSF budget so you all know what the PSF operates on. So the most recent data, which is up on the slide, is from our treasure from last year. The numbers show that we operated on the yearly income budget of approximately $2.4 million. Our yearly expenses are approximately $1.9 million and for something to keep in mind is almost all of those expenses and incomes are somehow Python related. We see that last year we dispersed over $220,000 in grants. After that, we are left with a yearly net operating income of approximately $500,000. In addition to an operating budget, we do have a reserve in our budget from year to year. Whatever we do not use from that $500,000, which will be most of it, we move to that reserve. The reserve is important for us for structural growth. In the past, as some of you may know, we have run into situations when not having that reserve jeopardize the existence of the PSF. In addition to avoiding that risk, if operations do grow, we need to be able to increase that reserve a bit. I mean internally, the theory that we work on is for every person that we hire, we should be able to pay them for at least five years. I mean that is important to make sure that the foundation's growth is lasting. I mean when we compare the PSF to a wider reaching nonprofit, our yearly budget is peanuts in comparison. But we are well in our way to maturing, especially considering the societal impact of technology and open source. Okay, so now let us get to some of the historical data. First up, we will look at the financial assistant, financial assistance that the PSF has provided since 2010. This is a simple graph showing the individual grants given per year. Now going forward, when I say year, I mean one board term. So that usually is June 1st of one year and May 31st of the following year. Also because where I am taking this data, I did not include developmental grants in the following graphs or maps. Long story short, I will be showing you our geographical impact. And in my opinion, dev grants are not per country, but have worldwide impact. I will go over separate graphs later to go over the dev grants. But back to this graph, looking at it and seeing the single rising curve, we can assume that we are helping our community more and more each year, simply because our grants have increased from year to year. But this graph does not show us how many, but this graph just tells us how many graphs, how many grants we have given. We need to add more data points to make this relevant. Let us look at a graph that compares individual grant averages with total grants given per year. I also use this chart in my blog that I mentioned earlier. And as explained in my blog, we derive from this graph that our recent growth spurt had a lot to do with individual grant count increasing as well as the total grants given. So in short, we are giving out more smaller grants in turn increasing our daily workflows. With this graph, we are seeing that the internal impact that this is having to the PSF staff. But how does this translate into communities that we are impacting? Let us move on to examine more geographical data that's behind all these grants. We will get a better sense of what parts of the world the PSF has been successful in reaching and which ones are emerging communities. So here we have a map showing the outreach in the 2010 to 2011 term. I remember the size of the PSF community in 2010. And I do remember it being rather small. I also remember the PSF staff being rather minimal. And back then I only worked on PyCon, so I didn't have anything to do with the PSF internals. But to think that back then there were already funding events in Argentina, South Africa and Poland and New Zealand. That's amazing. And it definitely set the bar for us going forward. Here we have a map showing outreach in the 2011 to 2012 term. The yellow mark countries are the newly impacted countries since the previous year. We can see that the PSF's outreach has spread in South America to include Brazil. That year we also increased our impact in Europe by including Finland and several Eastern and Western European countries. Here we have a map showing the outreach in the 2012 to 2013 term. We see the addition of the Philippines, which maybe it's hard to see, but let me zoom in. The Philippines as well as the Czech Republic. Considering the PSF is a US-based organization, this type of international impact is important because it's establishing a more diverse community for us. Here we have a map showing the outreach in 2013 and 2014. We can see that the PSF's impact has impacted the Caribbean for the first time with the addition of Dominican Republic. I'll zoom in again because it's small. We see the growth in the UK and Eastern Europe. Taiwan and Indonesia are also impacted for the first time in 2013. This ongoing growth in the Asia-Pacific region leads to many more local events in the coming years. Here we have a map showing the outreach in the 2014, 2015 term. The outreach in 2014 was tremendous. We added 20 new countries that term. Our outreach was able to reach more of the African continent by adding workshops in Cameroon, Namibia, Kenya, and Uganda. That alone is a huge diversity milestone for us. But in addition to that, we impacted Belarus, Bolivia, and Greece, Japan, Mexico, Netherlands, Paraguay, Peru, Romania, Scotland, Kosovo, Singapore, South Korea, Sweden, and Turkey. That is some list for one year. And it's hard to believe that internally we did this all with two employees. And finally, the 2015-2016 map. We held on to some of that momentum from the previous year and we reached 11 new countries. To name a few, we continued to expand outreach in Africa by funding workshops in Nigeria and Zimbabwe. We also helped fund the first PyCon in Cuba. Seeing that incremental growth is great. Good? Is that better? Thanks. Seeing the incremental growth is great, but let us look at the 2010 countries compared to all of the newly impacted ones to really see the change. The blue mark countries that you see are the ones impacted up through 2010. The yellow ones show us the newly impacted countries since then. It is a comparison that I am proud to say I've been a part of developing. Here we get a better holistic sense of the new areas that we've been able to impact. Since 2010, the PSF support has reached 32 new countries. Now seeing all those gray countries, it's easier to see that our mission is not complete. Let this be inspiration for the new board and for the Python community to try to further expand our outreach. If we keep up with this rate of increase, by 2018 I hope we reach 58 new countries totaling in over 100 countries impacted. Being able to visualize this international growth is substantial, especially for those of us working on it internally. After creating these maps and seeing how many countries we have impacted over the years, it provided me with a renewed inspiration, which I'm sure is important in any kind of job. However, some of this data, actually most of this data is Insular, because we see all the countries that we have impacted at one point in time in the last six years, but we can't yet tell how much we have impacted them. So this is where I hope everyone had their three o'clock coffee. We're good? All right, my $1 in New York does not have the same value everywhere else. I considered several ways of displaying this data. First I thought to just display the unaltered grant amounts, but since the US dollar varies in every country, we get a narrow understanding of that impact. When I take my $1 to Prague or to Paris, it will have a different value in each of those countries. Furthermore, I want to go over a few reasons as to why I will continue to show you values in USD. One reason is that the PSF accounting is done in USD. Another reason is that it gives you the ability to better compare the grants in different countries directly. Also, using foreign currency does not exactly help us see the real financial impact, so instead of using an exchange rate to calculate the foreign currency, I'm going to use an exchange rate on top of USD so we can better understand the financial impact. Let us introduce PPP to get what is called an implied exchange rate, which we will use with our geographical data to better gauge our international impact. So there are a few things we need to go over about PPP before we continue on this route. First up, for those not familiar with it, it means purchasing power parity. According to Investopedia, PPP is a theory in economics that approximates the total adjustment that must be made on the currency exchange rate between countries that allow the exchange rate to be equal to the purchasing power of each country's currency. Okay, great, we all know what PPP means, right? Those words made my head spin the first time I read them. But don't worry, I'll try to go over some examples for everyone. As for my data, I am using the Big Mac index. The Big Mac index uses the price of the Big Mac burger across different countries for a proxy for better cost of living. For cost of living, not better cost of living. A few notes about burgeronomics. It's not the most precise way to calculate PPP. It does not take into account the varying lifestyles within one country, and it also does not take into account how that country perceives that one good. Although you can apply that same rationale for any index. The benefits are that it is easy to use the Big Mac index, and it helps PPP become easier to understand, since it is a good that we are all pretty much familiar with. Also, the Big Mac tends to be a very consistent product all around the world. There are some countries that the Big Mac index does not cover, and in that case, I used Economy Watch to get the indexes. The Economy Watch did have a slight variation when compared to the Big Mac index, but it was a very, very close number, close enough for the purpose of this demonstration for sure. Regardless of the type of PPP index used, in short, I like to think of it as a more truthful exchange rate. So let us look at a quick example from my home country. The price of a Big Mac in the beginning of this year in Poland was 9 złoty, 60 grosze, or $2.37. The same burger in the US cost $4.93, meaning that the implied exchange rate when buying the same good is 1.95 złoty per dollar. Meaning that essentially you get twice as many złoty as dollars. You need twice as many as dollars when buying the same product. However, the actual exchange rate is much higher. It's 4.05 złoty per dollar, meaning that the złoty is undervalued. When I'm buying Big Macs in Poland, I need to spend two złoty to get $1 worth. But when I'm buying that same Big Mac in the US with exchange złoty, I spend twice as much on the same burger. Another way to think of it is if you go to Poland with USD and exchange it to złoty, you buy approximately twice as many Big Macs as you would be able to buy in the US with that same amount of money. So let us apply this to a fictional grant. We could say that a $1,000 grant has the PPP value of $1,950 in Poland. Essentially what I'm saying is that $1,000 has twice the impact in Poland than it does in the US. So someone can take that $1,000 from the US and buy twice as much in Poland. In Poland, that is a great deal, of course. But for those countries where the currency is overvalued, it has the opposite effect. So let us see this index at work on a small set of data, of course. So I'm gonna start with 2010 because that was the lowest amount of grants that we've given. To show you how PPP changes the way we interpret this data, let us first glance at a heat map that displays the unaltered nominal USD grant amount from the 2010, 2011 term. By unaltered, I mean I have not yet applied the PPP index to it. The color key going forward is the countries marked in yellow are lightly impacted, the ones in medium, I'm sorry, the ones in orange are medium impacted and the red ones are highly impacted. Here we see that during the 2010, 2011 term, we gave the most money to Argentina. Now let us take those grant amounts and apply the implied exchange rate. This table up here shows the 2010 grant amounts given with the applied PPP indexes from 2010. Let us take these newly calculated amounts and create a new heat map. We can see that from the grants we gave out in 2010, we had the most financial impact on India. These two heat maps from the same year really tell us a different story. Without PPP, we could think that we impacted Argentina and Italy the most, but as we see from this heat map, that is not the case. To see the most current impact, let us review the data from the 2015, 2016 term. As a side note, I could not find PPP value for Cuba, so I used the implied exchange rate of one just as a heads up. So this is the heat map from 2015, 2016 term showing the unaltered grant amounts. It looks like we gave out the most money to the US, South Africa, and Spain. Here is a heat map from 2015, 16 term showing the PPP calculated grant values. Now we are looking at a completely different map. All of the highly impacted countries from the previous map are now medium impacted. The high impacted countries are now Uganda, South Korea, Cameroon, Hungary, and Nigeria. Since international diversity is a big component in our mission, I'm happy to say that we are succeeding in it. And I'm sure the new board will be happy to learn of this as well. I think from all the various ways that we looked at the PSF's data, this one is most telling. Not only can we see the countries that we've impacted, but we can also see how much we have impacted them. We could correlate this, could we correlate this to GDP growth of those five countries? It is a big stretch. And my research in this talk did not go into it. But just to get a small idea of these countries' GDPs, and since we're in the UN building, and mostly to please my curiosity, here is a graph showing the GDP growth between 2010 and 2015 for all the countries. I also included the US GDP for comparison. We can't tell if any of this correlates to the PSF's funding, but we do see that four out of five countries have increased GDP over the five years, significantly when compared to the US. I mean, so I did satisfy my curiosity, but it is also, I guess, good for me to take a step back and see that what we are doing does have a positive impact on the world, which does make a lot of things better. So now that we've seen how much of the world the PSF has impacted, and we get a good sense of where many of the new pythoneses are coming from, let us break down the grants further to see the types of grants that we are supporting. This will help us see exactly which parts of the sustainability cycle, which were new members, engagement, retention, we are helping. I have categorized all of the grants into the following types. Meetups and user groups, workshops, conferences, sprints, development and infrastructure. I have also assigned each type one section of the sustainability cycle. There are several ways to categorize the grants we give, but this is what made most sense to me, and here's why. Meetup and user groups are a great place to get a new local involved in Python. I believe these events help bringing forth new users. Either it happens through someone bringing in a friend who has been hearing about Python for the last five years and finally wants to know what all the fuss is about, or it happens when a CS student in that area wants to learn about Python and comes to the user group. Oops, sorry. Many of the hands-on workshops, including the children's workshops that we fund, have been introductory level workshops. These workshops help new users see the usability in using Python. Conference attendees are usually already familiar with Python, but attend the conference to meet with either Pythonistas or to see what's new with Python. So therefore, conferences tend to engage users. Sprints are meant for engaging users as well, because usually it is a time when Pythonistas get more involved with a Python package, or they begin contributing to a project. Development helps us retain users. If we continue to fund dev work that makes Python a better language, a language that keeps up with current-day needs, more users will stay with Python instead of moving to a different language. Infrastructure is on here because previous years we have given grant money to OSU in exchange for infrastructure support. We no longer do that because most of our infrastructure is donated by our wonderful sponsors. But I do think that infrastructure is important for retention. For example, making Python packages easier to download gives someone a strong reason to continue and stay with Python. So now that we have gone over the types of funds, let us look over some of that data. First, I counted each type of grant given per year. This bar chart shows the yearly totals. We can see that in the last few years we gave out more conference grants and workshop grants. We can see that recently we received less sprint requests. This variation can be telling us that our community is concentrating more on new user recruitment. Or it could just be telling us that sprints are getting funding elsewhere. One of the things I think it is is most sprints are attaching onto conferences. So now that cost is absorbed by the conference instead of the sprinters themselves. Then I combine all the counts to get one total per type. Let us find out what that looks like. We see that from all the grants given, we have given less grants to user groups in comparison to other types. Although I can tell you that's mostly by design. We feel that user groups should find local Python shops and give them space for their meetings and possibly provide snacks for the people. This chart also shows us that we have given a lot less developmental grants. However, this does not necessarily mean that we have given less funds to development. Let us see what this pie chart looks like when we total the money given to each type. Out of the money given out, development takes up a larger piece of this pie than it did the previous one. It is our third largest type of grant funded. The variation between the two pie charts exists because development works, development work is usually more expensive than paying for a meetup to have pizza or possibly for a user group to get 30 raspies. Conferences and workshops are still our main funded types of grants. So we do tend to support new users in engagement more than any part of the sustainability cycle. But we can see that development is a good chunk of our budget. Some of you may be wondering what type of development have we funded? As you can see, there are a handful of dev grants per year, but considering there are over 84,000 packages on PyPI, I would think that we would receive more requests. Internally, one of the roadblocks that we have is that once a dev grant is given, we don't have the internal resources, staff, nor volunteers needed for oversight of that grants progress, but hopefully in the future that can change. On a positive note, there are many tech companies that pay Pythonistas to work on Python during their day jobs. I hope that with a mix of that and increased development support, we can continue to have a strong language to gain new users, to engage them and to retain them. Looking at all this data, we can see that the PSF's outreach and impact has grown over the years. I felt the internal pressure of this success the last few years, but now I'm happy to see that the data has backed my experience. Let us look into the future. It's July 2021. A new board has just been elected. PyCon 2021 just wrapped up. The Python Software Foundation has continued to increase their grant disbursements by $65,000 a year on year. This means that the 2020 term gave out over $550,000 in grants. That's over half a million dollars and double of what we gave out last year. Of course, that is the ideal situation and what we're planning for strategically, but realistically, what does that mean? Between August 2015 and today, our staff has doubled, but the growth was sufficient enough for us to keep up with the demand. Currently, the board and the staff spend all of their time on grants. Six months out of the year, the staff and I spend all of our time on PyCon, while the board steps in to help with all of the continuing grant requests. We are left with barely enough time for time off and occasional org improvement projects. We need to continue to expand our staff so the board can work on the PSF's mission. I can continue to work on the strategic planning and sustainability of the foundation while our staff continues to work on grants in PyCon. We need to also better document PSF volunteering possibilities. So if someone wants to help, they know where to pick up. Currently, it is difficult for us to onboard a volunteer. And in turn, that holds us back from getting help. Looking into the future, we also need to reassess PyCon US. PyCon US is a multi-million dollar budget. There are things that we need to eventually examine. Is PyCon US cost efficient to our attendees? How about to sponsors? Are we using the funds to best impact our community? Are we optimizing our sponsor outreach? Should we possibly have more than one PyCon per year? Given the time, those are all things I plan on addressing in the coming years. We also need to be more efficient with PSF sponsorship. We need to get better data and use that to attract organizations to sponsor the PSF's mission. There are many organizations that depend and use Python every day. And many of them do sponsor the PSF. Already, but I'm sure there are many more. It would be great to go through all of this. It was great to go through all of this data and to finally see the facts behind the growth and impact. Of course, with expansion comes analysis and optimization. I look forward to sharing with you those outcomes in the future, either at a future conference or through the PSF blog. But before I get going, I want to thank PyGotham for inviting me to be here, especially those two right there. Every one of you sitting here impacts what I discussed today. And you all deserve a round of applause for that. And here's my schedule for now just tomorrow. These are the talks I attended earlier. They're all great. So if any of you want to ask me a question or just to catch up, please approach me. I would love to hear from our community. Thank you, everyone. Sure, if anyone has questions. Yeah. Let's get your mic on the mic. Maybe take this one. Oh, you're still using that one, are we asking for it here? The gray one? Yeah, yeah. Hello, there we go. All right. Hi. You mentioned that you do already spend money funding development. Looking at the things you were funding there, it was very much third-party projects. Think projects that are of interest to the community, but not Python itself or core pieces of Python infrastructure. I'm thinking in particular things like PyPI, which everyone complains when it's not available, but it's currently being funded, as I understand it, mostly by Kuehler Packard as an episode three through David Donald's stuff. Exactly. What is the thought of the PSS Board about funding both Python core development, Python core maintenance, and the absolutely essential parts of the infrastructure, and directing funds into paying developers to work on the stuff that we need as the language to continue? Yeah. So that's a great question. And actually both of those things are in the work. So we're actually funding a core dev sprint that's happening in September in Menlo Park, and there's about 15 core devs gathering from all over the world, and they're going to be spending the week together working on some of the current issues. In terms of PyPI, that is top of our list right now. We actually just started a work group. So if anyone's interested, ask me later, and I can give you details on how to join. We're trying to decrease the bus factor increase the bus factor of one, which is currently Donald's stuff working for HPE, now it's called, yes, HPE, because he, so I'm not sure how many of you are familiar with what's going on, but he is hoarding the software to the warehouse software. So right now it's still using the PyPI software, and warehouse is not yet complete enough to have everything changed to it. So right now we're working on gaining resources, so we can launch the new warehouse by the end of this year actually. November, is there a goal? Yep. Yes. So the PSF, PyCon, and the Python core developers have traditionally been focused on Python as used as a systems language or web programming language. How can the PSF better serve the data science community, which seems to be a very big portion of Python users today? Well, so we do have the scientific Python work group. We do do a lot of funding when they do come in to help with that, and we do put aside a substantial amount of our budget to help with those grant requests. I guess the word to get out is, if you have a request, send it in. The worst thing that can happen is that we say no, but I doubt that that will happen. Wait till it turns red, there you go. Okay. My name is Jorge Martinez. I work in the Innovations and Data Science team at the UN. This is a comment for everyone in the room and for the foundation, and especially for the organizers of Py Gotham. I want to congratulate you for having roughly, I think, duplicated the participation to Py Gotham compared to last year and other years as well. So thank you for your super work. And also I wanted to congratulate everyone for being here and to say why it's so important that you're here and why it is so important that Python reaches all of those countries in gray on the map. And to do that, I will do that with an example. As you know, around the world, there are a lot of places without where people don't have electricity in their homes and it's hard to believe when we're here and we're in this hyper-connected world. In places, people don't have electricity to keep their food fresh or to study and that really limits their capacity to have a fulfilling life. And one of the participants to the conference tomorrow, Monica Celia, who will present at 4 p.m. tomorrow, you should go to her talk, recently won a global challenge to reprogram a mathematical model in Python. This was written in another language and the challenge that we launched together with some universities and other UN agencies was to recode this to Python to make it run faster to open source it and to make it easily readable by any programmer in universities, in government offices, students, anyone around the world. So it was an open sourcing project and we chose Python because it was so accessible, free and easy to transfer to other people. And she won the challenge and this is only possible because she's writing on the shoulders of a great community like you that are developing software that is of course used for innovative companies but also it is used by a lot of data sciences that are doing humanities, social science that are actually changing the world. So my point is that you being here, you are actually changing the world. This is not a cliche. You are making things that can be used for powerful things, very important things. So thank you all and we hope you come back next year. We hope that you come back next year and we hope that the UN can help you extend the reach of Python and making it available in every one of those great countries. So thank you very much to everyone. Wow. There's a lot of times where I'm kind of upset that people don't stand up and actually ask a question. Instead just give a statement. That was fantastic though. Great, any other questions? Real quick, maybe one last one. Nope, okay great. We've got about 15 minutes potty break until the party starts upstairs. Okay, James has one last question. I have one last question. Where the party at? The party is upstairs.