I’ve started the last module of my Bloc experience. So far so good. I’ve learned a lot, however it’s expected as there is a lot of ground to cover.

What I wanted to write about today is my experience, or at least my first foray into contributing to an open source project.

Reading a lot of posts about this from other people who have walked down this path to their first Pull Request (aka PR), I’ve narrowed down my criterium to a couple of things.

*) Languages - TypeScript, JavaScript, Python, Java *) Project Familiarity - a project that I’ve used, enjoyed, and will continue to benefit from in the near future. *) Difficulty - A project that has certain labels such as “good first bug/issue”, “beginners”, “Effort: easy”, or “low hanging fruit” which will allow me to assess my expertise level in what is deemed as easy, as well as start to get to know the code base, build on that experience and perhaps others so that I can learn and contribute to more complicated bugs later on.

I have been attracted to a couple of projects, mainly Angular, TypeScript, VSCode, as well as BorgBackup. The first three projects are reliant on TypeScript, have large communities behind them, as well as has “beginners”, or “good first bug” labels. I also am currently using VSCode as an IDE, have used Angular, and do enjoy the structure of TypeScript over JavaScript too. So these three projects do align.

However, BorgBackup, though a smaller project, does seem interesting to me too. It does have “easy” labels, and also is using a programming language which I enjoy writing in too, which is Python.

Narrowing down to these 4 projects, I found that I could get started. I started with the project that had the best information for would be contributers, which was Angular.

I tried to get the Angular project up and running correctly as mentioned in the projects CONTRIBUTORS.md, and verifying it by running the suggested tests. Unfortunately, I’ve run into failing tests, and am not sure if I’m doing something wrong, or if I’m overlooking something and effectively this is how it’s supposted to behave under those circumstances.

My next step will be to reach out. Not sure if I should post in the actual Issue that I want to create a PR for, or reach out a different way.

I’ll also perhaps try to do this with the Typescript project, see if I can get started with either one.

I may consider another project outside of the ones mentioned here, perhaps choose a project that reflects Python or Java skills rather than TS/JS.

That’ll be my next blog post on here. :)