 Hi, sorry about the delay, it was just some technical problems. So welcome and so as we know this talk is about the different internship programs in which you can participate, which OpenStack participates in as well. So just give me a brief introduction of me. I'm Saili Lunkar and I started myself as an intern. So my career started in OpenStack as an intern in 2013 and since then I've been with OpenStack so the internship has really helped me and I'd like to share my experience through the years. So the agenda for today will probably be, I'm going to give you all a short introduction about what is the scope that you all are looking at when I'm talking about these internship programs. Then the second thing would be about the internship, some details, the stipend, the time and then how, what is required to contribute to an open source project and the application process for the internship and lastly the do's and don'ts and maybe some, I'll give you all some quick tips that we've seen across these few years that help to get selected as an intern. So yeah, so I'm assuming all of y'all are looking for some kind of internship or some way to get involved with OpenSack and you're all here for that. So let's look at what are we looking at? Like what are the options? So as you see, I've added a few really flashy logos on the screen and they cover a lot of different area in the software industry. So take it, OpenSack would be one of the areas in the cloud world like AWS. So OpenSack is probably the best way to get involved in the cloud technology. Then there are a couple of Linux distribution, there are a couple of Linux distribution like Suze, Fedora, Ubuntu also participates. Then there is, if you're interested in stuff like 3D modeling, then there's Blender. If you're interested in a little bit of a research kind of internship with, then you can go for Stone, then there is version control. So Git, GitHub, all of them participate in these internships. Then if you're interested in web, then you have Mozilla, then storage, if you're interested in hardware kind of an internship, then you can go for Beaglebone. And these are just some of the organizations that participate. There are over 100 organizations. So what I'm trying to convey by this is that it's a really good way to get involved with the biggest companies that are participating, that are actually helping you to get involved with them at a very early stage. So normally, freshers don't get an opportunity to work with big companies that easily. And this provides a very easy and a good way to communicate with them, interact with them, grow on your skills as you interact with them. So this is probably just a reaction to, it's like, whoa, so many options, right? So now let's talk about the internship programs a little bit. So this is from the Outrishi internship. So we have two kinds. So Outrishi and Google Summer of Coats. So what Outrishi focuses at is, why are these changing on their own? What Outrishi focuses at is, it's a three-month internship period and it happens twice a year. And it's open to all the underrepresented groups. So it's mainly focusing on women, then gender-cured people. In USA, it's open to all the black African-Americans. So we're trying to cover all the underrepresented groups in the world so that we can also involve them in the latest technologies and give them an opportunity to try it out. So Outrishi is a very, I would say it's less complicated as an internship as compared to Google Summer of Coats, technicality-wise. It's purely technical, but it also gives beginners more of a learning ground as compared to Google Summer of Coats. And as you see, the stipend is around 5,500 US dollars for three months and it's split in three installations. So through the three months, you get part of the money as you pass the three stages of your internship. And so now next is the Google Summer of Coats internship and this is specifically only for students all over the world and not targeting anything else. And Google Summer of Coats has been running for much more time than the Outrishi program. So Outrishi basically was influenced by Google Summer of Coats. So some of the differences in the program, as you see, Outrishi is for underrepresented groups whereas Google Summer of Coats is only for students. Outrishi happens twice a year. Google Summer of Coats is just one round. And the main thing about Outrishi is that once you are selected as an intern you are not allowed to apply again for the same thing and Google Summer of Coats you can apply multiple times to various projects but Outrishi is only once. And Outrishi is sponsored by many different organizations, open source organizations whereas Google Summer of Coats is sponsored by Google mainly. So here I thought maybe it's interesting to see some statistics about the programs over the years. So Google Summer of Coats started in 2005 and it started with 400 students and 40 open source organizations and we had students from around 49 countries and the success rate was around 80% whereas now we have almost 1,051 students and the number of organizations have just multiplied so much and also across 73 countries and success rate is... as we've seen over the years it's only increasing we never saw a drop in the success rate. And the Outrishi started, like I said, it started a lot after Google Summer of Coats and it started with one organization that was GNOME and eight participants so it was really small and over time now we have almost 37 participants and 16 organizations. So how many of you all here have contributed to an open source project or have been involved in some way? So I'm just going to go through how OpenSAC does it and the general idea like what all... So all the open source projects have some set of things that you need and a process so I will try to explain the process here. So how do we start contributing to an open source project? Because you never know where to start and there's so much different... Like if you want to contribute to something like OpenSAC it's a huge code base and you have really no idea where you need to start. So of course depending on what kind of contribution here we'll focus on development and documentation so the first and foremost most important thing when some intern approaches us we tell them that you need to set up a dev environment so the first thing you need to know is what kind of environment you're playing with, right? So and for this we use DevStack to set up the dev environment it's easiest it can deploy multiple services in one small environment and it's not too much effort it's just one script that you need to run and if you all want to just take a look at where to find it I've added a link so you can find it in the presentation later Then the next thing is so all the open source projects they have a workflow so people file bugs then other people can fix the bugs so normally the second step would be to find a simple bug because you're just starting you don't have such an idea about the code base so you just want to go through the code base try to figure out things so you will probably pick up a project and try to find a bug in the project so in OpenStack all the bugs that are easy are tagged by a low hanging fruit tag, right? so with these tags it's normally for newcomers so these are really easy bugs that you can fix in the project that you're interested in then you try to reproduce the bug in your environment so supposing if you all know about the horizon dashboard and supposing the bug says that some spelling is wrong on one of the tabs so in the code base you need to find where this is implemented so you'll probably just look through the code base in your development environment and try to see the error just replicate the error so you have an idea of what you're trying to fix then the next is of course when it's such a big project you need help and you should not be afraid to ask for help because we have a huge community here which is trying to help out and so the most convenient ways to reach out to the people in the community are by the IRC channels so you can just if IRC is entered at Relay Chat so if you all don't have an idea you can just look it up but you can join the channel for the project name so if you want to contribute to horizon it will be hash open stack horizon and so on and also mailing list is another way to get in touch you can check the Ptl for the project for the main people contributing to the project and then just contact them by email or on IRC so next when you finally talk to the community try to reproduce the bug maybe find a fix for the bug right and you want to show the community what you've done so you have a workflow for this which helps you to publish your changes it's a review system so once you're done with the dev setup and you have the fix then you should probably go open stack users get it for the workflow so you can go to the wiki page that I've pointed later on and try to set up so you have to set up your version control we use git review so just by running some commands you can publish your changes and there will be on this review or you can see your patch with the changes that you have made and so the reviewers can review your changes and probably tell you some maybe it's not the right way to fix it or there's a better way to fix it so they leave their comments on that and then you can keep making the changes until it's approved so mostly for all the open stack projects you need at least 2 plus 2s so plus 2 is given by a core reviewer of the project for your patch to be merged so yeah it's kind of that's the whole process so and this is not the only way to be involved so we encourage all the interns to also do a few other things like core review because core review helps you to get a lot of insight on how other people are changing it and you know from experience you can learn better what needs to be changed and it's faster learning basically and it's also helpful to the community when you give back some feedback it's a good way to interact with them then reporting bugs so if you're using the software and you find some bugs you should always report them so somebody can fix them or if you want to fix them you can fix them as well then triaging bug is just that if somebody has filed a bug so in open stack you need to confirm this bug that it's actually a valid bug because sometimes it can be specific to this environment and it may not apply to everybody so you go through the process of triaging bugs so this also helps you to get more familiar with the environment and with all the other services running in open stack then documentation is a good way to get involved if you're not keen on too many technical changes then open stack is really huge in document and they have really cool tools so it's equal to being a developer in at least in open stack communities because of the large documentation that we have here then we have a huge translation team behind open stack so now open stack is available in multiple languages so if you're probably if you know so many languages and you're comfortable with something you can help them to provide the dashboard and the other services in your preferred language then we have diversity groups who take care of all the different underrepresented groups or we just basically want that there is equal representation of male and female in the community so these are some groups who are really trying hard to get this up to balance and you can also join the foundation for some management related roles so we have a huge marketing team but this would probably come a little later when you're involved into the community so this would probably after your internship or something you can once you know the right people if you have ideas you can just talk to them and get on board with them now I'll explain the application process to these internships Outreach here in Google summer of course so how do we apply so you select any project so if you're selecting open stack that we have a large variety of smaller sub projects like we have Horizon, NOAA, Neutron so depending on your interest you can select a project this wikipage points to the list of projects and you can just go through all of them and just look for some more details on that so depending on your interest if you're interested in networking or UI or hypervisors or something you can select a project and then you need to get in touch with the mentors also the list of mentors for the project would be given on the wikipage and with the IRC handle so you can just ping them and tell them that I'm interested in your project can you help me to find a bug or something like that you basically need some guidance to get started and the mentors are the best people to reach out and also that the mentors know that you're interested in the project so they can communicate with you further on and also mailing list is if you have a general question then you can just ask them on the mailing list then you need to make a small contribution and this is pretty much a requirement so your application will I think almost 100% not be accepted if you don't have a contribution made before you submit the application so you need a small contribution so you can do some bug fixing there depending you can talk to your mentor and decide what you want to do and then you can fill out so you have an online application form which asks you a few questions about your previous contributions involvement with open source in general and what you did through the internship and some basic questions like that which you need to fill out and submit the application of course before the deadline and another thing that we really encourage interns to do even while they're applying is to blog about the experiences this is really important because when you actually start blogging you realize that it helps you to sort out all the things that you have done so far and you know where you stand so it's important and also for other people to learn from your experience and just spread awareness so we encourage people to blog through the internship period as well so what you must have is a patch that has been accepted and a mentor for the project so this you need so that you can get selected okay now the do's and the don'ts so for the do's you must contribute and so a lot of people ask me is it helpful if you submit more patches so it is of course helpful but it's not a necessity you can contribute maybe one patch before you submit your application or three, four but that just makes it stronger then you have to be proactive because this is all happening remotely so you're not in front of the mentors they don't know anything about your background they don't know any information about your work before this so as much as you interact with your mentors the more they know about your skill sets and the better it is for you so it's not that you need to be really high on your skill sets it's just that they need to be aware of where you are so they can help you in that direction then don't be afraid to ask questions because this will only help you to learn faster so even if it's a dumb question you can just ask nobody will look down on you or nobody will say that you're stupid then being persistent because this is really important especially in the beginning because setting up your dev environment can take some time and by sometimes I mean a few nights maybe you're just sitting and trying to set up your dev environment and it's not working but you really just need to go on and you need to be engaged with the community till the end because a lot of times it so happens that in the beginning of the program the interns are talking a lot they kind of in the last month they have no interaction at all and this kind of puts the mentors in a difficult position as to how, if they are still interested in the project or not so this affects them when you're selecting the interns so it's good to be engaged till the end of your, at least of your application process and of course it's better if you do it even after so what you should not do is this is not seen very often that you know we have something like having a bad attitude so by bad attitude I mean so another background about interns so interns are, sorry about mentors are that mentors are from these companies that are sponsoring and they have a full time job and they're just doing this to help the community so you need to be a little aware of their situation and probably ask them more politely about when they can give you time and manage because it's of course different time zones as well so it will not help if you really pinging them late at night or something like that so it's more about being a little careful about how you interact with your mentors and in general we've seen in the past that some people kind of started blaming the mentors for not being selected into the program and such things are really not it's not the kind of environment we want to set because we want more transparency between the mentors and the interns and we don't want such things and being competitive so as I've seen it normally it can be good or bad because it may push you to do a lot of things but generally in the open source community being competitive is a little look down on because you're trying to overstep somebody rather than this if you're done with a contribution if you're an intern and you're done with one or two contributions rather than being really pushy about making more it would help if you're helping some other interns who are applying to just help them out instead of overstepping them so this is something which is given a lot of importance when they look at your application as well and losing contact as I said previously you should stay in touch with your mentors till the end and application cheating so you should not try to fake in your application or give some wrong information or submit a patch that was actually not yours in whichever way that's possible I'm not even sure but just avoid such things because then once you set a bad reputation even if you apply three four times after that you're not going to get in this is pretty much once it sets some kind of image then it kind of carries on so it's better not to get involved in such a way and lastly some tips that I would like to share from my experiences to make your application stronger so you need to in your application so we ask you about some prior work that you've done so it's best if it's open source to provide some links and also to the existing contributions that you've made and anything, your blog everything needs to be given a link so it's easier for the mentors to just go and look at everything then like previously I said you should ask questions that's right but sometimes like it's really basic stuff that you just need to type in Google and you can find an answer so it's always better to do some research before you ask questions if it's the most obvious stuff then that also comes to be a part of being independent so we do want to look for interns who are more independent because mentors, so mentors dedicate probably one hour per day to their students or depending on what their arrangement is with the intern but normally it's one hour a day so it's good if the intern is as independent as possible so they can progress faster then you should have a good interaction with your mentors this I've been saying over a while because the mentors are the only people who actually say that I want this applicant in because she's hardworking she is proactive and I think she will be able to make it through the internship period then also in the application you have to submit a rough timeline so in these three months your project idea you need to split it in three months on how you think you will be implementing it so if you are implementing a feature normally in this internship period so you need to split it according to the timeline and it's always nice if it's more technical your timeline so you should discuss with your mentor take help and figure out a good timeline to present in your application and stick to it afterwards I mean not hard and fast stick to it but you have a better idea than how you want to set your goals in the time of the three months and it's also better not to have any other commitments like school or a full-time job because you need to give at least 40 hours a week to the internship so preferably check that that's not happening so this is the previous one's were tips before the application and this is during the internship period what you should do is you should set up daily meetings with your mentor so be in touch with them as much as possible set up a time probably depending on the time zones with your mentor then all the projects have weekly meetings on IRC and it's good to attend these meetings so that you know what is going on in the project so if supposing you're contributing to Horizon so you should attend the Horizon weekly meetings interact with the people maybe tell them your progress or somewhere you are stuck and you need help from them and your mentor should not be a single point of contact to the community you should try to talk with everybody in the community take help from as many people so this kind of increases your visibility as well in the community and you should blog weekly this is also one of the requirements once you start the internship that you should blog weekly or at least twice once in two weeks and you should track your progress so according to the timeline or how you decide with your mentors you should see that maybe it's two weeks and I should have achieved maybe two patches in these two weeks so I should have completed this feature by then so you should keep tracking it so that you are able to successfully complete your internship in time a lot of times it happens that it happened with me that you know you just hit a dead block and you don't understand what to do at all so it's better to actually seek help before you hit such a dead end by just talking to your mentor even if it's completely not technical even if it's something about that you are not understanding about the community or you have some problem with interacting with somebody you should just try to get some help and you should focus on completing your tasks I mean the other tasks like I mentioned before like code review and bark triaging and stuff is the secondary task but your main focus should be on completing the task that you've taken at hand and of course you should attend the open stack summit because this is a really good opportunity to meet your mentors and the other community members and of course it's as students or you know it's not always affordable to attend the summit because it's so far away always and you know if it's near to you then you're lucky but if you're coming from the other part of the world then it kind of gets a little complicated but we have a solution for that as well so open stack has a travel support program so most from experience most of the interns who have participated in the internships get funding from the foundation to attend the summit so their travel and their stay is paid for by the foundation so you have to apply for the travel support program of course so application form is there you need to fill it before the deadline then we have a travel selection community made out of some board of directors and some other people who are involved in the community and then once if you're selected then the travel agent from open stack can get in touch with you and help you through the accommodation and your stuff and this is really smooth and a lot of people have I mean I'll show you some statistics of the travel support so this was since Hong Kong we had 18 people in Atlanta we had 20 male, 2 female Paris we had again 13 people 13 male and 7 female funded across by the foundation to attend the summit from all over the world and it's only increasing the number of females are just increasing so that's really a good thing that we see because there's more participation so that was it the questions if you'll have a question please come to the microphone or anything else that you want to ask so it depends on the project that you select so in the beginning you go through the list of projects so if you want to look for something under open stack you can go through the wiki page and see the projects that are listed for the internship and then depending on your interest you can get in touch with the mentor for the project you have designated mentors for the projects so that's all