Transcript for:
Strategies for a Successful GSOC 2025

Hi everyone and welcome to PNA College and today's session is regarding the strategy for GSOC 2025 which is Google Summer of Code. Now we have multiple students who have gotten selected in GSOC in the past few years both from YouTube as well as paid badges. And this is literally one of the most demanded videos on YouTube from our students and that is why we decided to make this session. Now in today's session we are going to talk about a lot of different things including what exactly is GSOC, what is the timeline of GSOC, how do we select organizations, how do we exactly write our proposal, What are the things which increase our chances of getting selected into G-Soc? And throughout the session, we'll also get to see different tips and tricks from students who have already been selected in G-Soc. So the best thing that I like about Google Summer of Code is that here our branch doesn't matter, our degree doesn't matter, our marks don't matter, our year of college or semester doesn't matter. If we have skills and if we are ready to put in the hard work, then we stand a good chance of getting selected. into this open source program which is run by Google from the past 19 years. So, those students who don't know, GSoC is an open source program in which Google invites different organizations which bring their projects and invites students so that they can contribute to those projects. And this entire contribution is around 12 weeks and it is very similar to having an internship. Now, in GSoC, there are three different types of projects which organizations bring. Small projects, medium projects and large projects. Depending upon the project size, our hours of commitment differ and our stipend also differs. For small projects, generally in India, the stipend is 700 US dollars. For medium projects, it's 1500 USD and for large projects, it's 3000 USD. This stipend is around 2.4 lakhs, which definitely catches the fancy of most students. But stipend should not be our primary objective for preparing for GSOC. The primary objective of G-Soc should be to apply. First of all, the kind of opportunity that it brings. It's a really good program to be part of. And secondly, the experience that it gives you. We get the opportunity to work in a good project with good developers around the world. So that is a very unique opportunity for which definitely every student should try at least once in college. Now before moving forward, there is one more message which I repeat in G-Soc every time. That Google Summer of Code is not about competition, it is about collaboration. Definitely the stipend is good but stipend is temporary in tech but the experience we will get, that experience is going to be very very very permanent. So let's talk about GSOC. The most primary thing we have to keep in mind in GSOC is the timeline of the program. Now we can go and visit this link to view the entire timeline of GSOC. This is the timeline of GSOC 2024, that is this year. The preparation we are doing is for 2025. Now there are 3 dates in the entire timeline which are most important. First of all, the announcement of organizations. Generally, all the organizations and projects that are going to participate in GSOC this year are told in Feb end of 2025. So, in Feb end, we get to know which organizations are coming, which projects are available, on which we can contribute. Then, we have about a month's time in which we study organizations and projects in more depth. We try to understand their code base. We try to understand their issues and network with the mentors. After that, the second important step that comes to us is to submit our proposal. Proposal is that document in which after picking the project, we have to tell about ourselves and we have to tell what are our plans for the project that we want to do in the summer. Now generally, we get a lot of time to submit the proposal, which is from March end to April start. And then comes the third most important date when the contributors are announced. That is, in May, we are told which students are selected for this year and which students will be working on GSOC projects this year. Now, according to this entire timeline, we have to start our preparation. Now, a lot of beginners think that officially if the program starts in February, then we will start contributing or learning stuff in February. But majority of the students who get selected in G-Soc start their preparation very early on. The first step of starting the preparation for G-Soc or for contribution to any kind of open source technology is to learn something on our own first. Majority of the maintainers of open source projects, they do not like hand holding. They like to have a person who already knows some things and they are able to contribute in an impactful way. So basically, to contribute, first we need to be good at some technologies. So our GSOC 2025 preparation should ideally start a few months ago. So October and November are good months to start our preparation. Now the first step in the preparation journey is to learn a programming language. Python, JavaScript, Ruby, PHP, Java are one of the most popular languages with which students start. And in fact, these are languages which majority projects use in GSoC. But apart from this, if our interest aligns with languages like C, C++, Perl, then we can also go and learn those programming languages. Apart from this, there are many students who have an interest in data science, or are inclined towards machine learning, or hardware. where technologies are inclined, so in G-Soc, there are such projects which are data science heavy and which are hardware heavy. So if we are somebody who is not in mainstream programming but interested in niche technologies, then there will be something or the other which will happen for us in G-Soc. So we can contribute in those things too. But the important thing is that when we are learning our programming language or learning any other technology, then our fundamental understanding should be strong, which will help us in G-Soc's different projects. code base ko bhi samajhne mein. Now if you are a beginner who is still confused about which language to pick, to meri personal advice aap ke liye rahegi ki ya to JavaScript ko pick kar lena hai, ya Python ko pick kar lena hai, kyunki ye do aise languages hai, jinn ke andar majority GSOC projects aate hai. Aap first step humare liye jab done ho jaata hai, to hume second step karna hai, which is to build projects on our own. Aap khud ke projects ko build karna important hai, kyunki tabhi hume ek understanding aayi ki, ki kis tarike se different products technology ki help se build hotay hain. And this is really fundamental. A common mistake that first time programmers commit here is that we have learnt the syntax of a programming language and then directly we are trying to understand someone else's codebase. This mistake is because until our fundamental understanding is not strong and until we don't know how to make our own projects, it will always be difficult to understand other people's codebase. While building projects, we can start with small projects which end in 1-2 days and gradually we can increase its scale. Now third and a crucial step in the preparation journey is to learn about version control system. In version control system, we have many different tools like git, git hub, git lab which we can learn about. My personal advice would be that you start with git and git hub because they are the most popular. We will be getting majority projects here and we will get many good resources readily available. When we say that we have to learn version control system, it means that our understanding of git and git hub should be very strong. We should have detailed knowledge about branches, versioning, commits, push, pull, etc. We should have a good understanding of git and git hub. And we have to see all these things hands on. Regarding version control, we have already put a complete tutorial on Git and GitHub on our college. If you are interested in learning, you can go and learn from that. And apart from that, the majority of the programming languages that we have discussed, their one shots are also available on this YouTube channel. Now the fourth step in the preparation journey is to have some open source contribution experience. Either we can directly go to GitHub, we can pick some random organization, some random project, and we can start contributing on top of that. Or we can use GSoC. previous year organizations. You can pick one of those organizations and start working on those organizations'projects, contributing to them. So after that, the organization aligned to my tech stack, I selected those and I went through their issue, I studied their project structure and repository, then I started my contribution. If you want to know about previous year organizations, then we can go to this link. Depending upon different technologies in which we are interested, different organizations will come to us who participated in GSOC last year. Now if we want, we can randomly open any one organization and we can visit their project. Now let's take an example of this project by FOSS Asia. Now, in every project, generally we have some issues. If we are a beginner who is going to contribute for the first time in open source, then in many organizations'projects, when we go into issues, then some label is attached to every issue. And in some organizations, there are specific particular labels which are given for beginners. That means there are some issues which are specifically assigned to beginners. For example, on this project, there is a label called good first issue and a label called newbie friendly. So basically, the issues with which these particular labels are attached, are the issues with which beginners should start. So if we are a beginner, we can open the project of the previous GSOC organization, understand their code base, and try to solve the beginner-friendly issues in them first. These issues do matter in the long term, but in GSOC, if we want to increase our chances of selection, then we have to target high impact issues, which can be basically a feature request, an enhancement, or a bug fix. But basically, we have to try to make such changes in our codebase that positively impact the organizations and impress the maintainers. Because the bigger the impact of the PRs we are creating, the more our chances of getting selected will be. That's why as a beginner, we are making small contributions, but to increase our chances of selection in the long term, we have to make meaningful contributions. There, just by changing the readme file, we won't be able to select. There were multiple issues, we have to look if the issue is assigned to someone or not. If it is assigned to someone, wait for a few days. then you can tell assign me this if the issue is not assigned to anyone you can directly ask question it to you and you can add more features to that project adding features will be a plus up these were the four steps which we have to complete before the official start of gsoc Because if we have already done these four things, then we will have a good experience from the beginning through which we will be able to contribute in a positive manner to the organizations which will actually help that project. Now specifically for GSOC, there are two things that we need to do. First of all, picking an organization and second is connecting with the maintainers. Let's talk about picking an organization first. This is the same thing that I covered last year in detail. Basically, we can increase our chances of getting selected by picking an organization months in advance and how do we do that? On G-Soc, we have an official list available that in the previous years, which organizations have come under G-Soc and there are some particular organizations which bring their projects under G-Soc every year. So basically, if we pick one of these organizations and we start contributions on it a few months earlier, so we have a better chance for showcasing our skills, making meaningful contributions and higher chances of getting selected. Now here comes one downside that majority students will also be doing the same thing That the organizations that come more frequently in GSOC, majority students will be contributing in them And that is why the competition for the same kind of project is a little bit high So here we can take a preference for ourselves That whenever we are picking the organizations that will come in the past year So don't stick to just one organization Try to pick 2-3 good organizations and also pick such projects of theirs in which we have personal interest The more we are interested in that project, the better we will be able to contribute to it. And the more we will have zeal to work on it. Secondly, sometimes in G-SOC there are such projects on which not a lot of people are working. So sometimes if we contribute to such projects, that also leads to higher chances of selection. If the organization is really going to come that year, if you go and check in their GitHub, a section will be made of G-SOC 2024 or G-SOC 2025. But if you actually search properly in GitHub, you will find it. Because I also got it. GSOC announced in March that NixOS and Plone are going to come. But before that, I knew that they will come. Because I saw in their GitHub in February that they had a report set called GSOC 2024. And it roughly showed the names of mentors and some projects. Now, the criteria for picking an organization or project for the majority of students is based upon chances of selection. Or interest. Apart from this, there is another third criteria which we can look into. Basically, there are two types of organizations that participate into GSOC. First category of organizations are those who are participating in GSOC, but they have so many projects, so many technologies that if you are getting selected in these organizations, then there may be a chance of a long-term internship there. In such organizations, Chromium comes, Zulip comes and the second type of organizations are those which are GSOC specific where there are not so many chances of a long-term internship. So many interested students'criteria about picking an organization are the opportunities that the organization provides apart from GSOC. Apart from this, the second step is maintaining good contact or connecting with the maintainers of the project. Now, it is very important to communicate with the mentors of our project, to stay in touch with them, especially in the official GSOC period when we have time to explore the codebase and contribute to the codebase. Now, the most important thing in the entire GSOC process is to maintain a good contact with the mentors. is to contribute to the project. And these contributions should be impactful and meaningful contributions. If before the official start of GSOC, i.e. in the months before Feb, or before our proposal is submitted, if we make a good number of contributions to the project, then generally the proposal stage after that is only for namesake. there it is already pre-decided that these are the candidates who have contributed the most in the project and these students have the most chances for getting selected because if you are somebody who has already worked on the code base if you are somebody who has already created some PRs if you are somebody who has already solved a lot of issues then definitely the maintainers are going to trust you to work on the project and definitely we will be able to give better suggestions in the proposal regarding what kind of work we are planning to do So it is very important to contribute on projects before submitting a proposal. I started contributing around November. By January, I think I had around 5 PRs merged. And after that I was just sort of working on the proposals. Apart from this, it is very important to communicate with your mentors and stay in touch. If you are stuck somewhere, then you can ask for help. Many times projects have their Slack channels or other groups that we can join in case we are stuck anywhere. Now one thing you have to keep in mind here is that you don't have to go and ping maintainers as a beginner. Because unnecessarily sending messages in official groups just for the sake of connecting can be a bad step. The best thing for us is to communicate effectively with maintainers. When we are actually stuck somewhere, then only we have to go there and engage in meaningful conversations. We have to ask some meaningful doubts. And we have to try to work more independently. We don't have to think that maintainers are responsible for solving all of our beginner level doubts. So engage in meaningful conversation. Respect the maintainers as well as your time. So these are two important steps. After which, hopefully if we have done so many things, we will be able to do it again. So in majority cases, we have already done 80% effort and if we have done the right number of contributions on a project which has been selected in G-Soc, then definitely our maximum chances of being selected. After this, the final stage comes that is about submitting the proposal. Now for the majority of good candidates, the stage of proposal is just a formality. We have to make the proposal crisp, attractive, easy to understand so that a mentor feels like reading it. For students who are interested, I have already put the links of some proposals in the description box, so you can also check out from there. Now, after submitting the proposal, the common mistake that some students make is that we stop our contributions before the results are announced. And that is generally not a positive thing. Basically, even if we submit the proposal once, but after that we have a lot of time until all the selections are announced. So, we have a window to contribute. to the project where we feel that in this project we can work more in the future. So, we don't want to stop our contributions because no organization wants that you are contributing to a project only because you want to be part of the program. They want that you have actual interest in their product and project and that is why you are willing to contribute to that even though you have already submitted the proposal. So, keep your contributions and PRs going because hopefully that will get us selected for GSOC 2025. So these were all the important things which are necessary for GSOC 2025. Now before signing out, I would like to tell you two more important things. First of all, hands-on experience is a must. We cannot think that we have seen today's strategy video and we have understood everything. Now we will go and see 4 more roadmap videos but we will not do coding. Most important thing is that we strengthen our programming skills, strengthen our open source skills, get good knowledge of GitHub and start doing open source contributions. Because the moment you start learning and the moment you start contributing, those are one of the most important things that are going to happen in our journey. So, watching 10 roadmap videos will not help you in anything. When will it happen? When we actually learn something and practically implement it. One more thing that we can additionally do is to check out the official GSOC page. You will also find its link in the description box below. And the last thing that I want to convey is that G-Soc is a very good learning opportunity in itself and this experience can be very important for us especially if we are somebody who is in the early years of college because if we have tried, if we have put in 6-7 months of hard work on G-Soc and eventually in worst case scenario if we don't get selected then also we are in a positive situation as compared to our today's version because that 6-7 months of hard work towards learning different technologies towards gaining some open source experience towards understanding how our code bases are visible in real life scenarios how projects are worked on that trial and error process will be a good learning opportunity for us which will teach us a lot so putting some effort in the next few months will be worth it so I hope that you have thoroughly enjoyed and learnt something new from today's session I hope that this session contributes positively towards your G-Soc and your entire open source journey that's it for today, see you in the next video, keep learning