How Can Students Participate in Open-Source Communities?
Having some experience in Open-Source projects or communities is quite common for developers nowadays. Actually, not only adults but students should, and are increasingly likely to get involved in Open-Source projects.
If you want to know more about why you should consider being part of Open-Source projects, please refer to Why you should get involved in open-source community .
The last 2 years have been challenging to say the least. The Covid-19 pandemic has forever changed us in more ways than one. It has changed the way we approach and cheerish life, the way we work, and the way we network — ultimately making webinars or online activities the new normal.
Students have been affected too. Online learning meant they had to adapt in the way they assimilate their curricula, and also adapt to finding their first professional opportunity or internships in these unprecedented times. Online internships have been an option for students to go through this tough time by making the most of it, and gaining valuable experience. In order to connect people around the world, Google, Anitab, and ISCAS are hosting many online Open-Source programs or hackathons for students. Indeed, most of them are free, and some even provide scholarships and tuition for students and mentors accordingly.
In short, students are set to gain the following benefits by joining an Open-Source community:
Practice their skills
Unlock internship opportunities or gain more internship experience
Network, create bonds and cooperate with your fellows and mentors worldwide
The next question is how to leverage these attractive programs to join Open-Source?
Different programs have different and often specific rules, although the basic process is generally the same, i.e.:
Choose an Open-Source project or community partnering with the relevant program
Submit a student application
Get in touch with your mentor
Contribute & code (you can contribute in more ways than one, not only by coding)
Colllect the final results
Based on these steps, Here are some critical tips from my mentoring experiences at GSoC, OSD and Summer of Code that I’m happy to share with you.
- Choose the Appropriate Program
As I mentioned above, many organizations are initiating Open-Source programs with different schedules, task durations, and qualification and scholarship conditions. You’d better do some research for various programs and pick the one that best fits you.
- Choose a Particular Project Well in Advance:
Never wait until the official deadline date to choose your program if you want a priority ticket. Commonly, the committee of these programs will choose outstanding Open-Source communities to be their partners to provide mentoring. For instance, before becoming official GSoC mentors, we had already created many candidate tasks while waiting for the public’s applications .
We welcomed comments from students in advance. This allows students and mentors to have sufficient time to know each other. Maybe a student may not be the right one, but their initiative will impress the mentors a lot and he/she will be selected.
- Write Your Proposal Concisely:
The proposal for this program is supposed to be concise rather than redundant. To achieve this, you are suggested to refer to your mentor’s task details (some mentors will describe the task in detail, while some won’t) or directly ask what your mentors’ expectations and concerns. Guessing or operating under the guise of wishful thinking when it comes to the task or the task’s aim is the most inefficient way to prepare your proposal. Both mentors and students want things to advance smoothly and efficiently, therefore do not be too shy to seek help from your mentors.
- Actively Contact Your Mentor:
Imagine your proposal is accepted, then the next phase is to contribute or start coding. This is a significant chance for you to make an impact.
You could be a coding wizard, yet you are going to meet issues that you’ll be uncertain about or sometimes you won’t know what your mentor thinks of your work. You should also consider that some mentors take charge of two or three students at a time, and are busy with their lives and work as well. That being said, it is beneficial to take the initiative and contact your mentor to ask questions or report your progress regularly. If you wait until your name comes to your mentors’ mind, it won’t work, because when it does it’s probably already too late.
- Tricky Questions:
While it is necessary to keep in close touch with your mentor, that does not mean you are a baby. Consider what questions you’ll be asking beforehand, and do your own legwork and research to see if this is something that can be resolved with your critical thinking, or everyone’s trusted friend — Google.
If you fail to do so, mentors might regard you as someone lacking problem solving and analytical skills, or worse, as someone that is not willing to learn by doing. If you are still confused after doing your research, then ask your mentor your questions with specific terms and with the support of your research report. This not only ensures that you get your mentor’s attention, but wil make the mentor understand that you’re really having some difficulties, and you’ll receive the mentor’s undivided attention.
After mentoring countless local and international students, this is the perspective i can share with you. I sincerely encourage you to have a look at the above mentioned interesting and meaningful programs to enrich your academic life, enhance your skills, and expand your friends circle. Last but not least, if you are interested in joining an Open-Source distributed database ecosystem, I am waiting for you here .
Juan Pan | Trista
SphereEx Co-Founder, Apache Member, Apache ShardingSphere PMC, Apache brpc(Incubating) & Apache AGE(Incubating) mentor.
Senior DBA at JD Technology, she was responsible for the design and development of JD Digital Science and Technology’s intelligent database platform. She now focuses on distributed databases & middleware ecosystems, and the open-source community.
Recipient of the “2020 China Open-Source Pioneer” award, she is frequently invited to speak and share her insights at relevant conferences in the fields of database & database architecture.
Open-Source Project Links:
ShardingSphere Github: https://github.com/apache/shardingsphere
ShardingSphere Twitter: https://twitter.com/ShardingSphere
ShardingSphere Slack Channel: https://join.slack.com/t/apacheshardingsphere/shared_invite/zt-sbdde7ie-SjDqo9~I4rYcR18bq0SYTg