Giving back to Free and Open-Source Software (FOSS)
Free and Open-Source Software (FOSS) is everywhere and being used by everyone. Here are some ways you, as an individual or a company, can support the FOSS that makes your life easier every day.
This is the first post in our Scalers go Open Source series, where we talk to Scalers (our name for Scaleway employees) about their experiences contributing to open-source software. We use a lot of open-source tools at Scaleway, and a lot of our engineers share a deep appreciation and passion for free and open-source software in general. So it was a natural step to start talking to them about this topic.
My first interview partner is Leïla Marabese, one of our Junior DevOps Engineers who joined the company through our Junior Cloud Builder Launchpad. We talked about how to get into open source as a junior developer, embarrassing mishaps, whether open source is somewhat gatekept by relying mainly on English in communication, and much more.
The interview is also available in video format if that’s your preferred way to consume content. But it’s a shorter version focusing entirely on open source. In this write-up of the interview, you’ll get a bit of extra content beyond that, for example, about Leïla’s time in the Junior Cloud Builder Launchpad program, so it might be worth sticking around for a read in addition to the video. 😊
[The interview below has been edited for readability.]
Kai: Hi Leïla, could you please tell us a bit about you and your job at Scaleway?
Leïla: I’ve been working at Scaleway for a year and a bit. I come from the 42 school [ed. Note: 42 is a coding school in France], and it’s actually my second round of studies. I studied psychology for five years, and then I did it all over again because I couldn’t find a job.
It’s been really successful so far. I did two years at the 42 school, and now I’m working in Scaleway’s DevTools team. Everything’s been great. I love my team. I love my company. I originally registered the Junior Cloud Builder Launchpad as an internship for 42, but I guess I never came back. [laughs]
Kai: Oh, okay. So you were just at Scaleway for the internship, and then you didn’t bother going back to school because you liked it here and wanted to stay?
Leïla: [laughs] Yeah!
Kai: That’s cool! [laughs] So, how does the Junior Cloud Builder Launchpad work?
Leïla: So, it’s four months of training. We had someone looking after us and teaching us good practices of code, as well as agile methods.
We had two days per week where we did basic code exercises to train with algorithms and so on. And then, we had three days per week where we did small-scale projects for Scaleway. They chose projects for us that allowed us to discover everything, how things work at Scaleway, how we do pull requests, and how we contribute to the code at Scaleway.
Kai: And what kind of projects were you working on in the beginning?
Leïla: Our first project was to make a Slack bot, so when you entered /mr
and then the URL of a merge request, it would summon reviewers.
Our second project was to migrate database tables. There was a database that was called the Marketplace, and it stored a lot of OS images. And it was embedded in a huge database. So we had to extract these tables and make it work as a standalone database. It was really, really hard.
Kai: It sounds hard! So how did you get into open source from all this?
Leïla: I joined the DevTools team, and my manager here is really into open source. Also, since we develop tools for our users, we tend to be more open-source-oriented. So we have a list of projects that we want to contribute to and add support for Scaleway to. And I was really into Kubernetes, so my manager handed me this… this baby. [laughs]
Kai: So, what projects are you contributing to for now?
Leïla: I only worked on one so far, and that’s KOps in the Kubernetes community. They like to say it’s a “kubectl for clusters”; it’s a command line interface tool that can create and manage Kubernetes clusters.
Kai: You told me that when you first started contributing, you were kind of, I don’t know, I don’t want to say scared. But the first time you contribute to open source, you can be really scared that you might mess something up. I always feel like it’s a huge step. How did that feel for you? How did you deal with that?
Leïla: Okay, so actually, I have quite a funny story about my first step into open source. [laughs] My manager told me a bit about the kOps project, but I guess I hadn’t understood it very well, and I wanted to get on with it right away. He said to open an issue on the repository to notify the maintainers that we wanted to add support for Scaleway, and I completely messed it up. What I wrote was not making any sense, and it was very clear that I hadn’t understood what I was supposed to do.
It’s really scary because you think everyone is an expert, and you just show up with your junior boots. You’re kind of afraid that others are going to think that you’re just a joke, you know. But it wasn’t the case at all. Even if my first step was absolutely atrocious. [laughs]
Kai: I think, in reality, the open source community is so welcoming of new people and so supportive, and yet when you’re just taking your first steps, it just feels horrifying. Is the scary part all the processes around open source, the way you’re supposed to interact with maintainers and issues, and do pull requests and whatnot? Or is it the fact that you’re writing code, and then some stranger, essentially, is going to see it?
Leïla: To me, the process of writing a pull request and submitting it was, I would say, as scary in the Launchpad as it was in the open-source community. But when it’s internal, it’s not that public, and not everyone is going to see it.
And when I messed things up with my issue, I said, “Oh my God, I messed up, and everyone’s going to see it.” And I couldn’t just edit it because otherwise, the conversation wouldn’t make sense anymore. So I had to keep my mistakes and write another message saying, “Oh, I’m sorry, my wording was off and… I can’t speak English!” [laughs]
Kai: Do you think that’s a bit of an issue, that open source mostly happens in English, and that makes it more difficult for people who don’t have English as a first language to join?
Leïla: Yeah, I guess it kind of gatekeeps the community for non-English speakers. But I think the English that is used for code is quite basic. It wasn’t that big of a deal for me, but I guess that people who are less comfortable in English don’t get the same chances.
Kai: What was your takeaway from that first issue that you messed up right away or that you felt that you had messed up? Has it taught you something about being more okay with failure, or are you still just as worried every time you contribute?
Leïla: No, it’s actually much better now! The lesson that I got from that was that I should send the message to my manager first. I shouldn’t go and do things on my own. Well, especially at this stage of the project, where it was just the beginning. But now, I’ve been contributing to this project since July 2022. So it’s my home now.
When it happened, I was mortified. Absolutely. But yeah, they were really cool about it, so I realized it’s okay to mess up sometimes.
Kai: Do you remember the first pull request you made for kOps?
Leïla: Yeah, actually, the first one was not a big deal. I reused a little bit of code that had already been written by a member of the Kapsule team, the Kubernetes team here at Scaleway. The code was written in 2020, and it just had to be updated and completed.
So the first thing I sent was a little part of his code. And he’s basically an expert, so I wasn’t really afraid. And the PR was really small. I was more scared for some than others.
Kai: So, anything you contribute to kOps, you can do on Scaleway company time. But have you been tempted to contribute to other open-source projects in your own spare time?
Leïla: As I said, I’m really into Kubernetes, and I would like to officially join the Kubernetes organization. So if I want to do this, I will have to make contributions that are not related to Scaleway but purely volunteer work.
Kai: What do you love about open source?
Leïla: To me, the concept of open source always seemed great, even when I was not a developer yet. I think that a lot of the things that humans produce in this world should be free. That’s my personal opinion. So it was something that I could see myself really agreeing with. And I want to contribute to this type of stuff.
Kai: What kind of advice do you have for other junior developers who want to start contributing to open source?
Leïla: I guess my experience has been a little bit special. The maintainers were particularly interested and invested in my contribution because I was coming from Scaleway. So I’m kind of talking from a privileged point of view. But like we said earlier, don’t be afraid of messing up. You don’t know how much you can bring to the table from your perspective. And, yeah, maybe start small. Don’t have these big expectations. Just a small contribution is great.
Kai: I think for many juniors, the difficult thing is, like you said, feeling like, “What do I even have to contribute? Someone who’s more experienced can do this so much better, so much faster”. But I think the key is that thanks to you contributing that bit of code, someone else doesn’t have to spend time on it. You really get this feeling of being a part of something. Is that part of why open source is so enticing?
Leïla: Yeah. Like I said, I really feel like kOps is my baby. Well, not the entire kOps. But the Scaleway part is. I did it almost entirely on my own. And I’m really so proud.
In the beginning, getting into the code base was so hard. And I really thought that I was never going to, I don’t know, crack how this thing works. And I still don’t know or understand everything. I think I never will because it’s so huge. But so much progress has been made, and it’s really been super satisfying to see that my understanding gets better, my code gets better. And the reviews were really supportive.
Kai: A new code base is always daunting when you start a new job. But part of it is that someone onboards you a little bit. How do you go about getting into the code base of an open-source project without any help?
Leïla: When I arrived at this huge repository that is kOps, I tried reading from the main, but it was impossible. I couldn’t understand anything, and the program crashed when I tried to use it on Scaleway. It crashed at some part of it, and I didn’t understand where it was coming from.
So my manager advised me to use the debugger and deep dive into the code. And with my breakpoints and everything, I was able to understand where the crash was coming from. I fixed it, re-launched the debugger, and then it crashed a little bit further. So I kept adding patches, little by little. And when the command ran from beginning to end, I was so happy.
I hope you enjoyed finding out how Leïla got into open source and the challenges she faced and overcame. If you’ve been wanting to start contributing to open source but have been hesitant, perhaps Leïla sharing her experiences will give you the courage to take that step. The open-source community will certainly welcome you with open arms.
And if you work at a company that already works a lot with open-source tools, that can be a great opportunity to get into it with some guidance.
Stay tuned for more “Scalers go Open Source” interviews on this blog and our YouTube channel!
Free and Open-Source Software (FOSS) is everywhere and being used by everyone. Here are some ways you, as an individual or a company, can support the FOSS that makes your life easier every day.
Recent open-source incidents sparked a debate on how corporations and society rely heavily on open-source–while never funding or contributing to it.
What do Kubernetes, human languages, and open source governance have to do with each other? Learn about how two Scaleway employees are making k8s more accessible—one word at a time.