See full event listing

Demystifying Contributing to Open Source

You may be interested in contributing to open source as a way to improve your skills and experience, but find intimidating. In this session, you’ll get tips and tricks to help you get started.

Isabel is a software engineer from Portugal, working at Deliveroo in London. She is passionate about helping demystifying contributions to open source and mentoring new developers getting into the tech industry. She mentors at Black CodHer bootcamp and “As Raparigas do Codigo” organization. In early 2021 and 2022, she was recognized as a GitHub Star.

Transcript

Isabel Costa: [00:00:00] Hi everyone. I’m Isabelle and I’m a software engineer at deliver in the UK. I’m also from Portugal in the past few years, I’ve been involved with opensource through programs, communities, and a Pethel recently serving as an admin for anb.org. And in the past year I’ve been part of the Kitab star program.

So start sharing the screen. Today, I wanna demystify, contributing to open source. My feeling is that a lot of people when getting into tech might start developing site projects for practice and to apply for jobs and start working professionally and throughout the journey you may hear about open source, but not know where to start and finding quite intimidating.

I wanna show that no matter what skill you. If it applies to working in tech, it also applies to contributing to open source. So first I wanna show an example of an open source contribution. So [00:01:00] this was where I was learning scholar programming language and. I was following the exercises from skull exercises.org, and while doing an exercise, I noticed that there was a type in the description.

There should be pipe sign, but there were slashes instead. So I decided to contribute to this. I looked it up and I noticed this project was open source on GDAP on GitHub. So I found a source called I found a repository and changed the description to be correct. I submitted the poor request, basically saying here’s a change.

I would like to propose this for the project. It got approved and it got March. And now you can see that the description is correct. And this was one contribution that I did just because I was working with the project and I happened to notice the typo that I could fix to make this exercise more understandable for the next person who would come in here.

So now I wanna [00:02:00] talk about we’re contributing to open source. So this is up to then as volunteer effort. And I’m a believer that we can, and maybe we should contribute to open source in a strategic way, especially when we have time constraints. For example, you might want to contribute to open source, but you lack availability due to life circumstances.

So let’s think about this. You can contribute to open source for learning skills, practicing current ones, building a portfolio, perhaps for recruiters to see when you’re applied for jobs, volunteering for social cause or give back to a community. And this is actually what I did when I was part of actively of.

Any of these reasons are valid and can lead to impact. You can still have impact on an open source project while respecting your time boundaries. I’ve contributed mostly to the same community during the past four years. However, I’ve also done contributions to other projects when I had the opportunity.

One thing before we [00:03:00] move forward, I just wanna say that pure Y can evolve and it certainly did for me and just make sure you know about it. So this can help you allocate time to contribute to open source. I would like to say that in my case, my, my wife evolved and also other peer priorities came in the way life and professional ones that make me contribute less than before.

However, If I find time and if I find contributions that I can make within my boundaries, I’ll do them. So now about finding opportunities to contribute now that you know your, why, what I should suggest is. If you already use a project and it’s open source, this is a great way where you already know the context of a project you’re familiar with.

Imagine contributing to a project you don’t know, you’ll have to spend some extra time learning about the context of the project and learning how to contribute to it before you actually make your contribution. So I usually. Paying attention to the projects you work with, perhaps you find a bug in a software library [00:04:00] using or just a project you’re.

Another thing is there’s some organizations and projects that you might find participating in initiatives to incentivize people to contribute, to open source such as Google summer of code. And I’ll mention there them in the next slide, actually you also have the option to search on you have a next Explorer feature where you can explore by topics or collections that Kitab has made to suggest projects for a specific cause or topic.

And you also have aggregators such as up for grabs and co triage, which will have a selection of projects that are looking for contributors. So you can look there. So now regarding initiatives, There’s plenty of initiatives out there. The ones that I have experience with it’s Google summer code 24 Pull Requests and recently Octoberfest from the maintainer side 24 Pull Requests.

I contributed during December the month of Christmas for those who celebrated in Google summer of code. This is where I learned the most [00:05:00] about open source so far. I was in a very friendly community, so I could explore various. Areas of open source where could contribute to, and there’s also outreach, which is meant to provide internship to people from underrepresented groups.

So there’s plenty of initiatives out there. I would recommend you to Google some of them or check out the block post that I link in the other side, but I can still share in the shop ways to contribute. I really like this slide, because I want to shout that you can contribute in many ways, even though I’m a software engineer, I’ve contributed many times as a technical writer, writing documentation for other people to understand the project better.

What I’m doing now, I’m doing advocate work. I’ve even designed. I’m not a designer, but I’ve designed logos for the project I was contributing to during Google summer pod. And. Testing. I tested a lot, the project that I was contributing and I was also creating opportunities for [00:06:00] other people to contribute through testing.

And I wanted to include the interested person, because sometimes you may not contribute directly to a project through adding some piece of work, but you might contribute with your opinions and affect the roadmap of a project and contribute with your life experiences. So a few things to be aware when it’s starting to contribute is a project active.

This is quite important. If you want to get a PR. Public has merged as soon as possible, right? If the maintainers are not responsive and the project is not active, you probably won’t get the PR merge within the time you’re comfortable with. And me having been a maintainer. I know that sometimes we have to prioritize the work that we review and March for the time that we’re doing maintenance.

Actually my first contribution to one month to get marched also different communities behave in different ways. I like to highlight this because what you may experience in one, you may not experience the other, some might be more welcoming than others. And this is [00:07:00] quite of important point of your, for Steiner.

Some ways to look at this is, do they have issues for first timers or good first issues? It’s usually indicated with the label on. Also again, if you’re a beginning, you may want a project to be welcoming to beginners because you might find more documentation or more people willing to help you.

What is the process of contribution? So this is also important because following the expected process of contribution will help you your work take less time to get reviewed by a maintainer and therefore less time to get March. And you basically would be helping your maintainer do less checks regarding your submitted work.

The last thing I would. Read the code of conduct and the reporting guidelines. This is both for you to know how to interact with the project, the way it is expected, but also to report if youc code of conduct violations. And this is actually crucial to make a community welcoming and friendly.

So lastly, I wanna just briefly touch over process of [00:08:00] contributing. So first you find a problem to. You find either a project or an issue of a project that you don’t know, but you feel you can contribute to, then you read the contribution, the line guidelines, just to make sure that you’re following what is expected of you as a contributor, you far the repository to basically make the change you need to do on your own account.

And depending on whether. The change is complex. If the change is a bit too complex, maybe you need to clone and work it on your local environment. But it’s, if it’s not complex, then it’s just documentation change. As I showed with the scholar one then maybe you can use the guitar user interface.

The project is there. And then thing after this, you can submit your purpose and then ask for reviews. And throughout this time, the reviewer might suggest changes. Or they might just say good to approve and you get your PR March during this whole time please communicate ask questions so that you can be, get the best out of this experience.[00:09:00]

So that is it that I just got off. Here’s some links where you can get to know more about me. Hope you learn something and you have a, they have a great.

More Awesome Sessions