Ewa Jodlowska, the Python Software Foundation Executive Director, and Christopher Neugebauer, a current board member, discuss what the PSF is and does, what board directors do, and how you can be part of the exciting mission of the PSF.


Transcript for episode 114 of the Test & Code Podcast

This transcript starts as an auto generated transcript.
PRs welcome if you want to help fix any errors.


00:00:00 The mission of the Python Software Foundation is to promote, protect, and advance the Python programming language and to support and facilitate the growth of a diverse and international community of Python programmers. That is a lot of responsibility.

00:00:13 And to that end.

00:00:14 The Psf board directors help out quite a bit. If you want to be a part of the board, you can actually there’s an election coming up right around the corner, and you’ve got to get your nomination in by May 31. You can also join the Psf if you want to vote for who gets to be a part of the board. But what does it really mean to be on the board, and what are some of the things that Psf does to help answer those questions? I’ve got the Psf executive director, Eva, and a current board member, Chris, on the show today. I’ve also got some great links in the show notes. If we don’t answer your questions and you want to find out more, this episode of Testing Code is brought to you by PyCharm. Save time, use PyCharm and by listeners like you who support the show through Patreon.

00:01:09 Welcome to Testingcode because software engineering should include more tests.

00:01:17 Welcome to Test and Code. Today’s episode, I’ve got Eva and Chris, there was an announcement recently that the Psf is accepting nominations for new people to be on the board. I thought this would be a great time to talk about that and also what the Psf does and what the board does. Can both of you introduce yourself?

00:01:37 Sure. So my name is Eva Jadowska, and I am the executive director of the Python Software Foundation. So I am one of seven paid people that help the Psf accomplish its mission.

00:01:51 Okay. So there are seven paid people, but the Psf altogether is larger than that, right?

00:01:56 Yeah, it’s much larger. So Chris is one of the eleven at large directors, and then we also have the help of a general counsel as another director. And so with me, there’s 13 of those. And then we have hundreds of volunteers that help us either accomplish Python or write blogs or contribute to work groups. So it is a vast effort.

00:02:22 Okay.

00:02:23 And Chris?

00:02:24 Yeah. Hi, I’m Christopher Noryervauer.

00:02:27 I am a board director of the Python Software Foundation and have been since 2018 after my second attempt at running for the board.

00:02:37 Before that, I served on the Foundation’s grants working group. And outside of the Psf, I’m involved in the North Bay Python conference and have done various bits for Python Australia over the years as well.

00:02:53 Both of you mentioned the board and directors. Is that the same thing?

00:02:57 Are the directors that are not part of the board?

00:03:00 So there are no directors that are not part of the board, if that makes sense. Maybe there are too many negatives in that sentence.

00:03:07 Okay.

00:03:09 Our board is the group of directors.

00:03:11 Yeah.

00:03:12 Okay.

00:03:12 Kind of. What does the Psf do?

00:03:14 Yeah. I mean, we do a lot. I guess it’s hard to have one sentence that details at all. But in essence, my five second pitch is the Psf is the support behind Python and its community. So we try to support the community in a variety of ways, either through infrastructure support. So Python.org where the downloads come from Ppi.org, a lot of mail servers and mail lists come from that, as well as producing PyCon, which didn’t happen in person this year. But we did put on an online Python, at least.

00:03:56 And then obviously, we do a lot of other things, like our grant program, which is currently paused. But we’re working on ways to revamp that into a more virtual setting, as well as fiscal sponsorship. So we provide a home for projects that align with our mission, and they get to pretty much accept donations and tax exempt donations, I guess is the best way to phrase that. And then we help them with accounting processes and legal input when necessary. So those are some of the things that we do. Obviously, it’s a bit of in a shift in the limbo right now in current times, but.

00:04:41 Yeah. Chris, do you think I missed anything major there?

00:04:45 I was just going to say our fiscal sponsor projects can be everything from events we’re the financial home of the Pie Cascades Conference up in the Pacific Northwest through to actual software projects and development projects like the Pallets Project.

00:05:03 All right. Yeah. So I did notice that when the Pallets Project asks for donations, they say it goes through the Psf. So that it’s a nonprofit donation or something.

00:05:15 That’s one of the more useful services that we can offer.

00:05:19 Giving a place to accept donations for projects in the Python community.

00:05:23 Well, one of the things that you also do and I think this is included in what you said was we’ve started a Python meetup in the west of Portland, and it’s on pause. Also, because of current restrictions, the Psf has agreed to pay my meetup fees, which is nice.

00:05:45 That’s awesome.

00:05:46 Obviously, the covered 19 stuff is thrown a wrinkle in everybody’s lives and the income lost from Python must be problematic, right?

00:05:57 It’s definitely had an impact.

00:06:00 It could have been worse. So knock on wood.

00:06:04 We’ve had support of a lot of great organizations that accepted digital sponsorship benefits in lieu of the in person event. So for Python online, we’re able to retain about 60% of those sponsorships.

00:06:21 And we’ve received over $100,000 in donations from converted registration fees from Python.

00:06:28 So we’ve seen tremendous generosity from the community on that front.

00:06:33 Okay. How does the board help with the Psf?

00:06:36 If somebody wanted to be part of the board, what does that mean?

00:06:40 The board is a group of volunteers, mostly with the exception of Eva and our general counsel, Van Lenberg.

00:06:50 Our job is to help set the direction of the organization so the staff can go and do what’s best for the community.

00:06:58 And what that means is that we need a really wide variety of perspectives from throughout the global Python community so that we can give the staff the best advice that they can when they need to go and do things. And that advice can go everywhere from setting high level policy to providing feedback on things that the staff do. And normally that goes through Eva specifically. So the board communicates through Eva, but it can work more directly with other staff. For example, there’s a board committee that I’m on that works on setting the direction for the Python US conference, and we work with the Psf event staff to do that. So we can provide community feedback on how Python runs.

00:07:47 The Python thing is kind of a group on itself, right?

00:07:51 Yes. So we have the Python chair who has been a volunteer from the community.

00:08:00 That changes every time Python moves to a different city. The board committee is a new one this year. It consists of a few board members with a particular interest in running events, as well as the staff who do the event management for Python. And we were able to meet on a regular basis. In fact, we had our month meeting this morning just before this. So I guess that’s why it’s fresh in my mind.

00:08:25 Okay, so you meet once a month.

00:08:28 Once a month around Python, every two months sort of less imminent.

00:08:34 And are these remote meetings, or are they something that you have to fly to?

00:08:39 So for the board, we have regular meetings that are done via phone conference or video conference if you want to have your camera on twice a year when we’re actually able to travel. So things are obviously a bit different now. But twice a year we try to have in person meetings of the entire board so that we can sit down face to face and argue in a slightly more productive setting than just by a phone with delays that inevitably come with that.

00:09:12 Obviously, this year has been a bit interesting because we weren’t able to travel to Python, which is where one of our face to face board meetings would have been. But had Python face to face event, we would have had a board meeting sometime during the Pikon week.

00:09:28 Okay.

00:09:29 And how long have you been on the board?

00:09:32 I joined the board in June of 2018, so I guess two years through my current three year term.

00:09:41 I ran for the board in 2017 as well. On my first try, I just missed out. That year was a pretty competitive year. Second year, I just scraped through.

00:09:53 It does pay to run more than once. If you don’t get through this time, it can help you build your profile next time.

00:10:00 Okay. There’s a few openings this year, then, right?

00:10:04 There’s four openings, and that means that there are four directors whose terms expire at the time of the election, three of the four have definitely signaled that they’re not going to be running this year.

00:10:19 I think our fourth was undecided last time we spoke. So there is at least three clear openings where it’s not entirely clear who will get those seats.

00:10:35 There is a possibility that somebody could be in a situation where they’re pretty sure that they could serve for three years. But life happens. So if you have to step down for some reason, that’s a possibility, right?

00:10:47 Yeah, it is. And we actually have had that situation happen. And one of the people that is ending their term right now jumped in to fill a three year term.

00:10:59 So they just fulfilled that one year. And that’s why we have that fourth seat open. So absolutely, life does come up and we totally get it.

00:11:10 Thank you Pie Charm for sponsoring this episode. I use PyCharm with a Vim plugin, so to me it feels like a lightweight text editor, but with features that make editing so much easier, like code completion, Sigma highlighting Linting amazing code navigation and Get integration, and with the great IDE features ready when I need them, like Debugging, Refactoring, Profiling and testing. The built in profiling is one of the many bonuses you get when you upgrade to PyCharm Pro. There are also some really cool tools bundled with PyCharm Pro, like Data Grip. Data Grip is an amazing idea for databases and remote databases and it really has saved me tons of time. And Webstorm, which is for client side editing of HTML, CSS, JavaScript and loads of frameworks like React. Pycharm is the simple and elegant I need. Every minute I’m editing code and then Super Powers ready when I need them. Pycharm community is here for everybody, but really I wish you would try PyCharm Pro. It’s free for four months by going to Test And Code PyCharm SaveTime use PyCharm.

00:12:19 Is it fun to be on the board?

00:12:20 It’s certainly rewarding.

00:12:22 Okay, so not always fun.

00:12:24 It’s not always fun. Sometimes difficult things come up, like when the covert situation came up, which is obviously the big pressing thing that’s taking everyone’s attention at the moment. I think pretty much all of the board’s time and a lot of Eva’s time was spent sort of figuring out the logistics of whether we were going to cancel. And then once we decided we were going to cancel, how we would approach that. And Python is a huge amount of the PSF’s revenue, and so when you’re focusing on the sustainability of the organization into the future, that can be stressful. But not all of our decisions are that difficult for me.

00:13:06 The rewarding things that I do. I’ve served on the Grants committee, which or the Grants Working group rather. And since that started up, we’ve gone from spending money on a few Python regional sponsorships throughout the world through to bootstrapping this remarkable ecosystem of Pilates workshops and other educational opportunities. In Africa and the developing world, and being able to deliver an outsized impact on people that really need the help and can really use the opportunity has been great.

00:13:47 It’s not necessarily fun work. I derive a lot of satisfaction from helping the Python community grow.

00:13:56 Okay, cool. So one of the things that I skipped over that we should go back to a little bit was when are the elections and what’s that process like?

00:14:07 So nominations are open right now through May 31, and we follow the AOE time zone. So anywhere on Earth where it’s still May 31, nominations are open.

00:14:19 And then what we do is we take a week to get the nominations together and get the ballots together, and we send out the ballots to our voting members. So for anyone that’s a voting member, contributing, that would be a contributing member, managing member, supporting member, or a fellow, only basic members do not have voting ability.

00:14:45 And we had created a Bitly link, so I’m going to say it so it’s bitlypsflect, and that will take you to the page where you can submit your nomination, as well as an overview of pretty much everything that we’ve touched on.

00:15:04 Eva, would it help to go over the types of members who can vote and what you need to do in order to achieve that sort of membership?

00:15:12 Yeah, I think that’s a great point. So through the various levels, we have Basic, which unfortunately does not have the ability to vote, but that pretty much just allows people to put down their name in support of our mission. So it doesn’t really come with a lot of benefits, but it just says, I believe in what the Psf does, and then we have contributing and managing members. So those are people that maybe put in time to run projects, help with PR, things like that, or organize events, whether it be virtual now or past in person events, things like that.

00:15:52 And then we also have supporting members, which is the only paid tier of membership that we have. And it’s $99 a year. And the last one is fellow. I like to call that the top tier membership, and that is done through nominations to our fellow work group. So if someone knows of a community member that feels that they deserve that recognition, the email the fellow work group and we review those and vote on them quarterly.

00:16:23 So if you want to vote in the Psf election coming up, to summarize, you can either spend $99 a year and become a supporting member, or if you spend a non negligible amount of time working on supporting the Python community, either through contributing to open source code projects or by running meetups or other events for a measurable amount of time every year. And it’s up to you to certify what that means. I think we have a guideline, but we’re not too strict on that, which you can sign up for contributing or managing membership.

00:17:00 Okay.

00:17:01 That’s to vote and that’s to vote. Yes.

00:17:03 Do you have to fit into one of those categories to be nominated?

00:17:08 No. Does it help to be a member? Yeah, I think it does because it just shows the additional work that you’ve done in the community, but it’s not required. We don’t have any requirements, but it does help for someone to be contributing to some part in our community.

00:17:28 Okay.

00:17:29 Yeah, makes sense. Yeah. What else? What sort of things are coming up that the Psf and the board are going to try to solve?

00:17:37 It’s been interesting. I think financial sustainability has been a thing that the board has been focusing on a lot for the last couple of years. So for people who are at Python us last year who saw Russell Keith McGee’s keynote, there was a lot of it was a big talking point that Python is sort of tenuously supported in terms of making sure money and support gets to the people who are developing open source code that underpins our languages ecosystem.

00:18:15 And so we’ve been trying to figure out how it is that we can do a better job of supporting the people who develop the code that underpins our community.

00:18:26 And that’s been something worth being focusing on and the sustainability of the organization so that we can go and provide that support to other people sort of fits handing gloves.

00:18:39 So as Python has sort of its revenue and has disappeared to some extent over the last few months, having that discussion of where we can find support from the community and make sure that it gets to the right people is basically the most important discussion we’re having. And so it’s both where we find the money and then how we can direct it to the people who need it.

00:19:08 The supporting member of $100 a year. I mean, I definitely know that I get $100 for the value out of Python a year. So that seems like a no brainer. And for a lot of people, that might be a way for people to just help with the state of sustainability, because it does sound like there’s a lot of cool work going on with supporting groups around the world. How much of the funding of Pi comes from the Psf?

00:19:31 Yeah, Pi has a variety of grants that it received in the last few years. It all started with the rewrite of the codebase, which was called Warehouse at that time, and we received actually it was one of the first of any kind that the Psf has received a grant to do specific work. So it was money given to us to specifically accomplish that work so we can’t use it for anything else.

00:19:58 And that kind of created a snowball effect where they received two or three other grants to do specific work. So the Packaging Work group, which is a work group of the Psf, helps kind of oversee that work and find contractors that help us fulfill those grants that happen. But some of them are also for Pip, not specifically PPI.

00:20:22 Okay. And when we say things like work group, is that a work group of board members or just a work group of Psf people?

00:20:34 So it’s a mix of both in an ideal situation. So usually it’s volunteers that are passionate about the topic and are really involved, sometimes also Psf staff. So, for example, I help chair the grants work group.

00:20:50 Ernest, our director of infrastructure, helps with the packaging work group, and then ideally we would have a board liaison, which is something we’re also discussing internally in each work group that kind of makes sure there’s board oversight and everything that the worker does.

00:21:09 Okay. Was there any part of the Psf that recommended that Ernest be the person to designate it to make us all feel like we’re not exercising enough?

00:21:23 Ernest takes a lot of things on himself, and I think that’s one of them.

00:21:27 Yeah. Anyway, I enjoy watching, like, watching his biking adventures.

00:21:32 And I think he just picked up a new one today, so it’s perfect timing.

00:21:36 Yeah. Okay. So we better get this episode out early. If the elections are just right at the end of the month here so people can sign up, we’re going to leave a link again, it’s a bit lypsflect, but I’ll leave a link in the show notes also.

00:21:54 Okay. So the funding thing is certainly something that probably always needs to be figured out. Are there other types of concerns or activities that are kind of exciting that are going to come up in the next couple of years?

00:22:08 Well, I think Python 2021 is going to be an exciting maybe not in the same kind of exciting as you might mean, but it’ll be an exciting thing to tackle.

00:22:20 We’re kind of planning for a hybrid event at this point because there’s so many unknowns that we don’t know what’s going to happen for the first two quarters of 2021 to say that we’re going to have a full blown event, so we’re definitely kind of watching to see how things develop.

00:22:39 Okay. So is it planned for May or around that time?

00:22:42 Yeah, it’s usually around that time. We try to book within, I would say March, April, May, and no later than that. So for 2021, it will be in May.

00:22:54 Okay.

00:22:55 Yeah.

00:22:56 Because we really don’t know what the state of the country is going to be even that far out.

00:23:01 It’s been an interesting experience watching a large event organization try to figure out what it is that we do with this large event that makes us a lot of money every year.

00:23:13 The Psf doesn’t direct the language direction, is that correct?

00:23:17 The role of the Psf in the language is to hold the Copyright of the language and the trademarks of it. The steering committee, which basically replaced Guido as the people who set the strategic direction of the language, sets the strategic direction of the language.

00:23:34 We don’t have a formalized relationship between the two, but we try to work closely with them in order to make sure that there are goals that we can achieve for them or help them achieve that we do that.

00:23:47 Okay. I was reading a lot about codes of conduct recently, and there’s some relationship to code of conduct reinforcement that the Psf holds. Is that correct?

00:23:56 This has been an area that I spent a lot of time on last year, so I can talk about it. We have had an organizational code of conduct for a while, and Python US has had a code of conduct for a while.

00:24:09 A couple of years ago, the foundation started a code of conduct work group, which has been running for a couple of years now, whose job is to basically look after all the spaces that the Psf maintains, such as our online spaces, such as the conferences that we oversee, and ensure that there’s sort of a consistent application of the code of conduct that the foundation has across all those spaces. And so we have a work group, which is a group of people who are not necessarily on the board but are empowered by the board to do that work for us. We have a few people from the board who are on that working group.

00:24:50 Is there something already in place? Are there plans to give direction if a new project says, Well, I don’t really know what to do with this code of conduct or a code of conduct enforcement, how do I deal with that? Is there a direction from either the board or the Psf or anything?

00:25:05 So it really depends on how the project is organized. If the project is run by the Psf, then the code of conduct work group that we have provided the enforcement and training for how to obey a code of conduct within a project.

00:25:25 In the case of things that aren’t directly organized under the Psf, that’s not under our control per se. But there are places where we like to make sure that codes of conduct are in place. So if you want to get a grant from the Psf, if our grants program were up and running at the moment, one of the requirements that we have is that you have a code of conduct if you want a Psf grant. In terms of projects that are looking to adopt a code of conduct, we don’t have the same level of support for that, but I’m sure we can provide advice or the conduct work group can provide advice where it’s necessary, but the enforcement is not something that we would be doing. One of the things that just passed my mind is that we have worked with a code of conduct training organization in the past and have provided grants to groups that want to take part in formal code of conduct enforcement training, which is something that we’ve made available to other Python conferences throughout the world.

00:26:33 And that’s been something that’s been well received, and that’s even for small just starting out conferences.

00:26:38 Okay.

00:26:39 One question I want to make sure that I get in before we wrap it up is on the board of directors, somebody were to get nominated and actually get voted in. What are they looking at? How much time are they going to be spending on this activity?

00:26:54 So the board communicates primarily via mailing list. We also have slack and the level of activity of that sort of waxes and wanes throughout the year. So as we approach board meetings and there’s a business that we need to get sorted out before a board meeting happens, there’s slightly more activity than in the middle of that cycle when things aren’t quite as urgent, then we have the meetings, which are every two months at the moment, and they go for 90 minutes every two months. So there’s basically that and doing enough work to make sure that the business of the board, as it turns out, is taken care of. And so that can involve a small number of hours every week. There are some times when it can take more, can take substantially more, but it’s not it’s never a huge commitment for me.

00:27:57 Okay.

00:27:57 And it sounds like a lot of it can be done asynchronously so it doesn’t have to be at certain times. You can sort of fit it into the rest of your life.

00:28:06 Yeah. I think most of the work that we do is asynchronous we have the board meetings, which are regular and those are done by phone, and we talk during those. But for the time between that, it’s very rare that we’re meeting as a group and talking synchronously. Everything’s done online, like many open source projects are, or many online communities are. So it’s not hard to keep up with it, regardless of sort of the immediacy of your time commitments.

00:28:35 Yeah. I think it might also be worth pointing out that the online portion of the communication is helpful when we have directors in time zones that vary across the world, and we want to accommodate that as much as we can.

00:28:50 Yes. The in person board meetings and the phone calls kind of make that difficult. But any kind of decisions that we act on, we always try to leave a day or two so everyone around the world has a time to catch up on reading and answering at their convenience.

00:29:04 Nice.

00:29:05 Okay. So I’m sure I forgot some sort of important question. So if people want to know more information about the board or the Psf, where would they go to find that?

00:29:16 So I created a Bitly.

00:29:20 Python has been using discourse lately, especially the packaging folks, and I created a discourse category for the elections where we posted some resources. So Bitlypsfdiscus will take you to some resources that includes a Wiki of a rundown of our responsibilities as well as a fun video that a few of us did a couple of weeks back kind of outlining some of the tasks that board directors do.

00:29:46 Okay wonderful. Well, I want to thank both of you for coming on the show of course but also for all of the work you’ve done for Python. I very much appreciate it.

00:29:57 Thank you, Brian. Thanks, Brian for having me.

00:29:59 My pleasure.

00:30:03 Thank you Eva and Chris, I’m excited about the future of Python and the future of the psf and I hope some of our listeners will check out the info about the board and try to become part of it. Thank you Patriot supporters really amazing to get this community support and it means a lot and helps a lot join them by going to testincode.com support. Thank you Pie Charm for sponsoring this episode. The link for the extended pro trial is at testandcode.com PyCharm that link is also in our show. Notes at testandcode.com 1114 that’s all for now. Now go out and test something.