 So welcome everyone, today we are going to talk about Fedora in Google Summer of Code and Outreachy. So we have a short introduction for these programs if you don't know what they are. And then we will talk about the application process and timeline for these programs and like some guidelines you need to keep in mind. When you are proposing projects for this program or when you are applying as students, we will also have the Fedora admins for these programs. Laura and Bex come up and talk a little bit about Fedora's involvement in these programs and some tips probably for proposing the projects and we will also have the students showcasing their demos about the projects what they did over the summer and also mentors talking about their experience in this program. So yeah, if you don't know me, I am Be, I am also involved in the community operations team and the diversity and inclusion team. I was also a Google Summer of Code mentor this year for the Fedora Happiness Packets project along with Yona, who is my co-presenter and she will do some parts of this presentation. So let's begin. So can everyone here just like show their hands if they have already heard of Google Summer of Code? Okay, so I guess most of you know about what Google Summer of Code is, so we can skim over this part. So it's like a remote paid internship program with FOS organizations and Fedora has been involved with Google Summer of Code since a long time. It's open to all students who are 18 plus and you can propose like programming projects through this program. It happens once every year during the summer and the internships are from May to August but the project proposal deadline is a bit early around I guess early February. And can you now do a show of hands for Outreachy? How many people have heard about Outreachy? Okay, so about almost the same. Okay, cool. So Outreachy is a similar program to Google Summer of Code but it is basically it also has another goal in mind to improve diversity in open source communities. So it is open internationally to women, trans men, gender queer folks and U.S. residents and nationals who are from under-represented communities and the difference, the main difference here is that Outreachy also has non-technical projects. So if you have like a design project or like a graphics project or like documentation project or something else, you can propose it through Outreachy. Outreachy has two rounds every year. The internships are from May to August and also from December to March. So we will talk a little bit about Fedora and Fedora's participation in Google Summer of Code and Outreachy. So Fedora has participated in Google Summer of Code since its first round in 2005. So it has been more than 13 years now and we have had around 80 projects till date. So you will see some of the projects we are developing over the summer after sometime. So as you probably already know, all projects are programming projects and over this summer the students have worked on projects ranging for like analysts, for containers, for like Kono and also Fedora Happiness Packets project and also they have developed like the front end and back end for Fedora community app. Now I will talk a little bit about Fedora's involvement in Outreachy. So Fedora has been involved in Outreachy since its early rounds in 2013. I guess we have had more than five students through Outreachy and we will have Mari who will talk about her Badges Design project which was a part of Outreachy in 2015, I guess 2013. And we have also had a few other like design interns throughout Outreachy for Fedora. So I hope like you will get to see some projects which have been showcased and talk to the mentors. So why does Fedora participate in Outreachy and Google Summer of Code? So I mean obviously it helps us identify and bring in newcomers, talented people with a diverse skill set into Fedora community and it also helps us support and improve diversity in Fedora and broader like in other in the whole open source project communities. So yeah so I guess when our program coordinators Laura and Brann they come up and talk about this they will also mention a few points about Fedora's involvement in this programs and also have some tips for mentors who are going to submit, who want to submit project proposals to be a part of these programs. So we will have that in a few minutes and before that I just want to introduce the timeline and everything. Okay so why should you be involved in this project? So there are two ways for you to be involved in Google Summer of Code and Outreachy. If you are a student or if you are looking for a paid internship in open source community and especially Fedora so you can get paid to develop your skills and contribute to projects in Fedora if you apply as an intern through Outreachy or Google Summer of Code to one of the projects we have proposed or it is also possible for you to propose your own project and if you have like a mentor in mind who can mentor you through the entire internship duration. And for mentors which is basically what we are looking forward to from this session. So if you want to propose a project proposal you like through this program you get to build and grow your team and also like get people with a diverse skill set into your team and like while getting like building your projects. So it's a great way to onboard newcomers and like have them contributing to your projects. So yeah we are looking for project proposals for the upcoming Outreachy round. The open call for proposals is on community blog and you can go through it and probably send in your project proposal. So it's on a wiki page. So you have all the details in there about how to submit a proposal and we are looking forward to it. The projects can be technical or non-technical. So we don't really have a requirement but we have a few tips before you submit the project proposals like defining the scope of the project which I will get to before but just before that I want to talk about the timeline for both Outreachy and GSOC for proposing projects and for the internships. So I hope you can see this the font is a bit small. So Google Summer of Code like internships are from May to August this every year. So we just finished the round for this year and but you can always submit proposals for next year. The proposals will open in Jan so you can submit your proposals then like we will know whether Fedora has been accepted as a mentoring organization in FEP 12 and after that you can submit the project on our webpage. The internships the application period for internships will begin in March and it will go around till end of March and the internships will begin in May and they will go on till August. For Outreachy the like I said now the call for proposals for the December round is open. The internships for this round are from December to March. The application period starts in September and the deadline for applications is in late October. Outreachy applicants are expected to do like a small initial contribution during their application period so like you should definitely expect people to like applicants to already start like contributing towards beginner tasks during this period. So here are a few things and tips basically for future mentors who want to submit a project proposal. So if you want to submit an idea every project needs at least one or like possibly hopefully two responsible mentors to teach and help the intern. It's at least a five hours per week commitment and it begins it starts from the beginning of the application period so for the Outreachy round it will start around mid September and it will go on till the end of the internship so which is around mid March but you can expect like the evaluations and everything so till March. And personally from experience I would say like even though it says five hours I guess five hours is the least amount you should do you should at least like expect to talk to your mentee every week and go through their code reviews so while it's not that intense it's like it's still like helping a newcomer to your project start so it takes some time out of your day like out of every week and yeah so like I said before Outreachy applicants are expected to make a first contribution to the project they are applying for. So when you submit a project proposal you also need to have some like beginner task for applicants like properly defined so that they can work on it and this is also helpful for Google Summer of Code like even though they don't have like they don't have a requirement like this it is always helpful to have some small like beginner tasks or newcomers who want to apply for the project to start on and yeah so we are looking forward to applications for interns and project proposals from Fedora community and now I want to invite Brian and Laura here to talk a little bit about Google Summer of Code and Outreachy. Hi for those who don't know me my name is Laura Abbott and I get excited about kernels a lot and this is part of the reason why I love doing Outreachy and being an organizer because I get to get other people excited about what they love in open source. I don't think we had anything really formal planned but thanks you want to introduce yourself. I'm Brian Exelbeard I'm the Fedora community action and impact coordinator and I help with the Google Summer of Code program and support Laura where I can and I get really excited about watching kernels boot on my laptop. Yeah so thanks it was a great introduction to Outreachy and Google Summer of Code I just want to talk a little bit about mentors and mentors for Outreachy and mentors are what really make the Outreachy experience I think both having an enthusiastic mentor and also a well-defined project and I know for a lot of people this may be the first time they try doing something like this and I would say if you have any questions at all please come talk to me and especially before things start if you know I'm happy to help talk about experiences mentoring setting up a plan reviewing things because we ultimately want to make sure this is a great experience not just for the student but for the mentor and this is also something I will give a tip for anyone who ever decides they want to mentor is make sure you're communicating both with your student and you know communicate the administrators frequently again we want to make sure problems are solved and that is the biggest thing I you know always think is takeaway is you know communication solves a lot of things anything you want to talk about what I would add is to kind of echo some of what Laura said the mentors are the only reason the programs are successful quite frankly as administrators there's very little that we can do that is going to change the outcome of an individual student because of all of the other work that we're trying to accomplish it really comes down to the mentors doing that and the students are going to bring all of the energy and all of the the work and and the success but they need the mentors help it works a little bit differently with google with the google summer code program we we try to get the entire community involved which is certainly done with an outreach but it's a much more compressed time scale and so we're really looking to have multiple mentors on projects we try to have very strong project proposals and we try to do a public review of projects these days so we really encourage you even if you don't have time to be a mentor show up in the the public review give your comments talk about where you could help or where these code projects might fit better into other parts of the project because it really is a community effort it's fedora's participation not one person's participation yeah and another thing I'll say is that if for some reason you decide you don't want to be a mentor I think that's okay I love it when people mentor but I also appreciate that it is a time sink so don't force yourself to mentor if you have other things going on and you don't think you'll have the time this is not to say you know you can't work with us to say make it work but you know it is a commitment and it needs to be taken seriously but what I will also say is that just because you can't do it this round um there's always next round if you have an idea I'd say especially now that we've um done the work to get into pagura it's pretty easy to put a ticket and we can tag it and say hey this might be a good idea for next round and we can always revisit it so again there's always opportunities for mentorship yeah I just to go it is never too early to put a ticket in with an idea for a project never too early absolutely there's a lot of things that we want to get done in our project that are fantastic for both of these programs so let's go ahead and get those ideas out there so that we can keep refining them for the students um the other thing I would say is that the outreach program and the google summer of code programs work very differently from an administrative perspective on the google summer of code side the mentors really also help drive a lot of that communication because they're in such constant contact in that compressed period um there are multiple evaluation periods within the google summer of code program and components like this so even if you don't want to be a mentor we're always looking for some level of assistance on the administrative side it's not a full-time commit by any stretch but there are some needs that we have whether it's just assisting us with you know cleaning up websites for the next year um figuring out where the problems were from workflow or application flow things like this down to I sometimes get terrible while I'm planning a conference about sending emails about google summer of code maybe um and somebody can kick me in the back side and make sure that happens yeah and I would also like to give a big shout out to mo duffy who also did um outreach your organization for for years so she definitely did there and you know yeah and I think that's about all I wanted to say so I would just as well give a shout out to my co-administrator martin I'm going to mispronounce his last name brisa brisa thank you is all of the checks have said it correctly in the audience I'll go with brisa sorry that's the best I can do martin if you're watching the uh the recording I tried to put all those hot checks there um but he's been fantastic to work with and has served as both a great person to send things and kick me in the back side when things needed to get done thank you thank you thank you so now we will have a discussion and uh I will invite the mentors and later the mentees the students but before I wanted to say that um so Brian um Laura and mentors and the students please don't go after we finish because we want to do a group photo with all of you uh so I want to invite the mentors uh to come so we'll be a discussion with them they will give some tips uh share their experience with us and if you will have questions um you are more than welcome to do it so first of all I would like if you can present yourself a bit don't hit the screen um my name's dusty uh I'm involved in the atomic working group and the project I'm helping mentor this time is the google summer of code project for the fedora iot edition helping detect failed boots and automatically roll back um so that's my involvement this year pass it on to Peter I'm Peter I'm the fedora iot lead I co-mentored with dusty um dusty did most of the work from an admin point of view um I proposed the idea is like a g-soc project for fedora um it's not iot specific and it will be useful for the entire atomic core os platforms moving forward and generally in fedora um I was really excited to get a g-soc student and christian was absolutely fantastic um so early in the fedora iot evolution um for me it was a really positive experience and with the outreachy stuff I've suddenly had a thousand extra ideas so watch out um I think we'll see fedora iot and arm and related stuff there in the future because I it's been fab hi my name is shubhantro and uh I work for the fedora qa team and this time for g-soc I started mentoring for something called fedora community app it's an app which lets the users and if fedora like one who is enthusiastic about next fedora next to know mostly what's going on in the project so mostly targeting towards users and then later make them transfer to a small contributor specific stuff so yeah I had interned so the project was split between two parts which is the front end and the back end so we used to have a very basic app before which was not doing much and then this year g-soc we had two awesome people who helped us uh work with them and one is abhishek who uh which who was mentored by kanika one of my colleagues and he worked on the front end part of the app while amitosh worked on the back end part of the app and we kind of revamped the entire ui the entire structuring by implementing caching and the rest of what those guys will speak more but yes we kind of now have an app which can be given to any person any student any anyone who wants to know what's going on in the project which part and exactly maybe attend meetings casual meetings and ask fedora is integrated so you can probably even see what are the if you have an issue you can look into and see if that works good so that's all about me um hi everyone so you probably know me already uh i'm b i was mentored for fedora happiness packets project along with uh yona here so the idea behind this project is that we will be having a fedora appreciation week in november to like um appreciate all the work the fedora community has been doing for their contributions like in open source you sometimes we always like we feel like we are not appreciated enough so this week is dedicated to all the fedora community members and to say thank you to them so people will send like we expect contributors to share their experiences and send like um like thank you messages to each other during this period so we have built a website for that which is basically a fork of the happiness packets website but it has some fedora specific features so ana has been working on the fedora happiness packets project website and its development and design over the summer for like through google summer of code and yeah so she will be doing a demo like a present short presentation about the project details later on and basically that's it and so yeah you explained what our mentee did so uh i wanted to ask now uh the mentors like um what tips you would give to the other mentors but during the application period so let's say uh the qualities that they need to look for while they select the students or some tips when they uh let's say need to create some beginner tests uh so the students can do their first contributions something that you want to highlight for them so the application period uh can be i don't know what should they do uh so it will be easier for people to contribute to your idea so i don't know how good my answer will be because peter actually wrote the project proposal for mine but like obviously having a fairly well thought out project proposal helps a lot because that kick starts the entire project into already having you know some sort of you know structure and goals involved i would say when you're trying to select the student it obviously helps a lot if the student already has some sort of open source contributions already obviously you don't necessarily want to make that a requirement because we want to bring more people into the open source community not just you know take people that are already there and subsume them into the community but that definitely affects how much time you will spend with them over the course of the project so like i guess that's a bit of a challenge is like you don't just want to take people that you already know are good you want to also you know bring more people into the community as well but you also have to consider how much time you have to mentor them on things like you know how do you communicate in an open source project how do you properly have patience to wait for people to reply how do you appropriately you know periodically nudge them for an answer maybe they missed the notification before stuff like that um so i don't know that was a bit of a rambly answer but maybe let somebody else take a stab at it too or so um when it this was the first time i've been involved in GSOC and brian pinged me one morning and said we need to get a whole bunch of ideas up on the website now and so i threw like three or four i think it was iot related ideas and raspberry pi related ideas up as proposal ideas because even before i think the GSOC application like went into google for the organization we needed to have ideas this year um i then proceeded to get drowned in emails from people that wanted to work on those projects which is a good problem which is a good problem but like i as an individual that's pretty busy as it is um found it daunting to deal with it to the point where the raspberry pi one i said to brian just literally deleted off the website um and i got emails particularly about that from people that had never used fedora and that that one was python bindings for GPIO um they'd never used fedora they didn't have a raspberry pi they'd never written python and i'm just like oh i and so the writing of the ideas for projects to contribute to um was a big learning experience for me like i needed and i mean it was a bit of a throw it up there in a few minutes because we need to get this done today so that we will be accepted as an organization um so for next year i'm going to spend a lot more time writing that experience required fedora like actually used fedora before actually written python libraries before that sort of stuff um and as dusty said that preparation and like obviously one of the things with GSOC is you don't want a student that can do it necessarily um because they need to grow as part of that process but at the same time i didn't have time to be teaching someone how to boot fedora on a raspberry pi um and so you need to i think setting expectations with those sort of ideas um is very important to begin with and it sets the project off for both you the mentor and the potential students um by setting those expectations properly i think so like the raspberry pi GPIO stuff and like even after we'd taken her off the side i was getting emails about a month later um so it was whereas with the atomic host one i think we had three or four or like the applications were weeded down to three to four candidates um and they were all pretty strong candidates um well raspberry pi and GPIO and stuff like that probably like brought in people that weren't even fedora users and i think i had one or two that had never even used linux um and so that for me was a big learning experience and you know we've been christian was a fantastic student i hope he's gone from the experience but like we had weekly video conf calls um we had you know regular daily IRC chats um you know christian got to touch things from the low level grub boot level all the way up through the stack i think that was probably pretty daunting for him um we got Leonard on a video conf one day so he got to chat away with Leonard pottering from system d and stuff like that so i think he had a pretty good experience but but like the process to get there was fairly full on and just to add to that just a little bit peter mentioned um that you know we got several people involved with mentoring in the project and i think that's a big key so like obviously peter's a busy person uh i i'm a busy person as well and what we essentially did was we spread around the load i know she uh was it you or her that mentioned earlier about the five hours minimum of time that you would want to spend well we essentially had like five different people help mentor in our project and that helped us uh spread around the load a little bit so when you create the proposal if you could get buy in from several people on a couple different teams uh you know different levels of expertise in different pieces i can really help but you do need somebody who's kind of like you know overall responsible for the project moving forward and like that helps but you know having other people pitch in which is essentially what we do in the open source communities anyway we're used to doing that right um is what really helped our project be successful so if you when you create a proposal if you reach out to somebody and say hey i'm creating this proposal i'm going to run it to ground but if we get to a point where i need some help you know teaching somebody how to boot fedora on a raspberry pi could you help and if they say yes that basically helps the project be more successful i think we talked a long time sorry uh okay so yeah so i just want to add a few words they basically covered most of it but um i just want to say that when you define your proposals don't put in too many fedora specific tools in it like uh we like we put a separate section for skills which the applicant should probably already have like python programming or like a little bit experience with uh ui ux development maybe because it was a website so in there we also put like figure and everything so don't like don't do that because uh people like who apply they come from like uh diverse background and they don't know about fedora specific tools they can obviously learn as they go but if you put it in the project proposal they find it intimidating that they need to know so many technologies so they might not reach out to you and also uh like be expected to have a lot of messages over irc emails and like you will have them so you need to have some uh time during the application period and uh another thing is what we did for our project was we used twitter to promote our project proposal to get more applicants in for the project so i and i think ana read about saw the project via twitter so if you want to do that you can also do it because uh the distribution of applicants over projects is pretty uneven some projects are very common like amongst applicants but some others like get very few applicants so you can use your social media to promote it okay so uh we mentioned even some tips uh during the internship uh but i want to ask again like some things that you want to highlight uh now for mentors especially uh tips that they need to let's say be careful during the internship like some tips how to communicate with their mentee like how often or uh let's say some of the challenges you had if you were like in different time zones or something else and um yeah i mean what do you think that it's something that so i would say um definitely make it clear to the student that they don't have to wait for a scheduled meeting in order to reach out to you if they're having a problem reach out earlier than later because like sometimes you have a problem and you think you're going to overcome this problem and you continue to have the problem but i'm really close to overcoming the problem and then you continue to have the problem and then it becomes a real problem right because we've waited so long um so more or less just encourage the student to you know if they hit a roadblock if they hit a road bump um you know just reach out earlier than later you know and say hey i'm having trouble you know building this thing that should you know i feel like it should be easy but i'm having a problem and you know the mentors probably do this particular thing all the time uh so it should be pretty easy to say oh yeah we hit that problem you know maybe there's an issue in our documentation for our project or whatnot um so just encouraging the student to know that they can reach out obviously if uh you know if i'm not available right now you know that's just the the culture around our IRC you know nobody is particularly expected to respond to you immediately on IRC so reach out you know as soon as you have a problem uh or as soon as you start to have a problem um and you know not necessarily bug somebody all the time but like obviously if it's taking you a significant amount of time and you feel like it should be an easy task reach out earlier than later uh don't necessarily wait for a weekly meeting and i do recommend at least a weekly meeting and maybe um you know buy you know more than once a week if once you get into a a period of time where like you're getting close to a deadline maybe um so communication obviously and expectation setting for you know it's not a big deal for you to reach out to me i'm available so also something else that uh for example we were mentioning a lot um our mentee is that sorry so something else that we were mentioning our mentee a lot is that not only to ask the mentor specifically but also uh on different IRC channels that we have because if we might not be available at the time someone else will be and they can uh respond to them so and this helps them even to engage more with the community also not only with the mentor that's right you still know yeah so yeah exactly on those lines i mean we we as mentors shouldn't be blockers to the students i mean there's an open channel for them to ask questions and yes that's that's one of the greatest way even they develop a community bonding skill and that's basically the phase one of the evaluation in itself right you you get onboarded with the community and uh what i believe is uh kind of gsoc so fedora project or gadman bex kind of does it very good so we get a list of all the email threads you probably need mailing lists you need to subscribe to the IRC channels and the FAS accounts and all the prerequisites so it's it's it's indeed a great experience to get started in at first so yes uh that's that's one thing a student should always remember you know when they get started it's it's all about get starting the very basic things right so you we don't have problem while going forward i mean if you're committing code to pagya or it's essential that you put your ssh key out there and you know you do it the right way so when you're actually hitting some problem and it's it's not actually a problem if you have followed the steps right so yeah i think you know we we we have done that but pretty pretty good so yeah and i just want to add one more thing here uh like you it's helpful for you to set like goals like weekly goals or weekly expectations with your mentor a mentee so what we did was we had a list of tasks which we wanted to be completed in those weeks so obviously some of them might turn out to have blockers dependent on others so uh it like they can be uh done in the next weeks but it's useful to define them early on so that the mentee knows what they are expected to do this week and there is a like a project proposal timeline in the application uh for gsoc and i think also for outreachy but this timeline always at least for us it got re-evaluated and redefined because as we moved forward we saw different blockers and different tasks got like a higher priority so uh be like uh i mean when you define the timeline be open to redefining it and always set like some weekly expectations from the mentee and be clear about it so that they also know what they should prioritize and it's not confusing for them so i think the two big things that i found one like for the project i had a bunch of ideas set in my head as to how it would look um the way it actually is is nothing like that at all so be flexible um because you know obviously you as a mentor have an idea how you think should thing should be but the student or other people may have other ideas that are quite often better so be flexible um and again with the communication thing um like i expect a student to reach out and engage in other parts of the community because ultimately part of growing as a student is being able to do that but some areas of the community are daunting um and so like for example we didn't expect um patches needing to go into grub and the grub maintainer in fedora is insanely busy so he will generally ignore conversations from people he doesn't know um and so sometimes it's you as a mentor that needs to start that communication like i think dusty emailed lennard about system d and i wouldn't have expected or it would have been very daunting for say christian to do that and so sometimes like there are things that the student should be doing but sometimes the mentor needs to do that and to you know you need to be the one to be you know proactive there so that the student can be successful and you know some things are daunting like you know anything into a lot of say um certain parts of the kernel community can be very daunting to get engaged in first and and so sometimes you need to be the leader and set up the introductions first so that you know you could so the student can ask those questions and what have you but you need to kind of see it so like while there is a certain level of expectation the student should be able to do all of that sometimes it makes it easier and less confrontational for the student for the mentor to start that process and i think that's something to be very mindful of thanks and um so i want to add even something else that uh encourage your students to write reports so it's not only for the google summer of code but especially even for the community so they know what the student is doing how the work is going on and also especially if they found a problem and they found the solution how to solve it it's great to write a blog even especially for that so someone else will benefit and if they have the same problems they know how to fix it and you can of course that you can help them to connect their blog with fedora planet so everyone can check that or they can post their articles on fedora community blog but i think that part is also very important so everyone and the community can know also what the student is doing and not only the mentors so thank you for all the tips that you gave and the work that you have done thank you so now it's the time for the mentis to show their work what they have been working during the summer the first one is ana and she will talk about fedora happiness packets hi so i hope i don't have to introduce myself my name is ana and i was working with the fedora happiness packets for this summer for the past three months and as you know my mentors are the lovely bee and yona over there and so i guess they already explained the project so i really don't have to talk about why i worked on it so fedora happiness project was basically done for fedora appreciation week to encourage people to like contribute like show their appreciation for their fellow contributors basically yeah and what is it if tech wise like i had like work with jango the jango ecosystem and for me like that i don't know like the jango ecosystem like red is celery and genics unicorn like it was a full like a whole stack experience what i had basically so yeah and basically what my job was to integrate the open source happiness packets with the existing fedora ecosystem like it had to work with fed message and you know the users had to be a login and authenticate with their fast id accounts basically so that's pretty much what the main gist of my project is just integrating it with the fedora ecosystem so so what i worked on basically i mentioned that already but and you know my primary deliverables were like get the fast authentication working make a new batch so like whenever a new user contributes like sends a happiness packet they get a new batch for that so you guys can like look forward to a new batch collect now and yeah that's basically what i did and what i learned so uh yeah the final final results i'm happy to say i finally finished the primary deliverables and the site is up and running so you can go check it out actually like right now and um just like some that's about it and so this is just like a screenshot i'm not a designer so it doesn't look really good right now but this could possibly be an outreach project maybe who knows i might start mentoring so um yeah so this is like basically what we are expecting it's going to look a lot whole lot better like for fedora appreciation week but basically you have you can send these small little notes of appreciation to your fellow contributors make them feel special you know so yeah and yeah so once you log in you should be able to just put in the person's name their email and send a message and if you're an introvert like me you don't like coming up to people and doing this face to face you can just like hide your name if you want yeah and i guess i should just talk a little bit of what i learned for me why this project was perfect for me i'm new to fedora like i just started three months ago and um for me like i i'm i'm a python developer but i never had to like really learn jango but you know like working with this project i got to like go to the whole jango ecosystem like as i mentioned red is celery engine x and unicorn and plus the other great thing about this project was um i had to collaborate with other teams besides the com office team so it's not just like i had to talk with the infra team and i had to like talk with the design team as well so that's something new and plus and the other thing is like i touched on a lot of other fedora projects like epsilon fed messages so for me this was like perfect yeah so that's what i did this summer thank you thank you i don't think we have time for that we will do that when all the students will finish the presentation and one more thing we will do usability testing for happiness packets project during the commops uh hack session today in the afternoon so if you want to be a part of the usability testing sessions please feel free to join us during commops uh workshop and it will be at most like 15 to 20 minutes thanks and so hello it's okay so uh my name is rado i will get it quick because we are kind of running out of time so uh i was doing uh this as a google summer of code project was like uh kubernetes and open ship support for konu i will explain what is konu uh at first so um konu is basically like python api for your containers uh we have a upstream repo on github uh you can check it out there is a lot of examples uh in readme if you want to know more about it and um our google summer of code uh goal was to implement this support for kubernetes and open ship um so as i mentioned it's like library which makes it easy to write tests for your containers and it's handy when you're playing with containers inside of your code um so the question was why do we need this support and um konu had just support for standalone containers but nowadays all applications running in kubernetes or in open shift and um another thing was that uh tests for images that needs to run in open shift where are mostly written in bash which is hard to maintain so this was the main advantage and um so as the last thing i will show like a really simple example of how it works so in this code uh important line is line 8 where you can like easily create pot uh that you easily like uh run your image in the pot in kubernetes um and then you can like wait until it's running and uh verify that it's it's ready and uh as an output of this code we gave uh to user like uh lock that is like easy to read and that's it actually uh if you want to see more examples uh like more advanced examples also for open shift you can just check the upstream repo and uh there is more examples there so that's basically so next one we have the fedora community app uh up here check is the first one sorry for saying your name wrong uh you will be together okay and amitosh should i bring my laptop it's open and i'll just log in uh connected good afternoon everyone i'm abhishek and good afternoon i'm amdosh so this summer we worked on the fedora community app uh initially we had a really basic version so we made some ui changes and there were some improvements on the back end i worked on the front end he worked on the back end so we'll just walk you through the changes we did so this was the uh on the on the right you can see there is the old whole home screen on the left there's a new home screen uh we changed the navigation and the stuff and in the back end part initially everything was loaded directly from the internet now we have an offline caching system and we also revamped the storage system that was present earlier so that this loads around five times faster now then we have the fedora magazine so the users can read the latest articles we changed the interface for this as well there's the uh bookmarking option so you can read the articles offline amitosh will tell yeah implementing this offline part was a challenge in itself like how long do you want to keep it and how do you synchronize with the updates that are happening on the website in the fedora magazine so it was an interesting part that we worked for around two weeks and then we have the ask fedora so the users can browse through the doubts okay and so we segregated into three parts you can see the latest questions or what are the most afforded doubts then we have the fedora calendar so you can see what were the past events and what are the upcoming events you can add the events to the calendar amitosh improve the subscription manager so he'll talk about it yeah now you can see that there there is a button called add to calendar now when you click this button all the events of the same calendar or if you're clicking on the particular event then all the future occurrences of the event will be automatically synced to your phone now if the phone is connected to google calendar then you will get the same notification in all the devices that are synced to the same calendar then we added a few more features like the packet search was there and we added a small section about the fedora app amitosh will tell something about the packet search so the packet search lets you search the packages that are available on the fedora repose so it will work through the package the kind of package it is then the sub packages that are available and how to install it using dnf and a very short description of the package so this was something i worked on it was the fedora podcast we integrated into apps so the users can listen at any time anywhere and this was something i worked on these were the error states in the app so we need to show some cool illustrations when there is no data or there's some error then these are some backend features amitosh will talk about it yeah i talked mostly about that all the like while we are demoing the screens now we also didn't have a lot of unit tests and integration tests so i worked in implementing them now before release we can actually be sure that every all of the screens are actually working and also when we started we were like around two or three religious behind and we migrated the old frameworks into the latest version of the code yeah so i guess that's all from us start you can start contributing to the app we really need someone to help us and thank you okay so next we have chris that we'll talk about fedora iot atomic host upgrade hello everybody i'm christian and i worked on the atomic host upgrade daemon which was ideated by peter i'll just quickly open the where's the the website yep okay um yeah so it quickly came to well quickly became clear that we didn't want to write another big fat daemon to to do this kind of thing to enable automatic upgrades and fallbacks so we chose system d to do all the heavy lifting and i sort of had to look at the ecosystem and see what parts of this functionality were missing still and what could be used from what projects so yeah this culminated in one project which is called green boot it's sort of for boot success determination you can define your own your own checks require checks which will make make the the the boot status fail make it red when they fail the required ones and the wanted ones which are optional tests which you can just sort of put in in the check section as well and then you have a green routine and a red routine which will sort of run red scripts or green scripts depending on your boot status um yeah this is the project that sort of came from this there were changes required in grub to enable a yeah it's a we call it boot counting it's a boot attempt countdown so you can define a number x of boot attempts you will try one new entry and if that fails repeatedly for x times it'll automatically fall back to the older version to the second boot entry in grub so yeah i submitted a patch to grub which was actually has actually already been merged into the fedora 29 branch of grub so yeah if you want to use this go to github a lawless chris green boot green boot and check it out if you have any tests in mind this is obviously very useful for for the iot stuff testing sensors and running just tests if you have any any specific tests in mind i'm very happy to to accept tests sort of general generally useful tests into this there's already a sub pack there's already a few sub packages in this one it's not yet in the fedora repos it's on copper so you can dnf enable lore bus slash green boot to install it it'll be in in fedora very soon i hope and yeah give me i'm i'm yeah very open to feedback put it under some scrutiny um yeah and the last one is marie that she did uh the outreach internship in 2013 uh for fedora veggies hi everybody uh so i'm just going to take the few moments that i've been given to talk about uh myself as a success story i did outreach in 2013 as they said and my mentor was mizmo and she was amazing uh i can't speak highly enough about uh how she worked with me um so i think beyond just we had kind of established like this is how we're gonna work we met once a week it that part was kind of just like easy because i'm very self-motivated and there was a lot to do um but i think beyond the actual internship i think it's really important for mentors to encourage their students to or mentees to come to events like flock or you know any other event that might be applicable so i had done the internship and i had really only interacted with her and a few other people on tickets i had never used fedora before um i don't write code even still but i found a place here in this community and that was because of mizmo so she she encouraged me to go to flock in 2014 and speak about what i had done um speak about my internship and so i came to that that conference and it was an amazing experience i i felt a little alone because i'm not a developer so that that experience is a little tough it would have been great if she were there i think that would have made it even better but um i started talking to the people in the community and everyone was like what you did this you know we've been seeing this this is awesome and you know i had those moments to start making friendships which i think we all know that that's one of the biggest parts about fedora so you know encouraging and kind of keeping a relationship with your mentee after the internship is over i think is really important checking in and checking in with them if you can um encouraging them to do other events or get involved in other in other aspects so after i did fedora badges then mo you know encourage me to get involved in the design team and hey do you want to do this ticket do you want to do this thing and hey do you want to come to the fad and so it you know she continued to look after me a little bit and encourage me until i i really felt comfortable in the community and i think it for outreach i'm a success story you know i'm still here five years later um you know running fedora badges on the design end and um so i really attribute all of that to mizmo and her awesome mentoring so that's that's really all i want to say so i know that we are running out of time or we are already very late but i want to ask all the students to come and ask them only one question uh because i think that all of us are interested to know the challenges that they had during their internship um how i don't know how you solved it or what you learned for from this experience who wants to start um yeah for me the the most challenging thing was actually communication dusty mentioned it already um because i had to sort of look into different projects outside of fedora even a system d and grub i was sort of it was required that their maintainers gave me input and that was at times a bit frustrating but um communication is key and that's definitely what i learned to communicate more than less um and then things just get worked out even if you have to wait a few days maybe for a reply eventually someone will will give you some feedback and then you can sort of go ahead with your work and yeah not to get frustrated by this kind of thing that's definitely what i learned and also in general how community works what what that there are that many communication channels mailing lists irc um even yeah what's it called discourse so there's just so many channels you can you can get info from from it's just uh you know it's just important to to learn about all of them and see who's on what channel and stuff like that so adding to what christian said i basically learned the power of collaboration so we both were working together he was working on the back end i was working on the front end sometimes i had to wait for him so uh he had uh so he can do some stuff there were some blockers so i really learned how to work in a team this was something i wanted to share what else so in my part i had a completely different set of challenges than they did so one of the interesting thing that i was sitting and solving was localization so there was just so many data and time formats and so many uh expectations of different kinds of people around the world now i was living in a time zone where we do not observe dst but i wanted to test how the app actually ran in dst so that test was continuing till the day i arrived at block so since i separated from a non dst to dst and i'm happy that my work my app and the code works perfectly that was one interesting challenge that i had and the second challenge is uh this is a very well known phrase two different two difficult stuffs in computer science cash validation and naming things so cash invalidation was some challenge that was like it was working sometimes it wasn't then when we did some code pushes and did some mudges then the cash validation logic totally went haywire so then again i had to sit and fix it so that was one one challenge that i had to solve yeah yeah so i will say just one quick thing and it's about the application process and i strongly advise all the students to actually start contributing to project before application period even like one month two month before because because that is what i think mentors wants to see that you really contributed to the project before um besides the communication thing like he said uh i actually uh one of the plug in jango pluggins had a bug on it so i couldn't continue and that was a blocker so what happened is i opened up an issue and it stood there for like a one month and then it was like you know what i have to fix this i need to like get this done for gsoc immediately um but besides that i had to like get very creative with the people like who i ask questions again like that look for help because um i live in a different time zone we are not like this whole gsoc they were in germany i was in india and i'm like not india sorry dallas i don't live there anymore yeah dallas so we had totally different time zones so i had like make a list of these questions which i posted up in the middle of the night and when i wake up next morning they're all answered so yeah like it was for me it's like a bit of a balancing work time management and just being judicious with the time and planning beforehand you know because i had to keep in mind that they're in a different time zone yeah that's about it and what's next for you like in fedora or in general now that you are finishing the internship i am already a fedora contributor since last two years so i'll definitely be continuing in the area so i have now this project got me introduced with some other interesting projects that we have mostly in the infra world so i have been contributing there too so i'll be probably working on the app itself and if anyone in the fedora community needs help with ui or something just hit me up so uh yeah i'm definitely like going to continue contributing because my work is not done fedora appreciation week is it's gonna happen like in a few months from now but i've been so inspired to like start mentoring for gsoc and outreach for this year um yeah for me it's also i'm going to keep maintaining green boot and hopefully add lots of things to it and make it really useful i'll stay a member of the atomic or nowadays coro s fedora coro s community um as i've been for a while and um yeah i'll i hope i can contribute some things for the rpm os3 compose container that's gonna that's gonna be the new build system for for coro s and all the os3 based editions of fedora which i'm really interested in i just love that tag yeah so i will continue to maintain the konu and also i will be somewhere around the containers in fedora in next years months maybe so thank you for all the work that all of you have done uh and thanks everyone for being here if you have any questions we will be around because we are very late now and we need to do a group photo so if someone volunteers to take the picture would be great so the mentors men students are here and brian laura brian we need you no it's fine and you look into it it was well done and i'm sorry about that i called google i'm like you should so move it for us and they were like what happened to chase