Embla Flatlandsmo is an intern at Nordic Semiconductor who has become the 1000th contributor to the Zephyr Project. She has been a user of open-source software but prior to joining the company never contributed to any open-source project. She finds working with open source communities a very welcoming and enriching experience, and that people are very friendly and always willing to help. Here is our interview with Flatlandsmo…
Swapnil Bhartiya: Hi. This is your host Swapnil Bhartiya and welcome to Let’s Talk. My next guest is Embla Flatlandsmo, an intern at Nordic Semiconductor. This is a special interview because she is the 1000th contributor to the Zephyr Project. First of all, Embla, welcome to the show and congratulations.
Embla Flatlandsmo: Thank you so much.
Swapnil Bhartiya: Tell me a bit about your background. What attracted you towards open source? How and when did you come to know about open source? When and why did you decide to become not only a developer, but also an open source developer?
Embla Flatlandsmo: My first encounter with open source was the Zephyr Project. I got to know about it last year when I started working at Nordic Semiconductor. Prior to that, I had been using open source libraries and the likes, but I’ve never really considered contributing. I had the first thought about contributing when in my job, I found a problem that got me a major headache, and I figured I could fix it so that it would not trouble other people down the road as well. So I’m quite new to the whole open source thing, but I’m really glad to be dipping my toes into it.
Swapnil Bhartiya: How has been your experience so far contributing to open source?
Embla Flatlandsmo: It’s so nice how transparent everything is. I have to admit that I was pretty intimidated when I was doing my first pool request and I was thinking, oh, is this okay? Is it good enough to be in the code base? Luckily I got a lot of comments on my pool requests. Some people were very kind in helping me out and giving me guidance, so that we could get it right and get it to fit with the format and everything. I feel like they very much want to invite you in, the people that are already maintaining the code base, which I think is really nice that even people like me, I’m just a student and I don’t really have that much programming experience, but they’re really excited to get me on board.
Swapnil Bhartiya: Right. This is a misconception we often hear about: Hey, open source communities cannot be very friendly to users. That is not the fact. It is in most cases. First of all, not all open source communities are the same. There is no open source community. There are open source communities by different projects, and as you also mentioned, most of these communities are very, very welcoming. Can you share some anecdote that you have, where you felt encouraged to contribute even more, or get involved deeply while sending your pool request and that kind of interaction you have with the community?
Embla Flatlandsmo: Yeah. One situation that I was actually sort of involved in very recently was that there was some issue that I found on GitHub. The issue, or like the comment had, or thethread had seemed to sort of die out and there were no more comments being made. However, the issue addressed something that I would like to have changed. So I made a comment and I asked, “Is there any update on this? Have we gotten anywhere on this problem?” The person maintaining that code said, “No we haven’t because the person who requested this feature has not responded, but I’m wondering what is your use case?”
In that sense, this person sort of encouraged me to contribute with my needs and what I wanted to see for the project. And so, we’re very inquisitive and asking around, “Hey, what do you think is necessary and why do we want this feature? What are some potential issues that we can see with this?” Really, just asking a lot of questions and welcoming. He invited me to make a pool request on this as well, which I haven’t done yet. I’ve been busy doing other things, but I will look into it in the future, if time allows.
Swapnil Bhartiya: When you get involved with the project, what happens is you start as a beginner, and, as you said, you mature gradually. And then there comes a point when you become a mentor and you help other folks as well. If I look at your own journey, where do you think you are, and how do you feel that having this special place further helped you in helping the community?
Embla Flatlandsmo: I’m definitely still very fresh to it. It still feels pretty intimidating, but just the thought of, hey, I am actually able to help and contribute with these things, is very nice. I feel way more confident with my own skills as well, that my code can get accepted into the code base. I’ve also been starting to look at other open source projects that I’m reading the source code of and I’m thinking, how can I contribute with this even outside of Zephyr, which I think is really cool to feel like I want to contribute more.
Swapnil Bhartiya: What are the things that you think mentors or the people who are maintaining their projects should follow so that it encourages new people?
Embla Flatlandsmo: I think one of the things that they could do is of course, like I said, encourage people to, or encourage their students I guess, to write blog posts and be more transparent on these things. Maybe if I found out something, other people would really get some value from reading how I solve my problems, because they might be sitting on exactly the same problem.
I think definitely blog posts are a very informal way to get into that sort of mentality. Other than that, I think also, really what I got was that they told me if there’s a problem in the code base and you would want to fix it, then please do. They were very okay with me spending a couple of days just figuring this out and really letting me get to know how to do these things as well. So really just saying that, “Hey, this is actually why we employ students for example”. Like me, I develop on Nordic development kits and they say, “Oh, one of the reasons that we do this is actually to see or find these flaws so that we can help develop this project further”.
Swapnil Bhartiya: What are the things that you think mentors, or the mentees, or new folks should do so that they also become very good contributors to our product?
Embla Flatlandsmo: One thing that I’ve been thinking about is just asking yourself, does it need to be this way? Is there any way that it can be better? Because I have found that a lot of the time, the reason that maybe a feature is missing or something, it’s not really intentional, it’s just that nobody has really thought of it yet. Just being curious and asking yourself, why is it like this, is a really good place to start. And then of course, if you try and ask around and you figure out, “Oh, nobody really knows why it’s like this”, then you can probably ask, “Well, can I change this somehow so that it’s more intentional perhaps, the way things have been implemented?”
Swapnil Bhartiya: Embla, thank you so much for talking about your contribution to the Zephyr project, and your fresh journey to open source. So thanks for your contribution, and hopefully we’ll see each other again. Thank you.
Embla Flatlandsmo: Yeah, hopefully. Pleasure is all mine. Thank you.