 I'm going to be speaking about empowering the next generation of open source developers today It's a bath session. So you're welcome to participate ask questions It's intended to be a more of a conversation and discussion. My name is Shoa Khan I am a Colonel maintenance fellow at the Linux Foundation and One of the things I do at the Linux foundations is overseeing the mentorship program So let's talk about Open source For a little bit. It's no secret that open sort of runs the world, right? I mean, we all know your phones run it technology media financial health care Telecommunications agricultural travel we can't do anything without really open source and you you can just name everything So AI is emerging also. So we'll be seeing more of that So, let's see who does this open source. I mean without people there is nothing that happens So who is who in open source communities? As we all know code doesn't write itself Maybe not yet. Anyway, so AI might come along and write code, but we're not there yet so you will see Various players in any open source community maintainers developers legal experts community builders Educators and more importantly all the users Let's talk a little bit about we understand open source pretty much runs everything so we know it's vital for our existence and We know people make up of open source maintainers developers and all of them all of the People that keep the open source community is going So now let's look at what are the markers of healthy open source communities So they are they have to be sustainable open source healthy open source community is sustainable community That means that we have not only Active participation that we have a continued active participation With the people that are participating already. They are continuing to participate the experts and then we have new developers coming in to the Process and learning from experts and continuing the maintenance Development activities that are necessary for the project to go and another hallmark of Healthy communities is Being diverse diversity of thought Not necessarily I'm not talking about diversity in a sense of Diverse backgrounds that is that is included in this when I say diversity of thought comes in with the people from diverse backgrounds so that is a these are the markers of healthy communities in my opinion and So we are open source is Open source communities are Remote communities meaning people from various parts of the world participate in the community So we are truly brings the planet together we have people from different geographical locations and different languages and ethnicities participating in the community in general we have a Open source community participation tends to be diverse So let's look at what is diversity So diversity in an inclusivity means that everybody all the participants have a seat at the table and a Just having a seat is not enough Having a voice at the table. That means they feel like they can Voice their opinion they can participate in the conversation. They can and they their participation is received well and Third that's where the voice is being heard comes in they have to others at the table Listen to different viewpoints and then respect to different viewpoints and everybody at the table feels like They have a seat. They have a voice and they're being heard Let's look at a little bit about we talked about markers of healthy communities and now we are talking about what are the behaviors? welcoming to new developers Being inclusive We have done lots of inclusive language initiatives in the in the last couple three years and we have a court of conduct various projects adopted or court of conduct Being inclusive and also adaptable and flexible. This is one thing that we don't think about We as communities Linux kernel for example where I belong we have a way of doing things We receive patches on mailing lists and we take patches from the mailing list. We hold all of the discussions on mailing lists So this is where we as a community. We do listen to new people coming in and saying, you know what? email based Communication and taking patches development process it probably works for you But maybe we should look into new ways of doing things for example bug reporting We have various ways of reporting bugs and so we are flexible We we at least listen to people and say new ideas coming in and say when the new developers come in and say Man, I can't keep up with this email. At least we listen to the new ideas and being able to Refine and evolve tools, which is important because when you are bringing new generation of developers coming in They View things a little bit differently for me. I'm a command line person But maybe the new generation comes in and says I like that GUI dashboard looking at Bugs being reported quality reports that how many bills are happening. So we have to be flexible We have to be flexible and open to feedback so that we can We feel like again, why is it why is it that it seated the table? Why is it the table being heard? So we have to Listen to all the other ideas and another important aspect is mentoring because we have all the experts We have been doing things for a while new developers come in are they lost do they feel like they don't know where to start do they feel like This is overwhelming So we have to be Part of that we have to be mentoring as well. So communities do this now Mentoring is a part of a development process meaning when a new patch comes in maintainers look at it developers look at it They give feedback and say hey, this is not This can be improved or this can be refined and all of that happens as a part of the development process And then we engage developers communities engage on several ways chat channels IRC's and other forums and Forums like this as well when new developers come into The conferences like this you probably noticed ask export panels or speed mentoring We engage them in different ways, but this is all happening as part of the development process So let's look at whether these are effective. They are They are within the context of developing Development these are all passive measure measures if you look at them as a whole because we're not doing anything extra We are doing this is all part of our development process and we are saying okay, and we have come in a patch. We have a We have a vested interest in making sure the patch is good and it comes in and Whoever sent the patch is making changes the way we want it to make change all of this fits into our development process itself This is these are all of these passive measures are good for developers That are already engaged that already know how to contact us already know Where to reach us? They are not effective as a wider reach out for people that do not know Where to come and see us so let's look at I call this my Learning pyramid like the food pyramid So let's look at What is effective? So the bottom in my opinion is the is a Foundation layer with learning resources. We have to provide training courses Webinars blogs expert blogs explaining saying how does Linux? tracing work memories management system works and so on and various other things that forms the base and Then the second layer is mentorship programs where we Design mentors to pro programs where it can work for people at large meaning people that are maybe working full-time and Do want to make a career change? they Need a part-time pro participation or a flexible Participation that works for them. So the part time you are seeing on there on the slide is for that and Full-time mentorship programs say students Summer they're free. They have a lot of time to spend They can participate in on a full-time basis in any project that they want to learn open source project and It has to be open for all not just saying I'm only taking students or I'm only taking this This group of people so open for all meaning Anybody that wants to learn wants to advance advance or learn a different area they should be able to participate and and Programs can be paid or credit only because paying we Paying for mentorship is great right because we are Usually you don't get Education for free but whereas you're getting education and you're also getting compensated for learning So that's a great incentive. However, it doesn't work for everybody. Some people Especially when they are working for a company and they want to take mentorship With their free time in some cases, they cannot get paid so you have to have flexible programs where credit only programs and Having these programs on a continual basis in a spring summer fall Year after year helps people plan and take Plan as a whole and see what they want to do. Maybe spring is busy So they want to do it in summer or maybe their final fall students if you're talking about students Maybe the final semester of their right before graduation. They don't have a whole lot of course load They might be able to To spend a lot of time learning so that when they go off to do something else They will have that on their resume The top pyramid is top of the pyramid is connecting Mentorship showcases where the graduates can showcase their work and Access to experts at the events which we do you probably saw ask an expert events or Panels this afternoon. There are several experts sitting there talking to people that are coming in and asking questions and Diversity scholarships to events. So some of the some people that have come to this conference today They this attending this conference have Being offered diversity scholarships. That's how they were able to come and attend these attend these This conference and connect with the community and understand what's happening in the community So this is kind of my the way I say my pyramid learning pyramid all of these Components need to be in place for programs to be effective. We have a lot of different programs happening not that every single Company or every single entity that is providing these services have to provide all of them but they have to keep in mind that This is this kind of structure of making resources available and Initially for self-learning and then coming in and saying we have these mentorship programs that you can come and participate learn a particular technology area and then Having the third layer of Making sure that once they graduate they have connections mentors and maintainers Developers hold up that pyramid Really providing all of these who is generating all these all these learning resources training courses webinars blogs you have to have that that bottom layer solid to be able to and have interest in When they're busy maintainer lives It's It's important to make the time and that's where the scarcity comes in we're all busy So it is very difficult to not only maintain the software you are maintaining and Adding new features to it and then also make time to mentor So you can see how it's all is Based on that layer where Maintainers and mentors don't always have the time to do it So So action plan let's talk a little bit about action plan. How do we solve this problem, right? so equity is We talked about diversity healthy communities and equity Not everybody Having access to resources is a barrier for a lot of people So we have to design when we design these programs that in mind Empowering learning is where all these pyramid part comes in where you have part-time mentorship Programs webinar straining resources available. They enable people I think that I would say parents really That our parents and other people people that have to balance their work life Maybe you're taking care of a elderly parent. You don't have as much time So how do you go and enhance your learning so that you want to advance your career? So you have to you have to keep that in mind that people do not have a lot of time And they have to they are balancing a lot of things. They're full-time jobs and they're they're caregiving and so we have to make it easy for Them to overcome these barriers So making it happen we talked about this and talked about part-time and paid mentorship programs that They having all of these programs helps people to Gives them opportunities where they can fit learning into their Life schedule. We have the interactive webinars. We have You can Learn from an expert any area and they will It's not just slight set showing but they'll have there'll be a lot of Q&A time and then I'm going to There are a lot of opportunities on LF training lived scholarships that bring people in here and then also Planning your paths on LF training. So this is kind of what we're doing at LF to with the in this under this mentorship umbrella looking at holistically looking at What kind of training opportunities people have Meaning this these training opportunities are not They don't cost much like a lot of free courses for beginners to have them learn and then Learning from experts and the training programs and scholarships that bring people into these events to for evidence and Let's see. Oh Yes, we talked about that So you can take a look at this. I'm going to leave you with this Link to check out everything that's happening at LF in terms of Opportunities available. There are a lot of other mentorship programs also Google does Google summer of code and then we have outreach II that does Some mentorship programs so lot we have a lot of people Working to solve the problem. So every single program like this helps change lives So in addition to what we are doing at LF there are we have a lot of other people that are also doing Helping with the problem of Bringing and empowering new developers Showing them where to go where to find resources how to engage with the community and learn There's a little bit about a little bit more about what resources are available at LF This is the question. I keep getting asked always. I get several emails at least A week asking how do we how can we start learning? Or how can we start contributing to open source? So this is kind of my answer to all the compiling all the resources that we have at LF and then also helping Make plan their paths. So you can go to LF Training and then you can plan your learning path Say you can ask I want to be you can actually go and say I want to be Linux kernel developer Then technology based on the technology. It'll show you a path of Free courses that are available webinars that are available in that area It could be Python or it could be pytorch. It'll tell you so play with that resource And then the other one I talked about is the interactive LF live webinars a mentorship series that we do we have a large collection of Webinars already out there. We've been doing starting to do this in 2019 and since that time we do about 12 a year So you have a wide range of topics memory management and Open source itself legal aspects of open source and Peter here has done one for me on software engineering and so check out his stock is The way the experts come in and talk is they talk about the top the area that they are Experts in and then also give opportunity about 45 45 split they answer lots of questions and Sometimes we have with some of the Present people hosting the webinars. They end up probably speaking More than half of the time because lots of good questions get asked and we have people the other day. We did Oh, yeah last week Earlier this month we did a webinar Sergio Prado Delo world a webinar on debugging techniques kernel debugging techniques and then Everybody kept saying hi in the chat and I counted is Japan saying hi from Japan Germany I think someplace in one of the either Nigeria or someplace so it's like all of the continents to present it maybe nobody from Probably, you know, but we got a good part to participation. I was amazed. I was like, okay, this is awesome and Okay, so in the past This is our dashboard on a mentorship Dashboard so we we have we have so far accepted. This is a I pulled it from Yesterday or the day before so we have we have gotten 10.7 K applications and we have accepted. We are Somewhat selective of course. So we have accepted 611 up and we have close to 500 graduates since we started this program 2019-2020 that's when we started all of them and we have paid 1.7 million stipends. This is all it's a paid learning program so We With this platform it just connects People in the sense that even if you do not want to apply or if somebody says I just want to know What is out there? What is available they can keep come and check and Connect with the communities that way. Maybe they don't want to participate in a formal mentorship program, but By coming into the site and checking all these projects that are available They get an idea of what kind of community set out there that they can participate in CNCF Kubernetes risk and and so many others We this Mentorship program once you complete that We do a mentorship showcase once a year all the graduates participate We held one in January of this year for all the 2022 graduates and then the year before we did one in 2022 January for the previous year graduates. So this is like a upside down You know If you are familiar with college recruiting college recruiting Recruiters come in they are really setting the schedule and they are talking to people, but this is a reverse mentees Drive this event. They share what they have done and they can also connect with the recruiters or Potential employers on Slack channels and so on So we also publish Once they complete we publish blogs and LF blog site and Also other blog site. We we publish some on New stack you probably saw a new stack in the sponsor Area, so they publish some of the blocks that they take from mentees and we have recently published one One mentee graduate my graduated and she shared experience of working and writing test cases for Key word. No, so check that out So do you if you want to know more about the philosophy of What goes into running these programs? I run. I mean I oversee them Overall mentorship program. I run the Linux kernel mentorship programs at LF So you can take a look at that look at the blog that I recently wrote and I have been Running these programs since last year I wanted to scale them up because there's a lot of interest and I can't possibly pay there is not enough funding is a factor that limits How many people you can train? So I have been training about 75 people each year 25 each session spring summer and fall These are all credit only program current I'm currently running so We're kind of taking care of These things in some ways. We're having inviting people to participate and Having a voice at the table. They are able to participate. They bring new ideas new Thought process I learn a lot when I host do these mentoring sessions because As a kernel I have been doing this kernel development for a while So I have my methods and my memories of go to tools and such but when you put a new When you're talking to a new developer and when they are trying to solve a problem. They come up with a different way of Doing something that I have been doing and I go. Oh, yeah, that's kind of cool I haven't I didn't think about it because I got my cheat sheets So like my my muscle memory goes somewhere, but when you bring somebody new you learn as a mentor It's a it's a different kind of fulfilling experience because I end up learning a lot in the process of just answering questions or Somebody asked me about some subsystem that I don't know much about so I have to go look it up. So that's all good. So This is this this is what what I think Has to happen more than what we are already doing and I don't know if you were in the previous session at four o'clock about Is a session about hiding and training and retention. So if you haven't checked that out So this this is all necessary to bring New developers into the new communities to keep them healthy and sustainable and More importantly empowering them Developers and new developers to be able to take charge of their Their learning process give them agency so that they can learn As a new research we did we also another thing I have been doing is I want to know how Effective these are so we I keep asking we keep doing service. So we did one Research is earlier this year and there is the mentorship report out there I'll share a couple of important the highlights from this Survey we did we took 2019 through all the way through 2022 I think so we did survey of all the graduates and we asked them all the put actually all the participants not just graduates because we took everybody that applied asked them about various things and One of the things that stood out for us is employment status. They felt like after graduating there They have more doors open for them based on the experience They gained participating in open source communities contributing to them during the mentorship process and Then also Some people reported there that their income levels have changed in terms of they were being they they were able to Get more money Salary and so on so Let me see So to me. Yes, these are really important right getting more money Having more doors open all of that is important. However to me This is what speaks to them to me the most that means that we have a confidence level of Mantees when they come in they come into the Apply and start contributing versus when they graduated So they feel more comfortable about participating in various communities. They have worked with one or two communities and they know the Know they can use that experience of working with one community and take that to another community They have they have a confidence that they will continue to At some if they might not be able to continue right after the graduation some people engage and do it But others they can come back to it So they this speaks to me six speaks volumes to me because very often It is it is Difficult to figure out where to start it is difficult to figure out if I send a fixed patch in Will that be accepted will my pull request be accepted? so Do I have the confidence to speak in a public forum? Defending my design choices. So it takes a a level of Guts I would say so you have to overcome that fear that when I send this Stuff out will it be Really be accepted. Is it good enough? You have to kind of overcome that fear of being able to go out there and present your work and then If it is accepted to say boost and then also talking Being able to communicate clearly your ideas. That's also important So all of these open source skills are not not easy to it's easy for Companies and such to teach company base, but open source is something nobody teaches how to communicate how to Go out and figure out what the each community does in accepting patches or Accepting contributions and so on so that measure speaks to me more than anything and A lot of them are planning to come continue to contribute to the open source afterwards That's okay. Let's me see. I think that's so let's Talk about this is a words of feather session. I want to hear what you think about there, okay, now you can hear me as There been any thought about Providing sort of a base level of documentation about different products because sometimes Going in and delving through all the code is a sort of daunting exercise for people who aren't familiar with it And the tutorials tend to get deep very quickly. So providing sort of an overview and maybe a basic Yeah, basic overview for people to learn about what even the project is as opposed to Having them dive in and look at the code immediately so Some projects do a good better job than others documentation is not a Glamorous work So to speak not not glamorous but vital right and so is testing by the way So I see I I look at testing dependability for the Linux kernel. So it's testing. So it's It's it we have some projects do a better job of Having that beginner content. So there is a lot of content on Linux if you look at the Linux kernel documentation There are tons of documents, but do they address The question you're asking the beginner documentation We have been looking at that and That is on my mind when how do you we're thinking about two different things one is that we I was in LFS FM Yesterday evening yesterday afternoon session. They were talking about testing So when you look at the maintainers a while, I don't know how familiar you are with the Linux kernel, but there is a maintainers file That tells you right under the top directory right run So tells you every single subsystem and who maintains maintain it maintains it and who reviews it and so on What we are thinking about doing more off is Where do you how do you test it? So there are multiple aspects first of all if you get over the fact that you learned enough The subsystem enough and you have a fix. How do you test it? What are the tests necessary? So there is a lot goes into just getting so New developer friendly documentation. That's that's what you're saying So I mean if you're testing it it kind of implies that you know what it's supposed to do, right? Series of obstacles, right? You probably mean the documentation represents a barrier to entry So doing what you can so to bring new people in This seems like it would be to a way to facilitate that and so that's just it's just a suggestion Right. Yeah. I mean, I'm I'm totally a bit of it. I'm just saying that I use that as a part of it I ask when I am I mean, I'm doing my screening. I ask them to go Compile the documents first and then see what they can fix in the process. They actually learn but that implies that our documentation is New developer friendly it's not so We have to we have to do that. We have to yes, that's that's you're right on on that definitely I was curious. Um, you mentioned earlier mentorship programs and working on scaling up mentorship programs, which is something that we're also trying to do and I was wondering if you had you you're already much bigger than us. I was wondering if you had advice on Navigating in particular Making sure that like the Mentorship relationship or like the integrity of the program is still preserved. I know money is also an issue But I'm more interested in the like yeah challenges of the like integrity of the those relationships, right? So there are multiple It's a month. Let me see if I yes Challenges I do have the challenges here. So I did mention money, but it's only one thing That's the thing I really struggle with is mentors Because the same people that can mentor are also Maintainers and developers active developers and active contributors They do not have time to mentor very often So that's the if you would talk about this project management box of scope Not having mentorship mentoring resources and then funds those two are Really big challenges. Yeah, like the people are one of the toughest resources Yeah, like the golden resource Yeah, could you talk a little bit more to I'm so curious I'll go read more online to you about your program and what I could learn from it But I'm curious also to hear about like are your mentors Paved for participating. It sounds like the mentees are given a stipend, but I'm wondering about the mentors and then also like what kind of training or structure you have for like The them building those relationships. Mm-hmm. So they don't we don't pay mentors It's they're all volunteers. So to answer your previous question and this question together With the LF live webinar series that I'm doing I my motivation is Twofold one is when some mentors they do not cannot make time for a Mentoring three months or six months of a project then they if they can They can take time to put a presentation together The presentation itself is like two hours commit time commitment plus What a however long it takes for them to put the presentation together. So that way they if they make that investment Talking about the area that they are experts in then though that Video we record it and entire session including questions and answers and everything and all the materials available and we have Me we have them available for free. So that kind of helps me to reach out to some mentors Experts and say hey, can you make time for this? So which I do routinely so that's part of solves the mentoring resource problem to some extent and The other angle is going out to and then I have been asking Mentors to Also write blogs if they have if they have the opportunity to talk about a particular area and describe that So that is another angle and then I am now I ask my graduates To come help me commenter. So they come in I already lined up one for summer and I have one already Commenting what they do is all of these things. They are fresh in their heads because they just Graduated they had they figured out all of these things. So they can Help the men the mentees that are participating they can mentor more effectively as well So including so we kind of I cannot get there them to help me. So that happens and And so that solves some of the problems scaling problem It doesn't solve it full completely, but at least I know I have them And then when I have these 25 people each session I do what I have I do is I encourage them to connect On discord channels, whatever channel they want to connect. So I I hold like two office hours a week And then I tell them to connect All of them to connect and teach each other and right they do very well by the way Yeah, that's my experience as well. Yeah, they just do and then I also that also helps them It's kind of a professional network. It's almost like being in a college class taking class together, right? So so that so that's those are the things I have been doing But if you have other ideas, please share them with me I mean, I'm open to being able to scale without taxing already build overwhelmed maintainers and mentors maintainers developers and all of them and Funding is my creative solution to finding is well, I will teach you but I can't And and please volunteer to mentor it. I can't pay you so these are all the creative is I'm using but People are really I mean there is a lot of a lot of hunger for learning So I mean like I'm saying I'm I'm not paying but 75 people just show up wanting to learn so Yeah, I think we face very similar challenges The last question I'll ask and then I'm maybe other people have questions to you is I'm really interested. I work really Focused on representation and diversity and I was curious if that's something that you consider at all in your like applications Process or like what or what is the criteria that you use to to accept people into your mentorship program who are participating on the mentee side things We I just take anybody that applies anybody applies and then Complete sell the screening stuff. I mean I take them take them all so I'll tell everybody. That's great So, yes, I don't I don't really worry about Oftentimes, I don't even look at I honestly platform they don't for good reasons platform doesn't show diversity diversity information that Mentee's share because that's a private privacy information. So I don't have visibility as well unless Unless unless they choose to share differently by when they send email. They share something with me. So There is a privacy aspect as well Took worry about and then I don't I kind of go. Okay, if you complete all my screening Things that I asked you to do if you have you meet you have all the prerequisites like Cardinal program We need C C to be able to function in the Cardinal. You have to know C and shell, right? So if you have those two and if you do all my Screening and then also if you read the blog you can my blog about behind the scenes You get a feel for How I'm thinking because what I do is I want them to be able to learn even during screening I want to get I want them to get something out of application process itself. So I Have my task when I do screening assignments. I make sure that they are getting a feel for the entire The sub different subsystems in the Linux Cardinal So that they even if they don't for some reason they might say I'm withdrawing for whatever reasons or They don't make the cut or they go. No. I have a paid in something have paid opportunity somewhere else I can't participate on paid. So whatever reason they Don't even if though even they make a choice to not participate They still would have learned something that they can pick that up and then make progress. So that's kind of what it is That's great. Yeah, we think we think about the same thing. So that's really it's really cool to hear. Thank you. I Think that's it. There are no questions. Thank you