Beyond the Horizon: Open Source Programs and Fellowships
Unraveling the world of OpenSource
A project is said to be Open Source when it is free to use, study, modify, and distribute for any purpose by anyone who wishes to participate. These permissions are enforced through an open source license. These open-source projects are popular and influential because they lower the barriers to adoption and collaboration, allowing people to spread and improve projects quickly.
Community and Collaboration
The open-source community provides an excellent opportunity for aspiring programmers to distinguish themselves. By contributing to various projects, developers can improve their skills and get inspiration and support from like-minded people.
In this article, we will explore the various benefits of contributing to these open source projects, counter some misconceptions about them, and hear from some of the students of NITR about their contribution to open-source projects and their major takeaways from the same. But formerly, let's get ourselves equipped with all the nitty-gritty of the various open-source fellowship programs and internships.
The Plethora of Open Source Programs
There are several open-source fellowship programs and internships available for university students and working professionals to get involved in. One of the major misconceptions among many people is that contributing to open source means getting selected in these programs, and it could not be more wrong! These Programs aim at expanding the open source community and are one of the best means of testing one’s knowledge, improving it, and bonding with the community to build quality code that serves the entire world. So without further ado, let's take a deep dive into some of these programs.
Google Summer of Code (GSoC)
Google Summer of Code program is an initiative by Google. It was started 16 years back and aims to promote open-source software development among university students. First, the organizations having the mentors apply to Google, and after the organizations are selected, the students apply to the organizations. Students get to work with the open-source projects of an organization on a 10-week programming project. The program comes with a stipend of 1500 USD. However, one must note that participating in GSoC doesn't mean that they are an employee or even an intern of Google. (GSoC)
Pritish Samal, a pre-final year student from the Department of Ceramic Engineering, shares his story about GSoC.
I had applied for GSOC and got selected by the organisation, but google didn't have enough slots. The organisation offered me work as an external contractor with the same stipend as GSOC. I got this opportunity owing to my interest in open source. I had some organisations in my mind where I was contributing, namely AnitaB.org, the react-native foundation org, and the open bioinformatics foundation org. The organisations participating in GSOC are made public at the end of January. And I found out that the first one was not listed. I applied to the open bioinformatics foundation. I had contributions before that, and the mentors positively accepted the proposal that I suggested, and I got this opportunity even after getting rejected by GSOC.
It is a global community for student developers. A 12-week remote program allows students to collaborate on an Open Source project and find and nurture relevant skills required for the industry. It consists primarily of three tracks – Explorer, Open Source, and Externship. What makes this a great program is that the skills that one gain in the fellowship are the ones they require to be a successful contributor, like writing good documentation, open-source best practices, communication, etc.(MLH Fellowship)
Google Season of Docs (GSoD)
It is a new program by Google where technical writers and open source organizations work together on open source projects. Students who wish to learn from industry experts and work on various open-source projects can benefit from this. As per the eligibility criteria of GSoD, one must be 18 years or above at the time of registration. (Google Season of Docs)
It is a remote internship of 3 months where only a handful of students are selected across the world. These internship projects focus on programming, documentation, project marketing, etcetera. During the application process, one needs to show some genuine eagerness about why they want to be an intern and, in turn, what they're going to accomplish. It also comes with a stipend amount of 5500 USD. (Outreachy)
Season of KDE
It is an outreach program for all individuals across the world. It's an international free software community that develops free and open-source software, and anyone can contribute to KDE through the program. The participants also get involved with the KDE Continuous Integration System, ported KDE Applications, documentation, and various other things. (Season of KDE)
Tezos India Fellowship (TIF)
TIF promotes open source by helping the developers in India be mentored and supported in learning and then building on the Tezos stack over the course of an 8-week mentor-led program. The fellows also receive a stipend of $2000.
Team MM recently caught up with Thakur Patel, a final-year student from the Department of Mechanical Engineering, who has been selected for this fellowship program. He shares his interest in open source and his selection procedures. (Tezos India Fellowship)
Thakur Patel: Before the Tezos fellowship, I was introduced to open source contributions through a hackathon by Devfolio. I participated in and was the Winner of Etherpunk 2021, which was organized by ETHIndia. This was my first ever interaction with open source. Submission Link
In Devfolio, there are multiple fellowship programs, and Tezos India Fellowship is one of them. For applying, one needs to have a proper GitHub profile with Open Source contributions, projects, and, preferably, hackathons. They basically judge you as a developer, and knowledge about developing on Tezos blockchain isn’t mandatory. You’ll learn about the Tezos stack in the initial week of the fellowship. This will give you a brief idea: Medium article link. They give updates on their discord server: Discord link
In my first year, I was very much interested in smart grids, which is a concept of electrical engineering which is usually taught in a master’s degree program. Unaware, I started exploring slowly, and I became more and more curious about the electricity distribution area. During this time, I chanced upon blockchain. I didn’t know whether it was open-source or not, but I was fascinated by it. So I went on to read 10-20 articles on it. Then I learned about the theory, working, data structures, and cryptography. And after a while, web development became a part of it, and I learned development to delve deeper. So it all roots back to my interest in blockchain.
For people who are starting out, I would advise starting without any fear and keeping in mind the fact that the community out there for blockchain is huge and really supportive. Learn and then participate in hackathons. Do not be afraid to ask for help. I had Ashwin Shekhari(Click here), a graduate from our college and the only person I know from college who had experience in blockchains, to help me out in my initial phases. He guided me when I was preparing for an internship at IIT Bombay on blockchain technology. That got cancelled due to Covid eventually. But that’s the main idea, form a group and participate in hackathons because that is where the real learning happens when one assembles a project. Ashwin Sekhari and Sudhansu Sekhar Swain were my teammates for my first hackathon, Etherpunk.
For Beginners: One can start with any web development course and then watch Dapp University videos Dapp University. Gregory (the tutor) introduces you to developing on the Ethereum blockchain. Then you just head over to any discord group for let’s say Ethereum, Tezos, Solana, Polkadot, etc., and ask for the resources and they will definitely help you out.
Open Mainframe Project Mentorship Program
It's Open Mainframe Project's open-source program held from February to September, where the participants will expand their knowledge on the mainframe technology. So interested people in the mainframe should undoubtedly check this out and contribute to open source projects, making it easier for infrastructure applications to run on the mainframe. (Open Mainframe Project Mentorship Program)
FOSSASIA is a non-profit organization that supports developers making free and open source technologies. The FOSSASIA Codeheat is a two-month-long coding contest run by FOSSASIA. In this contest, the mentors are themselves developers, professors, or contributors who are a part of the FOSSASIA open source community. (FOSSASIA Codeheat)
Linux Kernel Mentorship Program
The program offers a structured remote learning opportunity to people who are aspiring to be Linux kernel developers. People who have experience as Linux kernel developers mentor the participants and thus help them become contributors to the Linux kernel. They have some initial courses to complete before getting involved in the program. The Community Bridge also supports this program. (Linux Kernel Mentorship Program)
Redox OS Summer of Code
Redox is a general-purpose Open Source that is written in pure Rust. The Redox OS Summer of Code is primarily meant for the students who have already contributed or have desired to contribute to Redox OS, and hence they are the ones who get selected. (Redox OS Summer of Code)
Hyperledger Mentorship Program
This program is for anyone interested in blockchain. This mentorship program allows its participants to get practical exposure to Hyperledger open source development. The community members interested in mentoring students submit their project proposals to look and find their niche. (Hyperledger Mentorship Program)
It is a 90-day fellowship program for third or pre-final-year students. The GitHub Externship program is about learning, preparing students to be market-ready, strengthening industry-academia relations, and giving practical experience to students of only GitHub Campus Program institutes.(GitHub externship) NIT Rourkela is one of the few select schools that are a part of the GitHub Campus Program.
Saswat Mishra, a final year student from the Department of Biomedical Engineering, shares his journey of getting selected in GitHub Externship:
I got to know about the GitHub externship through an article. Early this year, GitHub announced multiple initiatives like incubators for startups and much more. And one of them is GitHub externship which is a collaboration between GitHub and IncubateIND. I got to know in late March. For a student to apply, one must belong to an institution and be a campus partner. Harish R(GitHub Campus Expert) and several members of DSC NITR helped with it. The externship officially began on 22nd June and will go on till 24th September.
I knew Java, so when the organizations were declared, I started looking for organizations with projects. That is when I found out about Leveris. Leveris is a competitor of slack and is meant for large organizations.
When I tried their application, I liked it, and hence I stayed with it. After applications were selected, each company had its further rounds of screening. We had to build an application that would run inside their own platform for my organization, and six of us were selected in that round.
Open Summer of Code
Open Knowledge Belgium organizes this program wherein all the participants have to work in teams on open source innovation projects by partnering organizations, companies, and even governments. Everyone has to work as a student under the Belgian regulation even though staying in Belgium isn’t mandatory. (Open Summer of Code)
Digital Ocean Hacktoberfest
Hacktoberfest is a popular open-source program that Digital Ocean hosts. This program is particularly very useful for individuals starting with open source as there's no such thing as selection criteria to get involved in this program. You can contribute to participating projects at first, and even if you couldn't make a significant contribution to the project, you get to learn how to use Git and Github. Pritish Samal and Saswat Mishra both mentioned that Hacktoberfest had introduced them to the world of open-source. (Digital Ocean Hacktoberfest)
Free Software Foundation (FSF) Internship Program
This FSF internship program is for people interested in web development, systems, networking, and software licensing. The projects are pretty good, and also, one gets to work with the organizations that sponsor the GNU Project. (FSF internship program)
GirlScript Summer of Code (GSSoC)
It is a three-month-long Open Source program that the GirlScript Foundation conducts during summers. This program started in 2018 to help absolute beginners start their Open Source Development journey, thereby promoting diversity and inclusion. The participants contribute to different projects under the guidance of experienced mentors. Top participants get exciting rewards and opportunities. (GirlScript Summer of Code)
In an attempt to transform projects into category leaders, LFX provides tools built to facilitate every aspect of open source development. Most open source tooling is built to track repositories and operations at the organizational level, but projects are often much more complex. Hence, LFX provides much-needed context at the project level by aggregating, analyzing, and contextualizing data across all your repositories and contributors. The LFX mentorship aims to train the next generation of open source developers. This mentorship program is developed to help the developers acquire the necessary skill sets and thus contribute effectively to the open-source community. (LFX Mentorship)
Debabrata Panigrahi, a final-year student from the Department of Biomedical Engineering, shares his LFX journey:
I had applied for GSOC in my second year but didn't get selected because my proposal was not up to the mark. In my third year, I got to know about the LFX mentorship. The process was straightforward. There was a dashboard where projects are listed. For applying, one needed a resume and a cover letter. But the catch is while some mentors judged based on work done earlier, others expected us to have worked on their repo. Chaos mesh had two projects and had two separate tasks for that. One had to do with a map-reduce algorithm, a crucial concept in the distributed file systems, and the other was a pretty much DSA question. I tried the first one but couldn't complete it. So when the second task came, I submitted it pretty quickly with the help of Vedant, another active Open Source contributor from our college. A few days later, there was an email that I got selected. So this was my selection journey for LFX mentorship as a mentee without even knowing whether the program was paid or not.
Why contribute to Open Source?
Now that we are all aware of the basics of open source contribution and learned about some of the programs, it raises an even more important and puzzling question. What's in it for you? What can be the motivation for a beginner to start and continue contributing to open source?
Open-source, undeniably, has a massive number of global contributions in the world of technology today. Consequently, it provides plenty of advantages and a significant number of enriching and remunerative opportunities to the community. There can be a wide range of individual motivations for people to contribute to open source, but some of the most common reasons can be summarised in the following points.
Open source is one such sphere that helps any tech enthusiast improve their programming skills no matter their initial skill level. The mentors' immediate feedback on development and programming while contributing to an open-source project is highly beneficial. A beginner can learn how to follow standard practices, use better conditional logic, and speed up the execution of a program. Having the pull requests (PRs) accepted boosts one’s confidence and incentivizes one to continue in the field of technology.
Being part of a community that has the same interest as you do is always rewarding. Perpetual growth, the burgeoning of ideas, and increased exposure are some of the treasured takeaways from being an active member of the open-source community.
Open source projects are the best places to educate oneself with the most up-to-date information regarding tech stacks, industry best practices, innovation, and challenging problems. Thus, contributing to a project provides critical work experience to help the respective contributors garner some real-world skills.
Furthermore, contributing to open source can open newer and superlative job prospects. An active open-source contribution has helped many students from our college to advance their careers.
On asking about the same to Debabrata Panigrahi, one of the finest open source contributors of our college, he had the following to say:
When I think about open source, the first thing that comes to my mind is collaboration and community. Many programs facilitate students to join and contribute, but that is not the significant chunk of what opensource stands for but instead is a stepping stone. Those things are in place to get new people involved but what is more important is the community that thrives. The kind of people you meet is diverse. Someone might be a software engineer, and you might be just a student, and yet you could be working on the same project. This collaboration is essential. The second thing is you get to interact with a community that helps you, a network that grows with you. Open Source is primarily famous for the tech stack you get to work with, but it is very intimidating at the start due to the level gap, which eventually levels out.
After joining the learning curve and the growth has been substantial. Open source is about growing together with a community that helps you and you contribute back. It is collaboration regardless of barriers of experience, timezone, etc. what one should learn from this community is that there are people who contribute even with 9-5 jobs. This is open source in its true essence.
People usually think it is vital to code to contribute, which is totally wrong given the high demand for workforce documentation, which is as important as anything else. So the environment of just doing coding to get a job has to change so that the tech community reaches its true potential.
Busting the myths
Although open source is a widely adopted approach to technology, it abounds with myths. A few of the many misconceptions surrounding open source contributions are discussed and debunked below.
- It would be best if you were a know-it-all before making contributions. While one might think Open source is only for those who meet absolute professional standards, it is pretty far from being true. Every good open-source project has many issues that people of almost all skill levels can solve. If you are an absolute beginner, you can contribute to the ‘good first issue’, and ‘beginner-friendly tagged issues.
- Free Software and Open Source Software are interchangeable terms. Although they might appear similar in their dictionary meaning, they are pretty different in the context of technology. To know more about Free Software and its differences from Open Source software, refer to the following article free software vs open-source software.
- You need an engineering or Computer Science(CS) degree to contribute. This myth could not be more wrong as it is busted above. Making contributions to any Open Source software involves a vast spectrum of tasks, and anyone with zero core CS knowledge can also contribute. Furthermore, Open Source contribution is more about learning through the process and developing your skills.
Ankit Samota, a final year student of the Department of Industrial Design, has been an active open source contributor and was also selected for GitHub Externship. Team Monday Morning reached out to ask his views about open source and the community at NIT-Rourkela.
MM: What is your advice for the people who are starting with OpenSource?
Ankit Samota (AS): Open source is all about building and contributing to the community rather than gaining something huge for oneself. My only advice is not to go for open-source contributions thinking that you will get a particular benefit or monetary gain. You should start open-source contributions if you plan to be active and keep contributing to them. You should indeed explore, and it is also good even if you are more into competitive coding than development or open-source. However, if you plan to call yourself an open-source contributor, then you will have to continue it.
MM: How would you describe the open-source community of NITR?
AS: The open-source community has seen some serious progress in recent years. Students are more actively contributing to open source and are participating in a greater number of programs. People are familiar with many things from their first year that I wasn’t aware of in my fresher year. There has also been increased participation in hackathons. So I feel the open-source community is on an upward trend nowadays, and it will grow even more in the coming years.
In a Nutshell...
Open source projects are very beneficial for its participants to gain significant experience by joining a community of like-minded people, polishing up their skills, and getting paid for their work. But one must note that open source is not something that anyone should do for a stipend. Instead, one should focus more on the network that one gets to be a part of in an open-source community and the impact that they can deliver to people's life. Above all, working in public is a gift to the community and yourself as you create opportunities for yourself and others to learn and grow.
Designs by – Rashmi Ranjan Samantaray