This is the beginners guide to Google Summer of Code (GSoC). The Google Summer of Code is an annual global program sponsored and managed by Google. The program focuses of bringing more student developers into open source project development. In this program the students work with an Open source organization under the guidance of mentors (selected organization members) on a 3 month programming project in Summers.
It all started with a blog post. I was writing a blog post "the beginners guide to GSoC" to help various students (who otherwise reach us on various social media platforms to ask queries and the students of NITH) get all the information and resources at one place. Then I thought to create this repo so that other knowledgeable people can also contribute. Me and the other collaborators of this repo are all two times(2018, 2019) GSoC students. So, we'll try to provide accurate, to the point and as much information as we can.
The term Open Source means the source code of the software is freely available to its users and anyone can modify it. Open Source softwares can also be redistributed after modifying the original software. The Open Source softwares are usually available to the users for free, these softwares have no licensing fee or other restrictions as they use open source licenses. To know the detailed definition of Open Source you can visit this link - opensource.org.
Few examples of open source softwares which you might be using on a daily basis are:
- Mozilla Firefox web browser - It has 665,020 commits made by 7,369 contributors representing 20,505,182 lines of code. Reference
- VLC media player - It has 82,544 commits made by 524 contributors and has 50 releases. Reference
- Almost all the Linux distributions. Reference
Why Should we care if a software is open source?
As the source code of open source softwares is freely available. Then there is negligible chance that the software is not respecting the user privacy. Which means that the software can't do something like this These 6 popular browser extensions are selling your data and this Uninstall These Eight Browser Extensions That Stole Data from Millions.
But this does not mean that open source softwares are more secure than the closed source softwares. As in case of open source, the code is freely available so the threat actor can easily find vulnerabilities in it, when compared to the same software being closed source. But almost all of the popular open source softwares are being developed by the "best of the brains" on the earth, so worry not.
There is another reason we should care about these softwares, as most of these softwares are created and maintained by developers who don't get paid for anything or organizations which rely on donations to keep their projects alive. These softwares are not created for the purpose of earning money and making profits rather they are created to help/ease the lives of other people. To understand this better you should have a look at the History of Firefox.
The Open source projects benefit users in the way that they are free, can be modified and re distributed (but to modify any software one should know it better, not everyone can modify a software), provides flexibility. These projects also benefit large corporations eg. Microsoft edge is based on Chromium and open source browser. These corporations can use the source code of open source softwares without any restrictions or license issues.
How to make a contribution in Open Source Projects.
Write Difference between Open Source and Freeware Softwares here.
What is git and GitHub and what do we need to know about them.
What are version control systems, mention a few and write about their importance.
What is Google Summer of Code, write intro about it.
Mention the criteria and Provide the link too.
Can I do it. I'm just a student.
GSoC the good parts here.
What are the skills required for GSoC.
Where to begin, how to make a roadmap. What to do and what not to do.
Selecting the Project and Organization
Understanding the Project
Drafting the Project Proposal
Getting Selected and sometimes rejected. How to handle rejection and what to do on selection.
You have something to share? Open an Issue or Create PR.
This project is licensed under MIT License