ConFlores

by Eri

An introduction

2024-06-02

Tags: outreachy

Hi!

My name is Eri, and I’m passionate about programming and free software. I’m from Galicia, a small coastal state in northern Spain, where I study Computer Science. I really enjoy cooking plant-based food as well as playing (and making!) video games in my free time. I’m also proudly non-binary and I use they/them pronouns.

This blog will tell my journey as a new Outreachy open source intern working on Servo, a very cool next generation, modular, embeddable and memory safe web engine written in Rust. This is my first time participating on anything like this, but I’m certain that I’m going to learn so much, and I can’t wait to share it all with you.

Core values

Community is essential to me. We are nothing without each other, a fact that open source projects beautifully represent. They are built by different people coming together to create something they are passionate about, which brings so much good to everyone. There is community in your loved ones, in found family, in your neighbours, in belonging. The Outreachy and Servo communities were nothing but welcoming and supportive, they are a place where one wants to be, in which to learn and grow.

Despite the importance of coming together, we should not forget about our own Identity. It can be complex to think about, difficult to come to terms with, and even frustrating and alienating at times. However, it is also our biggest source of power, it is what makes you you. If it weren't for it, I probably would be on a very different place, and I really like who I ended up growing into. The sum of everyone's collective experiences and identities makes a community strong and resilient.

This circle closes like a warm embrace with Openness. To be able to make any meaningful progress, the input and knowledge of your peers is your biggest tool, should you be open to receive it. An open community, one that fosters collaboration and acceptance, is a place in which to flourish.

Besides this, I believe open code contributes to create a fairer world. By not imposing arbitrary barriers of entrance or only serving the interests of a few, everyone can benefit from your work. I support code that is free, both free as in free beer and free as in freedom, because I believe it is one of the greatest ways to fight injustice and unfairness.

Outreachy

My passion for open source code comes from long ago, but I didn't really see it as something I could actually work on before. However, this year's XDC changed the course of my career. I was so lucky that it happened in my hometown and that by chance I decided to attend to see what it was all about. Meeting so many amazing and welcoming people with incredible projects made me realize I wanted to be a part of this community. Incidentally, this is when I first learned about Igalia, who is currently maintaining Servo.

I discovered Outreachy when I was researching possible opportunities to work this summer. Despite looking into some other projects, Outreachy caught my eye. Something about the values and format of the experience deeply agreed with me. Since there was not much to lose, I decided to give it a try.

The contribution period was awesome. Even if I used open source code for years, I always felt like I wasn't good enough to contribute yet. Before March, I had only made a few tiny prs to some projects I was using (bevy and swayfx), but starting was the hardest step and once I did, I lost all the fear I had before. The mentors along with the entire Servo community were so nice, and they motivated me to take a leap of faith and give my best. I really enjoyed the work I did, even the smaller cleaning tasks felt great because there was purpose and belonging in them.

Why Servo?

I can hear you asking. Working on a web browser might seem like an odd choice, given I'm not particularly fond of modern web development. However, developing the browser itself is another story. I really like computer graphics and designing clean structures for complex projects. One of the things I made that I'm the proudest of is an (unfinished) game engine/renderer, which I enjoyed a lot because it combined both these things.

Servo does it too, albeit in a bit of a different way. It has a huge codebase that goes back to 2013 and that contains more than 48000 commits. It has an ever-changing design, because it underwent several big project restructures and the language it is written in, Rust, was practically born alongside it and has evolved plenty over the years. Working with such a big project can be tricky at first, but with the help of the community and after getting your hands dirty it's actually quite enjoyable.

As part of this internship, I will be working on supporting DevTools again, making them work with the current versions of Servo and Firefox. They are a very useful tool to see what is happening in the browser and being able to debug certain behaviours.

When I got accepted I couldn't believe it, specially since the initial acceptance letters were sent a week prior for everyone, and I was the last one to join the party. There were so many cool people that got together to contribute, some of them I made good friends with in that time, so being chosen felt like an honour. I am very excited for what is to come, and I will love sharing my experience with you here.