Google Summer of Code 2024 Ultimate Guide | GSoC Roadmap | Contribute to Open Source | @SCALER

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
from Theory to practical you will understand each and everything about open source in this video how to make pull request how to choose the right organization project I will explain everything in detail so that you can Kickstart your open source Journey hello everyone and welcome to scala's YouTube channel I'm somia a software engineer at red hat and an educator before we deep dive into the video make sure you check out our free master classes by industry leading experts link is in the description there are mainly three steps when we talk about open source especially this program Google summer of code if you want to participate in this program mainly three things are very very important but before that let me give you a quick brief of what exactly open source is so from open source.com the the term open source refers to something people can modify and share because its design is publicly accessible so you would have used many open source software in your day-to-day life as well like VLC is there Mula Firefox is there federa the operating system plenty of projects plenty of products are there which are open source what does that mean let's say for an example you are a web developer you know how to develop website and you are an active user of the web browser Moosa Firefox one day let's say you encountered a buck on the web browser so what you can do is you can search on the internet GitHub repository of Mazula Firefox you can go on that particular repository and you can check out your complete code base and if you know how to uh you know develop website or how to write code in that particular language in which already Moosa Firefox is written you can start contributing to it as well I know it might might sound a bit difficult right now but by the end of this tutorial I'm pretty much sure that everything will be crisp and clear in your mind so these are some of the open source project example like Mozilla Firefox quarcus open CV federa Linux Foundation Etc so I'm currently contributing to quarcus as well and uh yeah I mean contributing to the big open source project might be a bit difficult in the very beginning but once you get used to it it will become easy and I'm here to help you out in in figuring you know how to exactly make your first pull request how to get started with it and for G specifically I'll help you in understanding how you can choose the right organization or project so this is very common doubt like why where and how to contribute to open source so let me first tell you who is this for open source is for everyone anyone even if you are in a school you are in University you are a working professional trust me anyone can can contribute to open source project your age gender your country your location nothing matters Your Enthusiasm your curiosity to contribute to open source projects is the only thing that matters and next why should you contribute to open source project so these are the main pointers like obviously you will get the opportunity to contribute to open source project where already so many developers so many principal software Engineers senior Engineers from different organizations are contrib in right let's say if you decide to contribute to any open source project of Facebook so you will get the opportunity to interact with the industry experts right so you will have a great learning curve there you will get the opportunity to practice your skill like when I was learning app development I already new Java I had to shift to cotland I started picking some of the projects some of the open source project which were written in cotland so that I can get some you know Community uh motivation involvement and that encouraged me a lot for this Swift transation as well and it will indeed help you build a strong portfolio if you will write that okay that button is coded by you which millions of people are using that will indeed create a huge impact right that will add vitage to your resume and obviously it is a good chance good time to give back to the community we use so many things for free so now is the opportunity kind of to give back to the community as well if you have the knowledge go ahead and show it to the world write code which can be used by more and more people and Via open source you can earn as well there are so many programs out there in which you can participate and one of those programs is G so Google summer of code so I remember when I was in university I mentored few of these students who were participants of Google codin it was fun I mean GCI G so the experiences were literally amazing I mean even if you are Mentor in those programs you get to learn so much I mean people will ask you such questions such things which you yourself wouldn't have ever thought of so it's always fun to participate in such competitions and the step number one is how to choose the right organization and project right so for that let's get into the laptop and uh I will help you understand from where and how you can choose the right organization okay so let's open a new window and here like your goal is to participate in gck right so if you write gck Organization for the past year yours right like next coming would be 20 in 2024 for 2023 already a list of organization has been published by the organization right so if you go on um summer of cod program organizations this page so here you can see the list of organizations which were there in 2022 it's loading for me uh might be the Wi-Fi is slow okay so this is the the page on the GSU page so you can see the interface is quite simple and easy to understand right so here plenty of options are given to you like if you want to filter out the organization which are of the domain maybe web development or which are of operating system I mean so many filters are given to you so if you click on any of these filter you will get list of organization of that category let's say I am not liking any of these filter I want some organization I want to choose some organization of my choice let's say I'm very much into cotland so if I write here cotland and if I click on the search icon so you can see a list of organization here so I was Mentor with this organization as well me's initiative so when I started so at that time apart from GitHub many of the organization were contributing I mean their projects were on gitlab bitbucket Etc as well so these are also very much similar to GitHub if you know how to use GitHub using other like that forms will be very much easy for you right so for example let's go ahead with this one I mean you can choose now let's say you are into JavaScript so instead of cotland you can write here JavaScript right you will get list of all the organization who have mentioned JavaScript as language in your uh in your like page organization page yeah so I am opening M's Initiative for now you can see here they're working on Android Java quot spring angular Etc they have written some topics here as well like Mobile Banking Cloud Etc so do one thing like whenever you put some filter now you will get list of many organization so how to choose from you can write down the name of you organization and after that you can explore your projects go and check out what your project is about now let me tell you how to do that let's say I decided that okay my seems a good project and this is exactly how I choose the organization when I was exploring a stuff in the open source world so here you can see a chat option is here if you click on this a new tab is opening up and uh slack is the place where these people the MOs organization developers do their discussion do their contribution everything so you can see here I mean they are asking me to sign up to login so once you will log in you will see multiple channels there like channel for different projects different repos atories Etc right so go ahead join the community um maybe they might discuss on slack zulip even I mean a few only one actually open source Community had a channel on telegram as well but they closed that and moved on to other channels because obviously telegram is not that much handy right so I mean they might do their discussion on any of the uh ports there are like Google Groups is also one of the preferred way of communicating for these open source uh communities or projects perfect so you know that how you can choose the right Organization for yourself like this was for 2022 I mean you can put the filter for 2023 as well if you change the url to 2023 these are the selected organizations for this year so there are high chances let's say if any organization was there in 2020 might be it bill again be selected in 2021 and so on like me has been there since like 2018 or 19 something like when I was there then also like I was a mentor with this organization as I said Anita B talk is also a very big friendly organization but I think in this year they were not shortlisted so yeah I mean this is the way you can pick your organization you can pick the right project now let me quickly give you a brief if you want to you know explore the repository I know that you might be confused right now what repository is so if we go on their contributor guidance so here they have explained everything in detail like if you are a beginner then how should you get started with the project with the repository so I mean a lot many bullet point a lot many options are here they have talk about like multiple things here anything which might come in a beginner's mind right so these are some of their projects if we click on these like these two are mentioned there are Apaches perhaps their project only so I'll open this one Community app this is open MF that is the organization name meos initiative and they have these many projects here let's say you want to check out any project that they have written in Java so you can put the filter here Java and these are the list of projects that are written in Java for this particular organization now it's up to you which organization you want to pick you want to contribute to so you can check I mean this project the you know the green line is showing how many contributions were done here right and also like how many people have started how many people have fored the project so fog is basically if you are going to you know start contributing to this project the very first thing you will do is fog the project in your profile okay in your profile so awesome I mean this is the page this is the organization page you can pick up the Project based on your interest uh let's say suppose I want to check out the community app only okay 997 people have already fogged this project so this is the issues section where you can go and you can pick a issue pick an issue of your interest uh you can check out labels as well like multiple labels are provided here they have some labels blocker bug list and you might see enhancement or good first issues as well so if you click on good fast issues you will get to see some very easy beginner level issues here right so a lot many labels are here I mean to get started with you can choose documentation kind of issue as well just go ahead read the issue let's say if I click on hober firstest issues so these are the issues that are label under hober firstest so hober first is also a kind of event for open source Enthusiast where you get the opportunity to contribute to plenty of Open Source projects yeah perfect like you can just click on the issue in on which you want to contribute to just read it and uh you can tag the project admin project maintainer ask them that okay you are interested in working on this issue ask them to assign that to you so right now no one is assigned to this uh no one is assigned here to this particular issue right so once you are assigned you can start working on it and for that particular you know detail I mean how to contribute there are five commands basically five steps using which you can do the contribution all those steps are clearly explained in another video on this channel only I have created on scalers YouTube channel so we will put the link of that demo video as well you can check that out and now let me explain you few more important thing which are must for you to know if you are getting started with open source so I'm screencasting my iPad once again and uh we uh kind of got the basic idea of how we can choose the right organization or right project right and now is the time that I tell you some more important stuff like which platform to use or you know what about the communi is how you can choose the right Community because as you saw right now I me if you put filter you will get list of so many organization so how will you decide which one is right for you I mean Tex stack is one thing obviously but apart from that there are plenty of other significant factors that you should keep in mind like these are the platforms where they discuss like we saw myos people they are doing their discussion everything on slack right in the same way zulip is there Discord is there guar a lot many platforms are there so example of of some project once again the sent Toya SEF wild fly Anita B talk we just saw as well Visual Studio code many of these are even red at open source project as well V you might be not knowing but yes Visual Studio code is also open source I mean you can also go ahead and contribute to the repository right so these are some very significant pointer that you should take care of when you are starting the open source Journey or you are going to pick the right Community or right organization is the project active or inactive you can check that via GitHub only when was the last contribution done how many peoples have fed that project right I just demoed you how you can do that always check and understand how responsive and welcoming the maintainers are because this is thumb rule of Open Source communities they should be welcoming they should invite everyone to contribute to their project right are these beginner are there beginner friendly ISU choose available in that particular project or not because you will start your journey as a beginner only it's important that in the beginning you have a good experience so check for the beginner friendly label issues are there such easy issues for you to get started with or not and is the project having license scoree of conduct are the contribution guidelines well documented or not these are very very small things but it matters a lot especially if you are a beginner so make sure you check out all these things now again these are the screenshot of few of the programs apart from Google summer of course you can check out these as well like mlhs their season of KDE outreachy Cod plenty of them are there if you are active in the Tech Community out there you will get to know even more more about such you know programs about such initiatives season of dogs is also there if you are enthusiastic about open source and at the same time about documentation as well you can check out that as well and step number two is start actively contributing and showing your presence in that particular organization so once you have decided that okay this is the organization and this is their project in which I want to contribute to just go ahead start finding the right issue for yourself for which you feel that okay I can contribute I can make some good pull request for this particular issue pick the issue and start working on it right now you might be confused in the beginning how can you contribute I mean what can you contribute with so you can contribute uh by implementing new feature fixing bug you can do uiux design Outreach documentation testing you can review work of other people give feedback in the beginning I mean it's completely okay if you are just exploring you will spend a lot of time reading the chats reading the discussion of other developers that's completely okay by by reading other people discussion as well you grasp a lot of knowledge I mean I've been through this phase in the beginning I used to feel that okay if I ask something people will feel she don't have knowledge but trust me it's not like that I mean if there is something which you can Google out that's completely okay I mean go and search on the internet that how to make the first pull request I mean there is dedicated video I have also created for the same you can watch that as well don't ask such question which you can get on Google on internet right ask Project Specific question like I have an enhancement feature idea in my mind Hey at theate admin or project maintainer can I go ahead and start working on this you can ask about such doubts right which are specific to project or for which you will not get answer on the internet perfect so now you have got a good understanding of all the important things now obviously if you want to get started with G so the program you have to create your GitHub account right it's very easy the way you create your Twitter account your Instagram account in the same way you just have to provide your email ID and basic details and you have to create your developer profile if you are a coder if you are a developer then instead of IG Facebook all those stuff make sure you have your developer account that is your developer portfolio GitHub ready and handy even if you create some project on your own like web project app project make it a habit that you push those project on GitHub and for this as well there is a detailed dedicated video by me on this channel only we'll put all these handy links for you I mean in this one I just wanted to give you a brief of how you can choose the right organization right project apart from that the commands that we use to create pull request the commands that we use to push the project everything is already on this channel right awesome and once you have created your your GitHub account the next step is you have to install git in your machine in your system just write download git and you will get the link the first link uh will be the official link just go on it based on on which operating system you are just download it and yes start working on the project right you are all good to go to contribute to start contributing and the next thing which you should keep in mind is keep attending the organization's weekly call let's say if you thought of okay I have to contribute to my's organization right so make sure on weekends or monthly basis they would be doing some internal calls for the developers who are contributing to the project make sure you attend them stay up to date about their proposal ideas if they are planning something about gck keep an eye like what they are discussing there would be some channels like # gck in their slack Channel or zulip Channel I mean zulip you know whatever server they have created so if you feel they need some feature request Etc you can create a g dog of your a proposal dog for G so I'll do one thing for your reference I will also give you link of some of the G proposals the way you can create a proposal right so all the link all the handy links you can get in the description and yes I mean these were the three most important steps that you should keep in mind if you are going to start with this program and these are again this is a quick summary you have to find a problem to solve once you have choosen the right organization right project choose the problem to solve start working on it and submit your work that's it it's it's as simple as it sounds you can take a screenshot of this one as well it's a kind of workflow how you will get started with the open source Journey number one you have to fog the project then clone it you have to start working on the project and then you have to add the changes commit it and then push it might be right now You' be thinking like okay what what these commands or what these steps are but just go ahead and watch the Practical demo of Open Source by me on this channel the link is maybe we have we can put the link somewhere in the I section as well you can click that as well or in the description definitely it will be there right so go ahead and watch that that will help you understand in a much much better way how we exactly do open source contribution globally I have been honored with the international wom in open- Source academic award as finalist start your open source Journey with this one stop guide early in my career I started exploring and making open- Source contributions in the beginning everything was very difficult even those easy G commands like get ad get edit which are so obvious now but don't worry I'm here to make things easy for you to understand from exactly what is open source to how you can make most out of it we will be discussing everything and hey if you are new to the channel make sure you subscribe hit the like button and if you have any queries drop that down in the comment section below and we will be happy to answer them first thing first before getting started with open source contributions before adding those exciting achievements in your profile make sure you understand what exactly is open source so if we go on the web page of the official website opensource.com according to opensource.com the word opsource is self explanatory let me give you an example in our daily lives we use several software several tools which are op source for example the web browser Mozilla Firefox the code editor eclipse and alongside that Library office WordPress quarkus open shift a lot many are there the list is really very long we don't realize that okay these big products are really open source but they are basically what you can do is you can go on GitHub and for all these products these softwares you can read their code if by using the product let's say you are using Firefox right and they let's say you're a web developer you feel that okay there is some enhancement there is some feature which as a web developer you can add so what you will do you will go on the GitHub page of that organization Moosa Firefox and there you will see in the repository in the project section you'll find that project and in the issue section of that project you can create an issue that hey maybe you want to solve a bug or maybe you want to add an enhancement or feature just create an issue for it and tag the admins the project maintainers they will come they will see the issue and if you will express interest then maybe they assign that issue to you then you can start working on that you will write your code to fix that bug or maybe add that exciting enhancement or that exciting feature in the product and if the maintainers will approve your code they will review it all once it's all done then your pull request will be merged in the project wait if you are feeling that these words are tough for you to understand like pull request merge I will be explaining everything in detail in the demo that we have by the end of this session also the very exciting thing about doing open source contribution is let's say you created that issue and you worked on that so your code will be merged in that big product in that big software and you can share with your friends with everyone that product which millions of people are already using you can tell that hey that button which you see on Mula powerbox that's developed by me I wrote that code see how exciting that sounds really so apart from this thing there are a bunch of more benefits of doing open source contribution we have just understood a basic overview of what exactly is open source we will be obviously covering many more things around it now that we have a basic overview of what exactly is open source so let's try to understand who is this for who all can participate who all can make open source cont contribution let me tell you if there is not an specific open-source program then anyone anyone can contribute to open source projects yes even if you are high school student you are doing your graduation your btech your BCA any degree even if you are a working professional and you have some eagerness some curiosity to contribute to those big open source project you can do that there's one beautiful thing about open- Source communities you won't see any discrimination all over the world like from every corner of the globe you will see people getting involved in that in those exciting big project like I was part of anitab.org community they have some mobile app development related projects many people from all over the world from India USA Germany from everywhere you will see folks of all like variety of age group you will see them working on the project they will some of them will be making contribution related to code others will be doing uiux design and stuff so that's really very beautiful community and you will be learning a lot many thing so I hope this point is clear that if you want to get started with open source there is no restriction you can do the only thing that you need is a curiosity to contribute to those open- source project and make sure like this open source thing which I said I mean it's open for everyone but when you you participate via a specific program let's say Google simmer of code or mlh there they have some like open- Source programs under them if you participate via those programs so they have some eligibility criteria like G initially only allowed University student to participate in the program only folks who were like in their U maybe first or fourth year in their graduation only they were allowed to make proposals for the project projects of G but last year they extended it to everyone now anyone if you are in University or maybe if you are a working professional you can participate in that program so some programs have a specific criteria some have like age criteria as well so if you want to do open source contribution via those programs make sure you go through the eligibility criteria as well apart from that if you just want to get started just want to understand the flow of how things things are done you are free to do that you can make open source contributions easily I mean there is no eligibility you can just clone the project for the project first then clone into your local machine and start coding if you want to do something around design you can do that as well so I hope this point is clear to you who is this for now let's understand what are the benefits of doing open-source contribution what will you get out of this learning experience earning potential build portfolio upskilling networking and giving back to the community I will be sharing my open-source Journey how I started out what were the hindrances the obstacle which I faced in the beginning and you can take notes out of it so that you don't repeat the same mistakes so after learning basics of coding data structure algorithm everything I was very excited and very keen to learn how to develop mobile application I learned that skill after that I has I had to reuse that skill somewhere I was very much willing to work on some real well some big project where I can use that theoretical knowledge so apart from doing like freelancing is stuff I was like looking to work on you know some big project which millions of people are using one of my senior advis that you can start with open source contribution you will get an opportunity to interact with to learn with like principal senior software Engineers out there like before actually entering into the IT industry you will be getting a good exposure of how things are done how you can write clean code how you can talk to your team members the other software Engineers the admins maintenance of the project so I started exploring I started finding where can I like get the right open source project for myself so I learned the skill mobile app development in Java and cotland so I like put those filters like Java cotland on the explore section of giup I got plenty of results I got lot many projects then I was very confused to see that long list of project I went to the page of gso I tried finding some apt project for myself from there I like discovered like the documentation everything in detail of two organizations basically Anita b.org and mef's organization they had plenty of projects written in Java and they were slowly migrating to cotland that was exactly what I was interested in so I like joined the community I saw that okay so many developer all from all over the world they were making contribution to those big projects they were mainly written in Java so I was comfortable like understanding the code things were clearer to me and that was kind of making me more like interested and curious to do the open source contribution so I like for the project I clone that into my local machine this is very challenging let me tell you sometimes in the beginning while doing the setup of the project itself v as developer gets so much scared I mean they are such huge such big project which are already having thousands of lines of code written by different type of developers and that's not very easy to understand I mean the entire flow of the project which file is working in which way it takes time some people give up at that initial phase only just don't give up there try to understand the code base so make sure you go through the issues section of that particular project on GitHub they have some labels as well beginner friendly label or maybe first Tim issues such kind of labels are there you can put those filters and you will get the right set of issues to work upon for that particular project this is such a tip that's very useful if you are looking for some problems some issues to solve in that particular project also in the starting like when I was just starting with the open source contribution in the community I was kind of very hesitant to ask queries like there are obviously some stuff which you can get the answers from the internet you can just Google it out right maybe um how git ad command works or such basic stuff but there is if there is something is specific about that particular product or that particular project then you can surely you can certainly ask from the project maintainance from the project admin that hey like what this piece of code in the project is about or maybe if we can try to add some more features if you have such kind of specific doubts or concerns maybe you can put that in the wherever the community is discussing everything maybe slack or zip anywhere right so this is uh this these were some of the pointers basically which I feel are significant and you should take care of let's now talk about how you can find the right project for yourself it's very very important suppose that you are not curious to do open source contribution you want to contribute to those exciting big projects but if you are not able to choose the right project then it's of no use right so there are three to four platforms or places from where you can find the right project for yourself so what I used to do on GitHub itself on the web page there is that explore section you can go there and you can put the right filters based on your interest let's say if you are into web development or machine learning or any particular domain make sure you put those keywords there and the projects which are of that particular domain if you let's say added the python filter there so the projects which are having that python label they will show up there you can have like variety of sorting criterias you can sort based on number of stars the project is having or maybe uh if the like project is active or not those things you can check out before starting the contribution another good page another platform where you can find the right project for yourself is the g website itself for like go on the past year projects you can again put some filters there which take a stack you are interested in just put those filters there and you will get those kind of projects the projects which you will be interested in now that you have some shortlisted projects right some projects which are of your your interest then you can like maybe start reading the documentation of that particular project and after doing some exploration around all those project you can pick the right ones those which you feel are apt for your interest those which are having some like impact as well try to understand how many people are using that product what are the contribution guidelines what what's impact that project is making right so these are the two main ways by which you can find the right project for yourself either the explore section of GitHub or you can go on g website as well and put right filters over there if you have a specific project or product in your mind to which you want to contribute to you can do that as well apart from the first two ways that we talked about now that we have got an overview of how you can find the right project for yourself let's talk about some of the platforms which you should know about because in open source communities there are some platforms on which the community discuss everything it might be zulip slack Discord or any such community so when you are just starting out let's say you got some open source Community to contribute to from the Guk website so there you will see the IRC Channel you can go there and you can talk to other community members there will be like project maintainers admins everyone you can start asking your doubts or maybe you can just express your curiosity and give your introduction to the entire Community out there now let's talk about some of the significant pointers which you should keep in mind when you are just starting out first check that the project the product is active make sure that there are contributions going on it should be like on GitHub itself you will see that green graph if like the recent contribution is some 24 hours ago or maybe 48 hours ago that means that okay the project is kind of active you can also understand this thing by just scrolling through the ilc channel like if the developers the project maintainers are discussing things there if everything is like going and like people are talking to each other about issues and all such stuff so this is one thing which you should take care of another important pointer is do check that they have a contribution guideline written because those project which are good and which have like a good Community they make sure that they have a good contribution guideline as well do read the documentation thoroughly also make sure that the project is having licenses and everything and also like when you are just starting out when you are a beginner it's important that the project maintainers and admins are welcoming they are inclusive that will make your experience easy if let's say if the maintainers and also such people are not transparent they are not kind of welcoming so it will be hard for you to explain everything let's say if you have some doubt you will ask that on the community Channel but if you don't get much traction from the maintainers them themselves that will somewhere not boost your confidence right so it's important to understand that okay the community is welcoming and they are transparent for all type of contributions now let me tell you another very significant point when we just start with open source contribution many people to say that only coders only software Engineers can do that if you're good in uiux or maybe testing advocacy then also you can be a part of those open-source communities you can contribute there in different ways not only coding so let's say if you are in first year of engineering or you are just starting out and you don't know much of coding you don't have that much good knowledge of any programming language it's fine you will learn on the go right so if you are kind of just just willing to get involved with the community go there check the project read the documentation if you feel that there is something which can be added which can be fixed in the documentations just like make a PR make a pull request for that so there are plenty of ways testing coding Dev advocacy if you are good enough like you have a good experience you can be mentors as well in those open source programs and those open source initiative as well you can like help the newbi out there who are just starting out to get started with open source there are a bunch of things which you can do if you are curious to do right let me tell you some of the open source initiative some of the open source program which you can participate in that will be really a great learning experience for you when you have a decent experience with how the open source contributions are done with the entire workflow so first is Google summer of dogs second Google summer of cod outreachy is the third program it's very interesting it's for like female techies out there they can participate they can do open- Source contribution there are certain rules and regulations for each of these program fourth one is mlh they also have kind of open-source track in which like they ex expect applications from developers out there from developer Community they have rules and regulation they short list applicants and then like a specific period of time is there for which the selected applicants work on a specific project like 12 week 6 weeks and they are paid as well so most of these programs which I'm talking about they have some reward they have some like pay structure for developers out there girl script summer of code is another one and if you're just starting you can also try with ha too fist 24 pull request is another one when you are just starting out it might happen that you will face some roadblocker which I also faced when I was just a beginner might be that there are some lack of beginner friendly issues in that particular project what you can do is let's say if that's a mobile app development related project so you can just clone that particular project into your system you can run that if while running you face that okay there are some bugs or maybe there are some features that you can add you can create issues for that right and you can work on is CH created by yourself so that's one thing you can do and if you feel that okay that's a very hard project for you to do as a beginner maybe you can try selecting another open source project of the same domain which are having like same text tag when you are just starting out it might happen that you are not very much confident about the technical skills that you possess you might feel that others are very senior and you have less knowledge so you can't do open- Source contribution it's not that way you can contribute in other sectors as well like documentation testing or maybe just mentoring the new PES or Dev advocacy if you are interested in leadership kind of rules you can do contribute in those ways as well and the significant aspect is time management when we are in college we somewhere have so many things to do that it is hard to contribute to open source projects right we sometime don't find that much time to do these things but I tried finding good time for doing all these things and trust me it's all worth it it really counts so make sure that take baby steps it's not mandatory for you to like the whole day just sit and write code for that particular open source project it's not mandatory you can maybe in this starting take out 20 minutes or 30 minutes and do a small contribution that will also matter a lot just try understanding everything slowly and things will fall in place two of the resources which my might be very helpful for you our op source. guide that website has everything mentioned in detail how you can make your first pull request how you can start your open source Journey second one is the first contributions repository you can make your first pull request there on that project to understand how the flow works now that we have covered lot many things the theory is Stu of how you can do open source contribution and what are the benefits we talk lot many things we also Al covered the initiative the open source programs that are there which might help you a lot you can add those things in your resumes as well that may help you in getting the right internship in getting the job offers because when you give interviews and you have these things mention that okay you wrote code for that open source project which is such huge such big so interviewers will also understand that okay he or she has written code for such a big project so would be having some decent knowledge of coding right so certainly this counts a lot and now we will actually see how you can do open source contribution how you can make the First full request so let's see that in the demo let's say you have to start the open source contribution to any specific project for the demo part to explain you the steps that what commands what steps are involved and taking this project first contribution the very first thing that you have to do is fog the project and obviously I suppose that you know what are the prerequisites for doing the open source contribution you should have a GitHub profile like I have my own GitHub profile over here in the same way you can create yours and you should have git installed in your local machine that's very important to do that you just have to write git and download git on any of the web browsers out there and that will do the work for you let's say I open up a new tab and and I say install or maybe download G so you will see download G like the first link that you get on the web browser just click on that based on which operating system you have like Windows Linux Macos anyone just click on that and you will be like they will show you the steps like how you can install git in your local machine git is a version control system to keep a track of the history right so GitHub and get these are two things that you will need before doing the open source contribution so let's now fog this project which is a step number one so I will just click on create for what will happen a copy of this project will be created in my account so if you notice the initial URL was this one uh github.com slfirst contribution slf contribution right this is the username the name of the organization and then the repository if you see the fogged copy so the username is my name siia oneing and then first contribution which is the project name basically fog copy is your own copy of the project you can make any changes in there and when you have to submit that change in the main project you will be making a pull request that is a PR right now that you have for the project let's clone it this is a step number two just copy this uh link uh in the when you will click on the code button over here you just have to copy the link then go in the terminal if you are on Windows then like let's say on desktop itself when you will right click you will see get bash here thing you can just do that and if you are on any of the system you can always follow the terminal as well right so on desktop itself I will do get clone which is the next step of foring the project right so what it will do is it will like clone that particular project into that directory now that I already am having first contributions project in the desktop directory so it's saying that okay this project already exist so if we check here for explaining things again I mean I recently gave a demo for this that's why this project is here to explain it all again to you all I will be just removing this project so that things are clearer to you so what we will do we will get clone the project you can see it's 100% complete now the project is here in my desktop directory now another significant thing we will CD into that project that is first contributions project so we have done two things we fed the project and then we cloned it into our local machine why we did that so that we can make any change to that particular project now let's see you got some exciting issue to work on from the issues section you can spend time to uh find that I mean uh what's the issue that you want to work upon for now I'm assuming that okay I have got some issue to work upon and I will be following those steps like how can I make my first pull request okay the very first thing never forget whenever you have to submit your code your work just create a new Branch okay the command for that is get branch hyphen B and the name of the branch so for now I will say new PR always make sure that let's say if the issue number is if you click on this one so here the issue number is 583 right so what you can do is you can make a branch name branch and then name of the issue number of the issue right that will help you keeping a track of what issue you are working upon so step number one you will create a branch here's a type of name of the branch so we'll correct that get Branch minus p and the name of the branch right okay get Branch b and then the name of the branch is like you can give any name right like previously I gave new PR basically the command is get Branch b and name of the branch okay so once you have fored the project and clone that in your local machine the next thing that you are going to do is create a new Branch for that the command is very simple get checkout minus Fe and the name of the branch that you are going to create for now we will use a simple name new PR you should use a meaningful name of the branch so that it's easy for you to track everything let's say if the issue number is uh 03 then maybe you you can keep the branch name Branch 003 so that it's easy for you to understand on which issue you are working upon once you have created a new Branch what you will do is you will make the changes in the code based on what the exact issue is for now we have this simple project first contribution what I will do in the contributors. MD file I'll add my name over there just this is just an example like you can write I mean code or you can make some design changes based on what the exact issue is about right for now I will do a simple thing I will just add my name over here because this is a simple like issue which you can try out to just understand the flow of how actually you can do open source contribution right so I will just do this simple thing I'll paste the link over here and after that I will save these many changes so now that that these changes are saved what you can do you can keep a track of what changes you have made using the command G status so you can see it's telling you that okay contributors. MD file that has been modified so what you will do next is add these changes you can add the changes file by file like get add the name of the file or if you will do get add dot then that will add all the changes now if you will do get status you will see this is green in color that means the changes that you made they are now integrated I mean those changes they have like selected those changes in they have accepted that right that has been added so the step number one was fing the repository second clone it in your local machine next is create a new branch and after that make the changes based on what the issue is work on that particular Branch for as long as the as you can take I in if the issue is long if if it's bigger one you can take a week as well right some of the issues are let's say if enhancement issue is there that will take time easy ones will not take that much time after making the changes just add the change get add dot it's a very simple command and once you have added the changes next thing you have to do is commit these changes and with M this uh option M you have to give some message if you work in a team then it's important that you give some meaningful messages so that it's easy for other team members to keep a track of what you are working on and what changes you made in the project so we will say get commit uh hyphen M and I will just write maybe first comment or something like that for now but make sure you write a meaningful message while you make the commit right so I'll press enter and this one is done now the final step is you did git ad G commit and you have to push all these changes on GitHub right and then you can make your pull request from there so for that the command is again very very simple get push origin and the name of the branch the name of the branch is master and what origin is so basically origin is this address the uh main address I mean after foring the project uh you will will get origin by default you can check the exact address of origin as well so if you say uh type get remote V so you will get a list of all the remote URLs you are having so you can see origin is having this URL right so when you will push anything to the origin in your original repository all the changes will be pushed and you can add more remote URLs as well by a simple command get remote add and name of the uh remote if you want to let's say add Upstream URL like the original projects URL which is this one here you can see the first contributions one this is the original Upstream URL so maybe you can add this and the name of this URL will be Upstream so just paste it here so now you can refer to this URL with this name upstream and now when you will run this command so you can see we have origin as well as Upstream over here for now as what we were doing we were pushing all the changes so get push origin we know what origin is origin is that URL right and master is the name of the branch so that's it we will just uh press enter and um okay just try again let's see what the issue is here okay so if we do to get Branch okay so right now the branch name is uh like the main branch is not master exactly it's Main and right now we are on new PR Branch okay so what we will do we will say get push origin main as simple as that okay and new PR so this is the final step that you have to do you have to push all your changes and you will see you can create a pull request from this URL over here and the the project maintainers the admins of the project they will get the notification that okay you have made these changes right so I will make the create I will click on create create pull request before that let's modify description to make it meaningful I'm just giving a demo right now so I will just say demo and pull request I will later on close this pull request because it doesn't make any sense right so create pull request and that's all I mean this is this is the thing that you have to do so basically to summarize what are the steps step number one you have to fog the project the original project then you have to clone it into your local machine once you do that after after that you have to like create a new Branch you have to add all the changes in your like whatever code you have written you have to add all those things get add dot after that commit those changes and just push them onto the main branch onto the branch exactly on which you are working on that's very important so this was all for this demo I mean these are just five to six steps which you have to keep in mind the flow will be same and if you are going to start your open-source Journey make sure you keep all these pointers in mind in this tutorial I'll teach you in detail how can we pick project from gak website and make contributions in it before we Deep dive into the tutorial so the very first thing is we will open the gso official web page this is the official website Google summer of code home and my main goal is to go and check out the organizations which were selected in 2023 so here this is their organization page 2023 program and these are the organizations here is the option to you know view projects as well and you can see these are the domains available I mean there are a lot of categories like artificial intelligence data end user applications web security many things are here right so you can choose your category I mean you know in which category you are interested into let's say if you are very much into web domain or security or maybe data or AI so you can click on those domains and then you know pick project of your interest but as a beginner I completely understand I mean when we are in University sometimes all we know is just a programming language like Java or C++ nothing else right so in that case I would like to give you an advice that in open source there are plenty of things I mean let's say you want to contribute to some Web projects but you are not very much sure about you know uh how some web Frameworks work or all those advanced stuff but you have decent knowledge of programming then there are a lot many subcategories inside a project as well like apart from coding you have documentation uiux or Testing Research search you can help the organization by providing mentoring once you have good knowledge of the project itself right so there are plenty of subcategories which you can look into and you can make your contribution in that particular domain right so now let's click on the web domain itself in this tutorial I'll pick one project from web domain and right now just pause the video and go in the comments and let me know in which domain you are into like app machine learning data and in the next tutorial I'll try to pick the project from you know that domain which you people are more interested into so if I scroll down here there are plenty of projects you can see like submit is here chromium is here wikim media so as a beginner obviously it's a bit overwhelming and confusing like which one to pick right so you can do one thing let's say if you have heard about any of these open source projects like as application developers as software developers most of us know about D Jango right so this project somewhere excited me when I saw this list and D Jango here so let's click on the Django project here and see what all is there in that project so once you decide that okay this is the domain I want to explore and this is the project right so I teach you like how to go a step by step like there are plenty of information available on the on these websites right so what are the important information and what you should do next right in order to save time so obviously when you are going to explore these domains these projects it will take some time especially when you are unsure of which project to pick right so this is D Jango software Foundation it is a web framework for perfectionist with deadlines nice description right and these are the idea list so basically if you scroll down uh like the contributor from past year bhesh Sharma was the contributor in G so with this project and uh he worked on allow moving our models between app okay so this is his project title and maybe you can check his projects as well his project or project of any other candidate to get a good understanding of you know how projects are created in goog well I'll I'll share a lot many more details uh so this is the project right and we have kind of checked a bit of idea list as well this is the Jango project.com the official web page and might be that this is also open sourced right um might be this is one of the GH repo GitHub repo and they want contributors to contribute to this web page as well so we'll go and check I mean how many projects they have this organization but before that let's uh look at this how the website is so obviously when you are going to contribute to any project you should first use it as a consumer you should use it as a user then only you will be able to you know add meaningful contribution to that project if you are using some project maybe a website any mobile application as a user then you will be at a better position to tell like how about if we add this new feature or if there is a bug let's say you are using some website and a button is not working so you can make uh an issue about that that the button is not working and if you have the app knowledge you can fix that as well right so Jango makes it easier to build better web apps more quickly and with less code this is their website meet Jango it's high level python web framework all the details are given here right awesome so kind of we have a basic idea of what this project is so I also you know I am more inclined towards developing mobile mobile application I have done a lot many Web projects as well like I have created plenty of them even in six month of my software engineering internship as well as working on HTML CSS react GS all those stuff but uh again I mean you know there are few things which excites you more like to me it is developing mobile application and here in this one we have to use Technologies like python Jango web these are given here what technologies or topics are heavily used in these projects here you see these two buttons mailing list and Forum these two are very very important okay and the contributor guidance as well is of atmost importance I mean if you see here this is a specifically for summer of code I mean the guidance the advice that the project maintainers the admins want to give to you will be all here okay so first let's do one thing to get started to contribute to any project it's very important that we are connected to phillow developers or the project maintainers and admins who are already contributing to that project right so let's click on this mailing list or Forum this is the place where we will see many developers from all over the globe uh they can be you know working in some company or might be University student school student anyone right so this is their pinned message looking to get involved you can start here apart from that if you scroll down there are so many questions there are so many um new new topics like someone has asked uh issues suggestion requested or people have uh you know discuss their project ideas as well here the beginning of contributing to jangu and so much so I will click on this one because this will take us to the right place I mean this message this topic says looking to get involved you can start here so welcome to Jango we hope you have fun if you're looking to get involved the first thing to read is the contributing guide and this is true for any project any open source project that you are going to contribute to so if we click on this one contributing to Jango and the contribution guideline so see here you can uh read that the work on Jango itself falls into three major areas writing code number one and then writing documentation and then localizing Jango so this is also very interesting thing like many of the open source projects uh they are purely mostly in English right and because uh some of the developers their users might be from different part of the world so localizing Jango means you know if they want to uh make the website available in some other language like um maybe Hindi or some like French any language for that matter right so that users of that particular City that particular country can also use it very smoothly right so localizing is also one of the ways with the help of which you can contribute to that particular project these are some advices here for the new contributor what should be your first step guideline everything is here so I hope you now have a good understanding that in any project there are subcategories and they have specifically divided into three main categories so if you want to get started with coding you can click on these links like start from writing code docs or if you want to get started with documentation then jango's documentation is one of its key strengths it's informative and thorough you can help to improve the documentation and keep it relevant so obviously I mean even if you are into software engineering one of the easiest ways one of the simplest ways of contributing to any open source project is to getting started with your documentation you can start fixing the documentation or you can start writing documentation for any new feature that they would have created right awesome so now let's do one thing I mean here they have given a lot many steps right so these are some advice for the new contributor I'm clicking on this advice for new contributor so these are the first steps that they have mentioned here advice for new contributor new contributor and not sure what to do want to help us but just don't know how to get started then obviously this section is for such people and I mean this project is completely new for me as well I have an open source contribution but not too much into uh D Jango project right this is completely new so the way it's new for you it's new for me as well this is how you you have to go a step by step right first read the contribution guideline you will get all the information here itself so these are the first step number one trash ticket so what this project is doing I mean mostly in the GH repo in the GitHub repo there is one section issues but what I feel from its first look is they are creating their issues everything they are tracking it at some different web page if we click on this so you can see here I inan code. Django project and this is their page where they have you know the tickets thing so if I click on updates so you will see here a lot many issues a lot many tickets are available here to work on and these are some filters which you can use right on GitHub it's pretty much simple but here this is their own website right so they have the uiux as per you know their convenience their interest you can add more filters from here let's say if you want to see issues which are of type UI ux maybe right uh and if you click on yes and click on update so you will see the issues which are purely related to the designning like uiux perfect and that's how you can go about you know picking uh any isoe and then making contribution for it if I go back here there are more guidance there are more things available here these are some guidelines for newcomer uh that you should pick a subject area that you care about that you are familiar with or that you want to learn about let's say if you are interested into uux then only you should pick the issues you should check the tickets which are of that particular subcategory right and this is um analyze tickets context and history it is important like uh when the ticket was created if any other engineer if any other coder is already working on that issue these things matter a lot so you should check all those things and start small if you are a beginner it's not must for you to go and pick a very you know difficult issue you can start with very small ones like uh I would recommend to maybe start with documentation related issue that will help you get a thorough understanding of the complete project you will read more of the documentation and you know you will learn from it and if you find some bug there you can fix it right and if you are going to engage in a big task make sure that your idea has support first if you want to let's say add some new feature on their website the Jango website right so you have to first disc that with the project maintainers with the project admins it's very important and yes be bold leave feedback so if you are using the product the open source project and you have some feedback that okay this feature can be created here this feature can be developed here so yes share your feedback with the admins with the maintainers it's very important for the open source you know maintainers that they get good feedback and they improve based on that and yes uh on side of caution when marking things ready for checkin wait for feedback and respond feedback when you receive these are some you know very important things while doing open source contribution and the last one that you have to be very patient is indeed very important because it might happen that let's say you have created a pull request but the maintainer is not uh free to review it so you have to keep calm maybe you can uh ping them you can mention mention them in the GH bull request itself but again it depend on their availability as well right awesome so like we have kind of uh read all these contribution guidelines right and uh this is everything you need to get started and if we go back one again so here the mentorship category Jango form is also available here they are they have given some specific you know guidance around you unit test and for new contributors some specific guidelines and all those stuff here are some more useful links like if you're totally new to open source how you can join the community a lot of many things are there uh and what I will do next is this is the blog page let's click on this and see what they have here okay so this is the blog page of Jango project itself now next thing I will do is like they would have given the link of GitHub repo somewhere here but I will just type here uh Jango project Jango project GitHub repository okay GitHub repository so the this is topic Jango project and this is the organization Jango organization so if I click on this this is the Jango project right this is their organization and I think they would be having multiple projects inside the umbrella inside the Jango organization like Jango project.com is there this is the I guess this one is their main website the web framework for perfectionist I mean the tag is also same these are some channels available here so what we can do is I mean to get understanding of uh which project of Chango organization is more active obviously this will tell you uh the one which is more active you can see the graph here here the update was made 13 minutes ago here 13 hours ago so let's let's do one thing if we go here so if we are willing to make contribution we have found the right project let's say okay this is the project that you wanted to contribute to and you are a web developer you are interested into web and these things like python Jango framework you have a decent knowledge of all of this I'm assuming okay so what you have to do number one step is now enough of reading contribution guidelines we have uh checked your web page we have checked their you know Communication channel The Forum everything and now is the time we have to start contributing okay so uh mostly here is one more section issues section in open source projects but in the Jango project this is not available here because they have mentioned they have like all the issues everything here in the Django project code. Django project and then they have query section okay so view tickets is the page where you will see the issues to work upon okay mostly you let's say uh quarkus is also an open source project right so if you click on this so you will see I mean issue section is here already like 2.1k that is 2,100 issues are already open here so in this one uh Jang over we are contributing uh the issue section is not there so we'll need to pick the issue from here from this tickets page step number one just no notice the cursor of my mouse okay after reading after exploring the project after reading their contribution guideline once you are here at their GH at your GitHub repo uh you have to click on the fog button here okay what this will do this will create your own copy of the D Jango project so if you see here right now github.com Jango and then Jango that is the Django project is right now inside the D Jango organization and once you will for it so it will be your username like uh mine is somia one Singh so somia one Singh and then Jango okay and that is it will create your copy of the project so let's for this project okay and uh create a new fork and a fork is copy of a repository it allows you to freely experiment with changes without affecting the original project and that's what is very important open source project let's say you are contributing to a project which millions of people are already using so if you'll push your code directly into that project that will affect all the users right if you let's say by mistake uh push some uh code which is which is causing crash to the application crash to the web page obviously we don't want that right users will go crazy if something like that will happen so that's why we create a fog that is our own copy of the original project and then we make some changes there and once we feel that okay it's good enough then we make a pull request which is reviewed by the maintainer of the main open- source project right okay so this is a step number one you have to create your own copy of the open-source project so I will just click on create for okay and uh then here are uh some you know steps going on internally they take few seconds to F it to your uh profile so you can see now the URL has changed I mean it is written here this project is fogged from Django SL Jango so if you go here this is the original URL which we mostly call as the Upstream URL okay and this is your original URL which we mostly call as origin right so step number one is clear you have to fog the open source project next thing is Step number two is you have to clone it into your local machine into your local machine so I will click on copy here and I will open up terminal I will open up terminal this is my terminal here and let's increase the size first so that it's visible to you so you mainly need two things obviously b l GH profile GitHub profile it's as easy as creating you know your IG or Twitter profile you just need your email this is basically you can say developers profile uh here you have all the record everything to which project you are contributing to or you know if you are pushing your own project all the details are available here on GitHub and next thing is you need to install git in your local machine that's very important so obviously I mean these are prerequisites and I have already covered all these things in the previous video on this channel itself you can go and check that out what are the prerequisites if you just type install git in the first official link you'll get you just have to download and follow these steps so I assume you have get installed in your local machine and with that being said what I'll do is I'll open up the desktop and here I'll create one folder mkd open source okay open source and I will CD into this directory open source and inside this open source folder I will clone the project okay so obviously again revising step number one is fing the project and step number two we have to clone the project into our local machine so we have to copy this URL from here just click on code and https is here just copy it and after that this is the second thing we are cloning the project into our local machine get clone get clone this is the command and you have to paste it and just press enter so you can see cloning into Django it will take few seconds or maybe minute depending upon your internet speed your um you know local machines speed everything so yes it's happening and once this clone will be completed then what we will do is we will open the Jango project in our IDE whichever IDE you use like intell Eclipse whatever so you have to open the project in your IDE and then the most important thing is you have to pick an issue which you want to work to like here we don't have issue section here in GitHub but we have it here so this is one of the you know most timec consuming things after exploring the organization after exploring the project reading the guidelines everything this takes a lot of time I mean finding the right um issue of your interest now because we have to cover this up so obviously I can't sit and you know put filters and go on reading each and every issue basically you have a lot many options here you can put filter based on your interest you can choose any issue of on your own right so let's now see here the cloning is completed so I will do CD and Django here so we are now inside the Django project which we have just cloned so here are a few handy commands which are very important and there is a g cheat sheet as well which I will share with you all you'll find the link of that in the description it's very handy okay so if I do here get status so G status basically tells you how many files are newly added or you know how many files are added but not committed everything basically it tells you the status of the project so it's all good now uh you don't have anything to commit and if you have to check the branch name so get Branch so right now we are on the main branch of the project right and another very useful command is you can note down these commands you can take your pen and paper and you can note down all these commands because these are very important actually and once you will you know use it very often then it will be in your mind like okay get a status get Branch get remote basically it tells you how many URLs are linked with this particular project and if you have to check the link as well of that uh you know uh particular name remote name then hyphen V so right now only origin is there that is our original project so I want to link the main project as well from where I fogged the copy I mean this is the original project and I created my copy of the project so my copy is origin but I want to link this one as well this is mostly people give it a name origin for that what you can do is get remote remote means something which is uh far away right so get remote ad and you have to give name to the URL we have to give a name to this URL mostly uh this URL from where we fog the project is called as Upstream so here we write the name and then paste it so get remote at name of the URL and the URL itself and press enter so now if we do get remote wi so we have two URLs here basically or is here and Upstream is also here right and um now let's do one thing I will open the project in intellig okay and then we'll make some changes and we'll like try to make PLL request that will help you understand better so I will click on open and then in desktop op whoops uh we will go here desktop open source and Jango is the project which I want to open right so this is loading let it open and there there might be some project which you know don't need these kind of IDs like int might be that they use some specific ID for example if you are contributing to any project of mobile app so obviously you'll need to open the project in Android studio right perfect so here you have to spend your time like you have to find the right issue uh feel free to use these filters and everything right now what I will do I'll assume that I've have got a good issue to work on okay you you can uh start with documentation you can put filter like uh you know if we go here there are a lot of options like created description easy pickings easy pickings meaning you know some very easy kind of issue you can check this as well if there are some issue which need test or or let's say I want to see if the issue has some particular keyword it should contain document keyword okay let's see if there is any issue with that you know keyword so okay there are some issue which have the documentation keyword I can go on reading these one by one and then picking any of these but right now I mean we have time constraint for the tutorial right so what I'll do is I'll I'll read some of the documentation here okay these are the docs this is the doc folder and before going into the documentation directory before contributing to the documentation directory make sure you read this as well because for the documentation as well they had a dedicated page if you remember we were on this page the first one and then here uh uh they said see writing documentation if you are very much inclined to contributing to documentation so here uh you should read this if you are getting into the documentation thingy they have given a lot of rules regulations a lot many things are here right these are the commonly used terms in their documentation this is the writing style which you must follow like instead of here or she you should use they them theirs like you know General gender neutral uh keywords you should use so you can read this so if you are diving deep into documentation or any subcategory for that matter make sure you read these details as well before making the pr so it's not compulsory to you know go through the complete list and everything but the important ones that before making the pr they want the contributor to make sure of a specific things so just make sure those checklist checklists are complete right awesome so now what I'll do is I will make a PR okay I'm assuming that I have got the right issue to work upon okay so the third step is f clone and now the third step is you have to create a new Branch okay uh so get Branch right now only one branch is here get checkout minus P basically what I'm doing is I'm creating a new branch and at the same time I am checking out to that Branch like right now on Main so if I'll create a branch named documentation let's say so I'll shift to that Branch okay this is important because main is the main branch like name is self-explanatory right so if we are going to make contribution it's important that we make a new branch and from that Branch like we'll work on that and then we we will make a pull request uh to request the project maintainer to you know accept the changes from our Branch let's say documentation Branch to the main branch I'll I'll draw all these things so it's all clear to you it might be a bit confusing in the beginning but it's very easy I mean I'll summarize all these steps don't worry so get checkout minus B and I'll name it uh doc Branch like documentation Branch okay so if now you to get Branch so you are now on the doc branch and there are two branches Main and Doc Branch so I will click on the docs directory here a lot many pages are here intro main many many and how to as well like in their uh on their web page they have the how to section as well like how to maybe do this how to create that thing you know specific to Jango and web dev so so let's say what I'll do is I will maybe for the sake of it to explain you uh I'm making a small change anywhere like well these look perfect and I'll put um a message to the maintainers to ignore this pull request because I'm making this just to teach you right but you have to go into the shoes section in the on the tickets space and you have to find the right issue to work upon and you have to work on that dedicated and then only do these things right so uh let's let's maybe go in the initial data you can go and read as well maybe if there are some bugs you can actually fix it but right now you know I can't go on reading and finding the bugs and everything so I'll just make a small change here okay this is this small change that I made but you have to make changes based on the issue let's say if your issue ask you to write a documentation for some new feature so you will create a new txt file you will write the documentation for the new feature all those things will be there so let's say you are done with the code change or documentation change whatever you wanted to do after that the fourth step is the fourth step is you have to again check the status first so now it is telling me that hey Saia like this file is modified now if you want to check what is modified in this that also can be done like let's just copy it one sec or maybe just we can simply write get diff and uh docs how to and initial data.txt so it is telling me that uh you made a change in this line and uh I can see like I just added one extra space here right so this way you can track your changes as well what change you made so here we are on the fourth step which is adding all the changes that we made or if you want to add all just write get add dot if you want to add a specific change like I don't want to add my local do idea file right so uh docs and then how to and initial data.txt so this will add that particular file into G all right after that next step is we have to commit the changes get commit M this is for writing the message okay if you are making some changes make sure you write some meaningful messages as well it's important other contributors other developers who are contributing to the same project will have an idea of what somia is working on right so here I will write the message because right now I haven't made any you know real contribution this is just for uh teaching you so I'm writing this for the project maintainers to kind of ignore this fullo request but let's say you are working on writing documentation for a new feature so you can write the message that documentation added for XYZ feature okay uh I'll write here demo uh PR okay this is demo PR and press enter perfect and now what I'll do is I will do the final step which is making uh you know the changes avilable on GitHub for that we use the push command get push get push name of the remote so I want to push all all these changes to remote first and from there I will make the pull request okay so get push origin and then the name of the branch which branch I want to push so I was working on Doc Branch right doc something so I will push that Branch only let me check huh it was dog Branch dog Branch so perfect so it is telling me that if you want to create a pull request for Doc branch on GitHub you can do this by visiting this particular URL so I will open up this URL okay and here you can see open a pull request this is kind of last step of your open source contribution I mean you just have to finalize it you have to make the pull request so demo PR is the name of the pull request and then you can preview your changes what change you made we just added a space because I had to teach you I mean how to go about it but make sure you you don't just remove uh spaces or remove commas just for the sake of it what practice you can in some random project let's say if there is some GitHub repository of your friend you can try it in that like the flow to understand the flow or you can try it in one of the projects that I'll share with you I'll share a link you can try all these commands there okay and uh once you are sure that okay you are good with the knowledge of these commands you can go and start contributing to the real projects after that you just have to click on create pull request you can write some comment here as well let's see if the project admin is hey whatever the name of the admin is I think GH itself suggests the top people who are contributing to it so you can tag them and and say that I have added the documentation for the new feature please review or something like that so I'll create the pull request here and that's it I mean the steps are as simple as it looked uh for now I'll close this um for big projects they have some test Etc running in background so I'll close it for now because I don't want the project maintainer to you know get disturb because of these demo kind of PRS so that's pretty much it I mean that's how you have to go about it now let me summarize all the steps for you so obviously you have to find the right domain for yourself you have to WR find the you know right project from g website once all those things are done the first thing is you have to fog the project right this will create your own copy of the original project and then step number two is you have to clone the project into your local machine so that you can open in your favorite IDE add some code code documentation whatever you have to do right you can make all those changes and once the change is done you have to all those changes using the git add command add all those changes which you have made in the code documentation wherever you have to add all those changes then the next thing is you have to get commit the changes and you have to write the message like whatever change you are making if you are you know working on some button some feature in the website in the application or maybe just you know adding some design color you have to give the message so other developers in that particular open source project get an idea that okay somia or you make made that contribution right and after that the final step is you have to push all those changes this is the name of the remote that is origin and then the name of the branch on which you were working on and one more thing here is which very important after cloning when you start working on the issue so you have to create a new Branch as well get checkout minus B and then name of that particular Branch right you can name it if the issue is let's say 5 1 0 so you can name the branch issue 510 so these are the steps and once you follow these steps you will be all set like your first pull request your open source contribution will be there in that particular project in the part two are you ready to contribute to an open-source project from gck website we'll pick a new project from gso website itself so let's first visit the G official website okay so this is their official web page and we'll go on browsing the organizations of 2023 so again as I showed you in the last tutorials we have so many categories here right and last time we picked one project from the web domain the project was D Jango project it was quite interesting I mean the GH repo that is the GitHub repository of that project didn't have the issues section but they have their own dedicated website for the tickets for all the issues that are there for the developers so the time now let's try to pick uh project from different domain usually as beginners I mean especially if you are in University it happens that we just know a programming language and not such you know any development skill like machine learning AI or how to develop apps or websites so let's do one thing I mean we know that these categories are there but assume that you only know one programming language like let's say you only know Java or C++ so in that case how can you go about it you just have to type here the language okay and it will show you the list of all the organization which have project related to the Java programming language like when I wrote Java here they are showing me this big list here like you can go on checking more projects as well like we have Jenkins we have open mrss check style a lot many projects are here right so again I'm in you can go about exploring these projects I mean one by one you can check the way I did in the last tutorial and if you want to you know get started with the contribution so you have to first check out your open source you know contributing guidelines they would have mentioned all these steps and then the commands will be same right so this time let's try to pick project which is you know a bit different from others like for which we don't use those common IDs intelly Etc but there is some dedicated software for example if we pick a project of uh mobile application development so there we use languages like Java cotlin all of these and we don't have the you know simple process like in the last one we clone the project and we open an intellig right so if we'll clone a project which is related to mobile application so in that case we will not use intelligy or common IDs let me show you how like if I write let's say Java so I think in Java as well we'll get get to see some you know projects which are which are uh related to specifically mobile application development I'll click on all first because right now it was just showing the development tools like Jenkins Etc so first let's click on all and now if I write Java so the list is you can see much much bigger I mean SEF as well the future of his too storage this is one of the redhe hats project only they also use Java a lot even Joss is one of the famous projects open source project which use Java heavily and here you can see M's initiative is also there so let's try to explore this one this time I think they have plenty of app related projects okay so I was one of their Google codein mentors as well way back in the I guess 2017 18 somewhere so yes it was was a good experience I mean pre University students were there and I was mentoring them like how to you know go about contributing to open source projects so the MOs initiative end poverty one line of code at a time this is their slogan and let me tell you that this organization has many projects under the umbrella and yes they are you know getting shortlisted into this program G so since years I mean what I have observed they almost are there every time in every uh gck period so the MOs initiative is here you can check the idea list of past years as well and these are the Technologies the topics that this organization heavily focus on so if you see here they heavily focus on Android Java cotlin spring angular all these are the Technologies in which they work into these are the topics that they are heavily specialized like Cloud AI fintech Financial inclusion mobile banking so I remember like they have a project which is about Mobile Banking applications sort of and let's say if you are you know interested in a bit of Finance plus you want to uh make mobile application you want to contribute to mobile application this would be a good project for you so if you are into developing application you know cotland Java all these things I would say you can go about exploring this without any doubt so yes here are you can see multiple options in the last project in the last tutorial we only had two options like we had chat and I guess one blog option was there but this time we have multiple options provided here because this organization would have shared their Twitter email everything like whatever the organization shares we see all those things here and this is your website before contributing before starting your open source journey I highly recommend recomend that you go and check out the product of the organization it's very very important like mos.org this is their web page the one true open platform for you know uh this is their slogan like one open platform for ending poverty this is what they focus a lot on and they organize their yearly and kind of monthly such sort of community events as well this is a picture from the event only it's a good organization ation I mean what I have experienced and what my mates also have experienced after contributing to this organization it's a good one it is an extended platform for delivering the complete range of financial services needed for an effective Financial inclusion solution and this is a flexible platform Global Community is there their mission is product success Mission success deployment success so let me tell you one more interesting thing like uh you now know that okay they are heavily focusing on Java cotland mobile application development and if you are very much into this domain you can obviously get into this I mean you can start exploring the issues you can start finding the right pick for yourself maybe just to start with documentation testing some you know um less uh difficult sort of issues and then you can get involved in the community mode uh if if you you read the G page of theirs they have uh mentioned somewhere that you should have at least one pull request with this organization with the their project and you are kind of eligible to you know apply to put proposals for their projects for gck all right so I think uh we did enough of research of this organization we now know that it's uh kind of a good one and let's close this tab now and you very well know I'm an of checking the product after checking the website or the application the next thing that we mainly want to do is we want to check the contributor's page I mean uh how can we go about contributing to that particular product or that particular project so this contribution guideline this contributor guidelines is a specifically for G let me also highlight one thing here that many students just run after the tag like G so or any such program for that matter but don't do this I mean uh let me tell you the truth here if you are good in any particular skill if you are good in any particular domain maybe web ml app anything for that matter if you have a decent knowledge if your fundamentals are strong in any particular programming language then trust me I mean it will be very easy for you to go and start the journey because you already have the core knowledge right it's just that you you should know the steps to contribute and which I have so many times explained to you we have summarized it as well what are the commands there are five steps mainly which you have to follow so yes uh let's check this as well this is the application template which they have provided uh this application template is there if you want to get into the gck program so first again focus on knowledge is start your journey make contributions make PLL request and the people who are here in the open source communities they are literally uh very helpful I mean if you are in the it sector if you want to become let's say software engineer so might be that in that particular open source project uh people from different companies are also contributing because open source it's open for everyone like um people from all ages people from different companies everyone is there right so let's say you need referral in any company in future so you can ask them for that as well because you both have worked in the same organization in the same open source project and somewhere that you know connection is there they already know that okay your work is good you are making pull request if they are reviewing it that Bond will be there right they they would be already knowing that okay XYZ person Som is a good software engineer she has written code in this particular project so indeed I and she's a good fit for this R so they can refer as well so we often heard this thing hear this thing right that your network is your net worth and this is literally very true in the open source world because you will see people from different countries different companies and they can help you excel in your career right so these are this is a template which is available on the me's official website they have given this if you are going to apply in their you know gck uh organization like when they are shortlisted you can follow this particular template so these are the questions which they are asking you to include like which project idea you want to work into you have to briefly cover everything like what feature you want to add what ideas are there in you in your mind and yes why are you the right person for this project so here if you have already contributed to this project for example I mean apart from G so period as well if you have made some contribution it will indeed help you in getting more advantages compared to other candidates who have not done any contribution right so if in college they are asking the current area of a study as well these are basically the questions which they are expecting you to include in your gck proposal okay and for G proposal I already have shared link on this channel itself if you want like more examples of G proposals how they are and you want to get idea let us know in the comments and we'll share again if you need so yes have you deployed and run the Apache finra platform these are the questions that they're asking to get an understanding of whether you have done contribution to their project or not so this one Apache finra as well as open MF this is basically their organization ID only open MF MF Community app this is one of their projects one of their application so yes this is specifically for G so now if we want to explore if we want to First Deep dive into how the projects are so obviously I have told you many times now you have to go to their you know Communication channel so they are doing all the discussions about the project about uh the issues everything on slack so once you will join Slack your channel you will see different you know topics subtopics around the project for now I am not um I mean you can go if you are interested in contributing to this project go and join the Earth slack read the discussions that will help you understand what other developers are doing and how you can go about it okay so this is again their mailing list if we click on this so yes here again I mean mailing list or Communication channel is the same they have uh kind of slack as the main point of communication and they have shared the link of some of their like social media handles as well here so what I'll do uh also here uh are some projects which were there in the last years so abinav Sinha like contributor in the last iteration contributed for finr modularization and then meos mobile 6.0 mobile banking app so abishek gururani he contributed to the mobile banking app which is one of their projects okay so if you go in the view project details so you'll get a complete idea of how and what features he worked on these are good things I mean when you will read this you will get a good understanding a thorough understanding of what a candidate is exactly supposed to do when he or she is shortlisted in gck right so now the next thing is you already would be knowing I will now like I have read everything the I have checked the product I have uh read basics of their contributor guideline everything I have almost checked I didn't join the communication Channel you can if you're interested and now I will check GitHub uh profile like GitHub page of this organization okay so I'll write here GitHub meos and yes this is the page meos initiative if we click on this so here you can see they have multiple pinned projects here so the community app is there which is written in HTML and I think this uh is exactly what we see on their website the main website I mean we open mos.org right so here is that project then Android client is there it is purely written in cotland as you can see Mobile wallet is written in Java meos mobile a lot many you know projects are here so let's do one thing let's open either of these projects Android client or M mobile and let's open it in our local machine now this project is specifically for mobile right I mean they have used these tags here Android application they are using dagger they are using retrofit if you remember in the uh tutorial on this channel self where I taught about apis so I explained in detail what retrofit what okay HTTP is these are very important when we talk about uh getting data from an API let's say you are going to make a shopping application right and you want to show show some data like U uh clothes uh all those things right so there obviously you must know how to fetch data from an API and that is where these third party libraries like retrofit or OK HTTP play a very very significant role right so this is the project here you can see my's Mobile Android application these are the screenshot of the application so once you will use use the application in your phone if you install it in your emulator you will run it might happen that you feel like okay this new feature can also be uh developed can also be added to this application or maybe if you feel like there is some bug there is some error which needs fixed you can create an issue for that as well and interestingly in this project we have the issue section provided here so let me now teach you some tips and tricks of this as well so if you are a complete now I highly recommend go to the label section okay and you can see here a lot of tags are available right labels are available like documentation duplicate epic and so on these are for GC I well Google code in and here you can see there are some good first issues as well as a beginner you can click on good first issue tag and these are the you know good first issue which they have created like toast message uh in case of wrong credentials or update the target SDK version and make sure you check the date as well I mean when the issue was created these are some very easy issues which you can pick to work on or maybe once we'll install the application in our machine like in our phone or maybe emulator then we'll have a better understanding of how the project is how the application is and then we'll will take it from there so yes I think now you should be able to tell me the steps so tell me step number one I mean you can go and write in the comment section as well what five steps do we follow to contribute to the project so because I am very much interested into mobile applications so I literally like these kind of projects like which use Java qul and all these things I can relate more to these right so if you are also into this I would say that you can start contributing and the you know project maintainers admins are all good they are uh very friendly they even have their kind of weekly U syip calls all those stuff as well I mean where you can get updates of everything if they are going to apply for the next year G so and all those things so the very first thing is we will fog this project right so obviously I mean I'm not going to explain again what for mean you can you can go and uh check out the last tutorial where I have explained in detail so we will create our own copy of this project by clicking on the fog button so here we'll create on create uh fog before that I'll choose the organization I mean where I want this to be created so as you can see I mean in this uh like S one saying in this ID I already have the MOs mobile F available right so what I can do is I mean if I change here instead of open MF which is their organization ID if I write mine because this one is already available as I told you like I was Mentor as well way back many years ago uh so I have already created a for of this what I'll do I'll sync this for so that everything is up to date all right uh so successfully F and fast forwarded from a Upstream open MF development Branch let me tell you this is kind of a new feature here on GH um me uh when we used to heavily do open source contribution we didn't have the s for and all these features but it's very interesting now I mean we used to get fetch and then get pull from Upstream right but this is very uh like developer friendly literally so if you go on the actual project here my F's mobile and let's let's see what all branches they have so cool development branch is the default one so many of the projects have main or Master Branch as the default they have development so this is the fogged copy right now what I will do is I will clone this project into my local machine and for that you should have get installed in your local machine right so this is the terminal open up terminal I'll increase the size so it's visible to you I hope this is readable all right so here I'll CD into that particular directory which I created in the last tutorial okay so CD desktop and we had the open source directory so inside this I will say get clone get clone and I'll just paste the URL of the project so it is cloning into meos mobile as you can see while it's doing this let's read the readme.md file of this project that will help us understand everything like what the project is how they are doing everything so you can see they this is the status tag they have the master Branch development Branch this is the chat section I mean they have their chat everything where they discuss the project on G okay so how to contribute the they have written everything here in detail it's an open source project and we would be happy to see new contributors I mean obviously every open- source project want that more developers come to them they contribute to them so the issues should be raised via the GitHub issue tracker that is here um mean in the original project this one so if you want to raise some issue you can click on issue section then you have to click on new issues and if you feel like there is a bug in the application which you can fix or there's something let's say new feature which should be added to the project you can add all those details here and here is a checklist I mean uh if you are reporting a bug you should provide the steps to reproduce the bug or you should add a screenshots videos everything here right so yes I mean that's how you can create a new issue if you feel like uh there is some new feature or some bug crash going on in the project so they have some Branch policies as well and before that uh they have given some guidelines like commit Style Guidelines which we can check from here and this is pull request guideline if we are going to make pull request then we must read this before making the uh pull request before making the pr so yes they are saying that F the project we have done that then they ask us to create the feature Branch I already told you in the last is very important to create your own Branch there are like further a lot many steps a lot many guidelines which you must read if you are willing to contribute to this particular project all right so now the Clone is done I will CD into MOS mobile okay now that we have a copy of this project into our local machine what I will do is and this is related to Android I mean this is not a um normal sort of project right so I will open up Android Studio for opening this project you will need Android Studio because uh this is specifically related to Java and cotlin right perfect and um now I will click on open an Android studio and if we go here in desktop we have open source and Meo mobile let's open this one so we'll say trust project and once it's here so you can you know run this project as well in your IDE whichever ID you are using like for Android we have this Android Studio in the same way if you have let's say project dedicated to some other domain then might be that you have to use a different ID right so here you can see this is the readme file of the project and because uh this is an open-source project which already you know so many people are using and usually like mobile application projects are a bit heavy so you know gradal bills a lot many background processes happen so if you open a big project in your Android Studio might be that it will take like 2 3 minutes or maybe longer to download every everything to do Gradle bills in the background but I would say don't give up because many times I have seen beginners when they uh F and clone um big project in their local machine they sometime get frustrated I mean why is it taking so much time it's completely fine because uh if they are some you know huge projects to which already thousands of hundreds of developers are contributing there are so many files there are so many pieces of code written so obviously it is supposed to take time right so here you can see I inan the sections are similar to any other open source uh Android project like uh you can see we have manifest file where we have all the permissions where we have the name of the project all those details we have Java folder inside which we have the actual source code like all the piece of code written in Java and coton everything is here so they have divided it into some sub categories like API related code is all here and you can see like they are also using OK HTTP and they have used like retrofit as well which I already taught you in one of the last tutorials right we have model classes which are also called pojo classes so everything is almost same this is the rest do uh folder rest directory in which we have designs and all those stuff if we go here you can see they have XML they have the you know design of the mobile appli apption it is initializing it is loading it's because it's taking time obviously because it's a heavy project right so I mean for me as well uh it took around like 3 to 4 minutes to you know completely download the entire project so yes now let's go here and let me explain you one more important thing if you are doing open source contribution like we already know the five to six commands GitHub commands which you we have to use apart from that sometimes it happens that we have to let's say rebase or you know we have we have some merge conflict so merge conflict is one of the tough thing in open source because sometimes let's say you are writing code and other developers are making contribution they are making their PRS they are adding code into the project might happen that there are U you know differences in your code and their scod and merge conflict might happen so for set scenarios if you are experiencing something if you want to use a command use a stack Overflow I mean uh whatever doubt you might have for some Advanced G commands everything like is already available in the developer Community if you ask there are in you know the slack Channel getter channel of the particular organization or a stack workflow you will indeed get the answer like let's say if you want to understand um how the git rebase command Works how git rebase works so you'll get detailed tutorial here like we have the official tutorial as well uh it is here from atashian you can read these tutorials and they're well explained as well you can get all the ideas from here like how the advanced commands work so I mean this tutorial was to help you explain apart from simple plain projects if there are projects which are a bit you know complicated a bit hard then that also you can do in the same way like first thing we did F get fog then uh we did clone get clone here and we are into the MOs mobile directory now if let's say you want to work on issue number 501 so the first thing you have to do is create a new Branch then you will work on that issue you will add your code design whatever you have to do then add commit and push for the detailed commands you can check out the last tutorial I've EXP laain there in detail I hope this detailed tutorial was helpful for you if yes make sure you hit the like button and subscribe to is scala's YouTube channel if you have any doubts or queries feel free to drop them in the comment section below and I will be happy to answer them
Info
Channel: SCALER
Views: 30,059
Rating: undefined out of 5
Keywords: gsoc, gsoc 2023, what is gsoc, gsoc proposal, how to crack gsoc, how to apply in gsoc, tips about gsoc, google summer of code, how to make proposal for gsoc, money from gsoc, gsoc mentor, gsoc roadmap, how to prepare for google summer of code, gsoc 2024 roadmap, how to crack gsoc 2024, gsoc 2024, google summer of code 2023, what is google summer of code, scaler, scaler academy, google summer of code 2024, open source, open source contribution, google, google internship, intern
Id: qGTQ7dEZXZc
Channel Id: undefined
Length: 128min 40sec (7720 seconds)
Published: Sat Nov 18 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.