 Before I go I go further let me first introduce all of you here We're going. I'm sure we're going to be spending time together throughout these two two days So I think it's good for all of us to get to know each other better I'm pretty sure all of you here use Python some ways. Maybe not directly. Maybe directly But I'm sure your life was affected by Python. For example, if you use Instagram you use Python and many of you here Attending a Python conference you are all a member of Python community Thank you for that and I know some of you here Go to next step and actually contribute to open source and that's great. Thank you for your contributions And now yes, I am who am I? I'm really really busy. I am But I'm here to talk about a hobby a hobby a Volunteer activity that seems to take my life I'm a Python core developer, but I also involve in other things. I I have a day job. I work at Zapier I'm on Twitter. You can find me Marietta I've been helping with my ladies Vancouver and I also help organize the pie cascades conference I'm from Canada by the way, so you hear me say sorry a lot And I I have two kids I'm a I'm a family member I'm really busy But here today I'm talking about Python core developer a Lot of people don't even know what what it is really Some of core developers don't know how to explain this to you. So what is a Python core developer? I'm going to use this diagram to help illustrate my journey so far. I Started as a user. I used Python at work and after several years. I Wanted to be more involved in the community. I started going to conferences Go to meet ups and I started to meet more members of the community and I started feeling like I'm I'm part of this community And then eventually I became interested to contribute to give back so I started contributing to Python and After about several months in January 2017 I was given the commit right to see Python so then I become a core Python developer so that's the core thing and for a long of four More than 20 years We used to have BDFL up there as our leader But perhaps you've heard that he gave himself a Vacation but permanent vacation from being a BDFL. So we don't have a BDFL That leaves the core developers as the leaders So this is how I've seen my journey has been Technically speaking Core developers are the people who have commit right to see Python. That's that's the only technical details You can commit to see Python Today there are 93 people with such permission in the whole world Now it comes with several perks It's kind of nice In the bug tracker, that's a little the PSF logo next to my name. It's kind of cool. I Get to go to the language summit at Python. I Get to go to core sprint once a year for one week. I get to Leave my work with my family to devote to Python to sprint It's cool But it comes with a lot of responsibilities Like when when you were given that commit, right? You have to be responsible to all of these repos Not just see Python, but the death guide the pubs bots and everything you will be expected to subscribe to a lot of mailing lists and Respond like people will write to this and there's really You you as core developers you have more to say here you have to decide you have to provide your input And that's a lot of mailing list. I Got thousands of emails and I had to learn how to filter or Some of this I just mark as red automatically I don't know how to manage a mailing list On top of that we started Experimenting with new communication channels. We now have this course. This just started Right after the sprint in September. So that's new check it out and for chatting We started using zealot so you can come to Python zealot shop dot com But these are all limited to core Python development. So it's not chat about random things Core Python development not about how to use Python. It's different. A lot of people made that mistake. It's different There's a lot more responsibilities to this like People will expect you to review their pull requests. I Checked yesterday. We have 900 more than 900 open pull requests and You're going to have to Reject them or That's a missing zero. We've closed more than 9,000 so far you have to accept or reject them and Not some people aren't happy when you reject them. So you have to face the consequence and it's not always nice and You'll be expected to help contributors to contribute like you there's no one else who can help other people contribute to Python other than the core developers and Because of that You you get to become the representative of Python so to speak It's a lot of responsibilities And using my slide of perks, there's only one little slides so There's something to think about Now since I became a core developer Everybody has lots and lots of questions about it I've prepared this talk to answer all the most frequently asked questions The first is question from many many users How do I become a core developers? They started using Python. They think well, this is sounds cool. I want to be a core developer This is a really difficult concept to explain in fact, and that's why I have this 45 minutes talk just to talk about I I can't talk this over, you know, if you just talking in the hallway It's it's it's complicated But let's break this up Let's start with how can you be a member of the community? There are lots of ways Help out at your local meet-up I've been to a lot of meet-ups. I met many meet-up organizers They're always always always looking for the speakers Don't wait until they invite you just say hey, I I use Python at work. I want to talk to about it I want to share my knowledge just reach out If there's no meet-up in your area, you can always start one. It doesn't have to be big It can start with, you know, three people meeting at library just chatting just be Create a community build your own community Or if you don't like To meet people in person. That's fine. I I know that some of us are introverted. I understand How will you write blocks about your favorite Python library? Be excited about it. Let more people know about it Volunteer at conferences. Those are great ways to be involved and When you When you interact with other members of the community you always have to be open considerate and respectful That is the PSS code of conduct now. We now we know how to become a community member People start asking How do I contribute to open source? um, I had the same questions and it's It's not Obvious, but I think the first thing you you need to do is to get to know The maintainers and to do that you need to join the communication channels That's where they will discuss the projects features and everything and most Large projects have their own mailing list. They have IRC get a slack. Every project has their own way to communicate You can contribute by reporting box. It doesn't always have to be code or Or you can propose improvements You write the documentation. I found documentation is the one great way to to contribute Help review pull request. You can do this. You do not need to wait for the maintainers to review pull request make it easy for them help them review and offer your opinion and again always try to be open considerate and respectful now a Lot of time after I said this how to contribute to open source Some people said I just want to write code. I don't want to write documentation Okay, I guess people really have this specific desire to just write code. I Understand but all programmers you want to write code Sure and it's it's actually more complicated, but you it's still required to first Read how to contribute Every projects will have this contribution guideline You still need to understand their workflow and you first need to read the code base study it and Then you can start working on an issue and propose pull request It sounds easy now Not because I'm a core developer people are asking. Okay, specifically How do I contribute code to see Python? It's pretty much the same thing you read the dev guide the contributor of Thailand We also have Python core mentorship mailing list to help you Contribute if you have questions on how to contribute. It's a private mailing list It's not open. So you have to be a member in order to read the archives and Then you're going to have to find an issue in our bug tracker and just Write code and propose pull request Sounds easy and simple but This is still the most asked questions. I receive I see this And Zulep I see this in the mailing list. I don't know what issue to work on Well, this is how I do it. I Watch the repository Not everything will be interest of me So I just have to keep watching and find an issue. That's that I find interesting and start working on it I'm At this point then people start saying like Okay, why don't since you've been watching this repository? Why don't you find me an issue? Okay, let me follow the issues again Research an issue for you and then ask if you're interested This doesn't work actually. I I tried doing this and it was a lot of work. I Didn't feel it was successful For me to find people issues to work on I don't know what they like It's not any easier for me So you're I think this is a skill you're going to have to learn learning the code base learning from the project and Find an issue to work on Now some people started asking like well, how do I contribute like they want to know examples for expiration of My contributions to open source. I Really fixed a lot of typos really This is one of my first Contribution to open source a one word change and And I'm kind of embarrassed to admit this but about two years ago. I had no idea how to install anything I had to look up. I googled like how do we install pilot and I came to this instruction peep install peep in pilots documentation and I thought this feels wrong but I tried it I Didn't know I was a complete newbie, but It made me realize Many documentations are not perfect And I I've been contributing mostly to documentation. I I really fix a lot of typos like this Yes, so I started with not see Python. I started with the developer's guide I helped improve some of the instruction on how to Clone see Python how to set up your environment. I wrote the kid bootcamp for people who never use get before on how to how git is used in see Python and Then I became interested in the workflow issues. So I started writing more bots So I write fairly little code to see Python itself. I made bots that write codes to see Python So that's miss is LinkedIn last month the bot made more than 100 pull requests and It earned the hack double-teacher before me And I try to participate in mailing list I try to answer your questions help you contribute and I Love to be the one To congratulate you on very first pull request to see Python So I try to look for pull request made by first line contributors And I've been working mostly on other workflow issues like how to improve the CLA signing process I'm still working on it and I'm starting a new project for called orbit it's still in the early stages and I try to contribute to tools that I use and love Like I've contributed to Kola warehouse a lot of other things kitchen have AIO ATP My suggestion is look at your dependencies. Look at your requirements TXT I'm sure you can contribute back to those projects now at this time now we know how to How to contribute to open source This is still The most asked questions Every day I receive this question, please When will you review my pull request to see Python? I'm sorry. I'm really really sorry There's just too many pull requests. This is statistics for one year's worth of Since see Python moves to github In one year we receive six thousand pull requests Today there are more than 10,000 already Cordes are Greatly outnumbered as I said, there are 93 people who can merge your pull request Only half of them are still active Meanwhile, there are hundreds of you So I'm I'm really really sorry. We We don't have time. I'm sorry that we can't review everything And a lot of things the reason we didn't review it because it's just not our expertise See Python is 27 years old It's huge Nobody knows everything some people knows a Certain things and a lot of time is just I'm really sorry to Say this I don't want to hurt people's feeling but we didn't ask for the change But you went in and made a pull request anyway because you think you want it Not necessarily I wanted to and Since I'm the one who will end up Maintaining it for a long time Sometimes I just have to say I'm sorry. I Don't want the burden to maintain this little change. I Have to reject it Sometimes I don't have the heart to say I don't care about this project this pull request. So I ignored it I'm sorry But it's true and again Sometimes I just feel the consequence because a lot of people might not agree with my decision. I worry that if I Made my own decision and people are unhappy. They're going to Talk badly on Twitter and everything. I don't want it. So it's easier. It's easier for me to Not look at your pull request and silently Say no to myself and hope another core developers will pick it up. So these are the reasons I'm sorry Now back to that big question like what is a core developer? How do you become one and it is? It was a hard concept to explain But we've broken it up we've Gone through the journey of how from a user becoming a member how you can contribute Now we can ask about once you started contributing how you can be a core developer We really just have one big question like Can we trust you? Because when we give you this commit bit You're going to be responsible for the programming language used by seven million people and counting You have to be willing To accept responsibilities And Really has a lot of responsibilities. We really expect you to stay around after you become core developers and continue Contributing and help us with all those pull requests and help us on board even more core developers and You still always always have to be open considerate and respectful Basically, you still need to abide to the PSS code of conduct. You're not immune from it This is also very frequently asked question. How did Marietta become a Python core developer and I'm I'm sorry. It's not that I want to be rude, but I really have answered this many times I'm going to point you to some of the interviews are given But I feel lucky that's all I feel lucky, but I've written more In one of these interviews you can read them. How much time do you spend contributing? Way too much time then I'm willing to admit at least an hour a day. That's what I'm willing to admit And I I realize I've started contributing too much I'm spending too much time in open source that I've started neglecting my real life So in the past two months, I've been Off it in order to balance myself So I've been off open source for the past two months Also very frequently asked question. Am I getting paid to be core developer? Is this a trick question? I don't We're all volunteers Again, like how how do I balance all of this all of my life being a core developer being a parent How with conferences meetups and working? I Really don't know I Think people ask me because they thought I have it all figured out and balance and I I Don't know how to balance myself. In fact, I Overloaded myself. I Got burned out The reason I had to take two months off was I got burned out I had anxieties from Open source community not from work not from family from my hobby. I started have Started become depressed and Eventually, I I had a mental breakdown. So Not only I haven't been Contributing to open source for the past two months For the whole month of October. I didn't go to work. I Could not function as a person. I don't know how other people do this. I would like to hear How this is a new frequently quest questions Ask to all core developers Who will replace Guido? Since he took a permanent vacation Okay Guido's still around. Okay, he's he's not a BDFL meaning he doesn't Decide on peps anymore, but he's still around. I thought he's not doomed He's still around and there are lots of us here But he left this task to core developers to figure out how we will move forward and We've been discussing it. We've been discussing this for months now There are now several governance pups Regarding how we will move forward They're all numbered 8,000 and up. So pap 8,000 is an overview of The state of things But 8,001 is the path for about voting process how core developers will vote on the government governance models and and pap 8,002 is An informational pap it it it has information of how other communities are The governance of all other communities. So we look at rough. We look at Django. We look at other project Jupiter We're trying to learn from them So at the moment there are Six pups of seven pups now six official ones on Several core developers have written these proposals on what governance model we should use pap 8 8,010 Proposals, let's have another BDFL that's written by Barry Warsaw Pap 8,011. That's I wrote that pop How about instead of a BDFL we have three people and there are other pups like 8,012 it's what about instead of leaders there are communities that are work groups and so on 8,013 is about Steve Dower wrote this He probably can't tell more about it that there is some external governance and 8,014 1516 is still just came yesterday morning. It's still in the pull request is not yet live So I haven't had chance to read that yet But these are the state of things if you're curious read up on that pop on those pups The goal is to vote on one of those by end of this month And by end of November and hopefully we we plan to settle all of this by end of the year so early January 2019 you should hear back of How Python will be governed going forward Okay This is a question. I ask myself every day How can we improve the diversity in core Python team to help you understand why I'm asking this Look at our community. I feel Our users are pretty diverse. We have really diverse community. I Go to conferences. I go to meetups. I see People of all kinds This community really is pretty diverse, but the contributors to see Python for that one year Close to 900 contributors Less than 10 are women and out of 93 core developers right now For the longest time there were no women at all And today there are only four our community we pride ourselves for being open diverse and inclusive But at the top it's not yet diverse The core team is not yet a true Representation of our community And I think it's a problem So I find it it's a difficult topic and I started Wanting to change this question like how about not think about how to improve What are the barriers? Why are there? Hundreds of men able to contribute to see Python and Women did not and I think back to when I first started and I I don't like to admit it, but I face barriers Not technical barriers. It's not that I don't know how to code. It's not that I don't know how to use Good there are a lot of mental barriers for example, and I'm sorry if This portion is going to make you feel uncomfortable But you have to admit The majority of you Probably never have to face these types of barriers But the minorities Have to deal with this for as long as they've been here intact the majority of you probably don't know what a big Hurder it is that you don't have raw models people who look like you When you don't see people who look like yourself in the community You started feeling like you don't belong and That's stopping you from contributing. It is still true that There is There is imbalance It is still true. The minorities are getting paid less Getting promoted less if I'm still if women and minorities Still have to work harder in their paid job Why would they have time Contributing open source to open source for free These are barriers. I Can't fix this. I can't fix any of this. I do not have I'm not in a position To pay people more or to pay people to contributing But I'm hoping you as the community You see these problems Maybe you can work better in your own organization be more supportive of The minorities and understand There are problems Now I've said I can't fix any of this But as core developers we can do some things to help we can help lower the barriers not all of them our efforts to Help lower the barriers we some core developers have provided office hours to make it easier for you to contribute They're available to help you answer questions Some of the office hours are posted on the dev guide As mentioned we do have the mentorship mailing list that's the place if you need help from core developers on top of that several core developers have Have been More specific and said they are willing to provide one-on-one mentorship Only to minorities it started by Guido himself Who said on his keynote at bike on several years ago? Well, he will mentor personally Only women and since then several core developers are following in his footsteps We're also trying to improve the code of conduct Several core developers have joined the PSS code of conduct working group and Trying to really make it better if you go to the PSS code of conduct right now you see Be open be considerate be respectful, but there was no clear process like What happens if I see? Violations are their consequences and everything that's still it's not there and it it needs to be there So we're working on this several peps in the governance In the governor perhaps have What I call it the diversity class This is from my pep up 2011 I'm being explicit that we fully support the PSS diversity statement and we welcome participation from everyone pep 80 14 The council should be diverse but 80 15 It is important that the members of the committee reflect the diversity of the python's users and contributors I I Myself and Lukash Langa are the chairs of python language summit of 2019 and 2020 and when we met during the sprint We identify one problem to this event. It's been seen as exclusionary invitation only For years there were no women at this event Both Lukash and I are working Figuring out some ideas on how to make it even more open and inclusive. I can We have ideas, but they're not yet confirmed. So we're working on it We're core developers are trying to improve diversity and We're going to need all your help on this But we're working on it. I know where we're better We're not yet completed the goal But we're working on it So, thank you so much. Um, I'm here around until tomorrow. I'm actually here till Tuesday people want to talk about Core developers about python. Um, you can follow me on Twitter. I Might talk more about f-strings though, but you can still talk about Python and contributing and um, you can always email me marry at python.org or check out my website So, thank you so much. Enjoy the rest of your conference Okay Thank you everybody, please one keep it going for our first chance you can marry at it as a token of our appreciation We have one of our wonderful north bay python branded camelback water bottles Camelback is a petal in the base business. So it's a kind of local thing Thank you so much. Thank you. Thank you Yeah