What is this "open source" everyone is talking about?
Prior to enrolling in OSD600, I deeply believed that people who worked on influential repos like React, Visual Studio Code or TypeScript must be developers with years of experience, and they all tightly involved with the codebase from the start. Who in the right mind would walk into a completely unfamiliar codebase with thousands of commits and decide to land their first commit in.
Obviously, I was wrong. First of all, every repo has issues that can be solved by any newcomers. Those are usually labelled as "good first issue". Secondly, the people of open source are much much friendlier than I thought. They are always ready to give insights on solving the problem. I don't have to understand the whole codebase to start helping, usually a good first issue only relate to a small feature of the app.
At the end of the 14-week journey, my communication has the most significant improvement. I kid you not, I feel more embarrassed about communicating in a wrong format than making a mistake in logic. Everything repo has its own format: informing owners about a bug, proposing a new feature, describing your solution, etc. Even commit message has standard. Those communication guidelines are the bricks and mortar of open source.
If you are taking OSD600 next semester
This course is one of a kind. You know how you shouldn't test a fish to climb a tree? What you learn or how much you learn is entirely up to you to decide. However, there is one guarantee: you'll grow in the most unexpected way.
Is this course hard?
Undoubtedly the second hardest course I have taken (I still have nightmares about those valgrind memory leak). Every week, there were lectures to watch, lab to do, blog to write, eventually releases (projects) made it way in as well. Since work was usually involves multiple developers, it could not be waited until last minutes.
Should you take it?
A million times yes! This course makes a student industrial ready. Teamwork was a collaborative work of a whole class, and all the releases encouraged me to take on new limits. At the end of the course, I had contributed to repos I didn't believe I could in the next several years. Nothing feels better than making impacts on the real world.
I am also very lazy when it come to writing anything that isn't code. Still lazy after writing all those blogs, but I can't deny that they save me on various occasions. One time my repo has 136 warnings that needed fixing, I was about to manually fix them all until I read another student's blog. One line of script and they all fixed themselves. On another occasion, I had to set up CI/CD for another repo, and all I needed to do was going back to my blog and followed myself.
What's my one advice for this course?
Master the art of git. You better record David lectures on git and listen to them every night until they all clicked. Especially
git rebase. Doing rebase saving yourself and everyone a headache. Git gud!
The future of OSD600
I'd like Telescope to become a way to discover more opportunities for contribution in the future. - David
Finiding issues that suit your level and interest has always been the hardest part of the course. By the time this course is open again in Fall 2022, I hope Telescope 3.0 has arrived and solve this issue.