After completing the implementation mentioned in previous blog, this week, I focused on testing the new feature. Currently, the project is not using any testing framework so I had to manually test the feature. I went through several aspects of the feature:
- Testing on video/channel page
- Testing on dark/light theme
- Testing the existing
- Subscribing to a profile more than once
- Ensuring list of subscriptions is updated correctly
Since everything was working as expected, I continued to create the pull request. After a few days without any response from the maintainers, I send a private message to the project owner on the project channel. Unfortunately, all the maintainers are busy so even though the pull request was created on Monday, only one of them got the time to review my implementation. After a quick check, he approved my new feature and didn't request any changes, but he didn't merge it either. There is another pull request that is under progress and he wants that issue to be resolved first before merging my pull request. He also suggested another feature that can be implemented similarly. Though nothing is decided yet, I'm open to continue working on this project and take on the new feature.
After 14 weeks working intensely in open source, I finally understand what "open source" really is. Open source is not randomly picking an issue and working on it. To effectively resolve an issue, I need to spend a lot of time with it to understand the codebase, to know how the project works. I feel much more motivated when I can work on project that I like and would personally use. It gives me a sense of responsibility since I also put myself in the shoe of the users and also gives me ideas on what the feature/the fix should do.
Having worked on open source makes me understand that collaboration is very important. The best advice I could give myself on anyone starting this path is to not be afraid of code reviews, they could be one of the best things that you can learn from the open source community. Code reviews can make you see your code from a different aspect, they can also give you good practices on coding that you never learned before. Therefore, if you really hope to get the best out of open source community, you need to actively participate in discussion and don't be afraid to raise questions.
This journey is not too long but I did learn a lot from it: a whole new framework, better understanding of Git/Github and the workflow of coding - review. There were a lot of happy moments where I finished a contribution and they are actually big booster for my confidence in coding. There were also stressful moments but I believe that's a part of learning and I can say that I'm proud of myself for not giving up at those times. I'm also grateful to David, who has brought this amazing course to us. Thank you for sharing such a wonderful source of learning and guiding us on how to make the most out it. OSD600 has ended but it's only the starting point of my journey into open source and I hope I could bring what I learn here into greater contributions in the future.