This article is about how I started my journey with Public Lab and got selected for GSoC, 18.
Before starting, here's something about me --- I am a Web developer and I develop projects using Ruby on Rails because Rails is love. I started Web development in summer of 2017 and after that started building websites using Rails.
How I started for GSoC ?
Being a Rails developer, I searched for past year organizations whose work is based on Ruby on Rails and after some filtering and advice from GSoC alumni, I decided on Public Labs and started with the installation of project. I faced issues in installation but I solved them with the help of internet, which is wrong as asking for help in community chatroom would have done the task in shorter time.
After installation, I decided to read their project documentation and go through their code base which literally blew my mind. I struggled with their code base for 2 days and then decided to attempt an issue, which was really a bad approach, as the correct way is to claim a First-timer issue and then look for relevant part of the code.
A beginner can't understand code base of any big project in 1--2 days, this has to be done step-by-step by solving more and more issues and increasing difficulty level with each subsequent one.
While solving my first issue, I literally messed up... like--- raising PR with master branch, pushed un-necessary comments, bad indentation, etc. But, Public Lab community members helped me a lot and finally, in a few days my first Pull request got merged. That feeling was one of a kind. After that, I had gone through issues in other communities as well, but I finally decided to work with Public Lab.
Why I chose Public Lab for GSoC ?
From the first issue onwards, I liked the Public Lab community. I received an immense support from their members and the projects offered me a great scope of learning. I learned software testing, API development and much more... I would recommend Public Lab to anyone who is looking to start their open source journey and those who love to work in a team for solving challenges. Public Labs's website is full of fun and knowledgeable resources which helps people to investigate environmental concerns by in-expensive DIY kits. It also provides the platform for discussions on various issues related to the Open source, environmental concerns, new technologies, topics --- mapping, spectrometer, infragram and many more.
Some points which you don't wanna miss
- Attend GSoC meetups and talks --- it would clear all your doubts.
- Start with smaller issues --- Start by solving First-timer issues and then move to big ones subsequently, don't try to read whole project code unless you are experienced enough.
- Involvement in community channel discussion is good and welcomed (Many great ideas and people reside there besides coders)
- Don't hesitate to ask questions --- Always feel free to ask questions related to community and project. Also, feel free to ask for help if stuck on a issue/PR.
- Be a team player --- After getting settled in a community, help other members with their PR's.
- Open first-timer issues where possible and then help contributors who claimed issue in completing them.
- Start contributing early as it would give you plenty of time in getting familiar with community members and projects.
- A well-prepared proposal is very effective and carry much weight --- you can read about good practices as specified by Google.
- Quality of work is important --- Do not focus on the number of commits, instead focus on the quality of work.
- Your main aim should be learning as the experience and knowledge you get while collaborating with others is immense. Also, GSoC is just one of the open source programs, here are some others.
About my GSoC Project:
I proposed to work on Email Integration part and Draft feature of the Public Lab website. Below are the details and here is the link to my proposal --- https://publiclab.org/notes/gauravano/02-18-2018/gsoc-proposal-email-integration-project
My Project consists of four major parts -
- Reply by Email to comment: This feature would allow a user to comment on the research note or question posted at Public Lab just by replying back to the notification email they received regarding the question.
- Weekly Digest: Implementation of feature by which an email would be sent to each user of Public Lab containing his/her liked topics' updates.
- UI for Email notification settings: I have designed the user-interface which would allow users to customize their experience with Public Lab's website.
- Unpublished Draft Creation: This feature would allow users to save their research note as a draft so that user can complete it anytime. It would also allow a user to generate a secret link which he/she can share with specific users to have their work reviewed.
About my mentors:
Jeffrey Warren and Stevie Lewis are mentors for my GSoC project, both of them are also the admin of Public Lab website. Jeffrey is a very experienced, and supportive, he's the one who is called for getting final consent on a PR, for resolving big issues and for discussing new features. Stevie is the organizer and outreach director of the Public Lab. She doesn't code but is available for discussing new ideas and for testing new features.
If you want to be a part of Public Lab community--- just visit https://publiclab.github.io/community-toolbox/#r=all and grab a First-timer-issue for starting your journey.
Happy Summer Everyone, let's make Open Source a great place by contributing together.
Have any doubt regarding GSoC or about my project? Feel free to write a comment below, you can also connect with me via my website. Thanks.