The Heart of Open Source: Building Communities with Daniel Roe – Techstrong Unplugged EP20
Daniel Roe, a dedicated open source contributor and the lead of the core team for Nuxt, shares his journey from starting a small software startup to becoming a full-time open source contributor. They dive deep into the unique aspects of the open source ecosystem, discussing the passion and community spirit that drives developers worldwide to contribute their time and skills.
Transcript
Hey everybody, and welcome back to Techstrong Unplugged. I'm your host, Natan Solomon, and this episode 19 of our series. In this episode, we're taking you to Vu Conf 2024.
At Vu Conf. Our co-host, Cassandra Chin met up with Will Marble and they discussed the power of networking and ai. Will is a seasoned principal engineer at Black Airplane, and he highlights the Pivotal role networking plays in launching and advancing a tech career.
Without further ado, let's head over to Yucon 2024. Welcome back to Text and Unplugged. My name is Cassandra Chin, and today we have Daniel Roe.
It's a pleasure to be here. Can you introduce yourself? Sure.
So, uh, my name is Daniel. I am an open source contributor, full, full-time. I'm sponsored to work on open source, uh, and I maintain the, uh, framework.
Next, I, I lead the core team and there are a number of other developers involved as well, uh, and some other projects too. I think those are some really interesting projects. So, uh, thank you.
That's that's very kind. Uh, so yeah, so I think, um, there's lots that I love about the open source ecosystem. So I, I started out, uh, when I was, uh, I had a small software startup that was, uh, built on next, and I started contributing back to it.
Uh, that was, uh, that was, uh, that was the start of things for me. Um, but, um, but yeah, and so obviously most of my time is spent on that. But there are those two things like, uh, Fontain, which is a library for reducing layout shift.
So when you get a website that loads a new and web, you're using some kind of custom web font, it reduces the, the flash you get. What does a typical workday look like for you since you own a project? Uh, so I, well, so in, in a way, I, I feel extremely lucky because, um, my work is my hobby, so I don't, it's not like I, I sort of go to work and stop work.
Um, but I tend to start, um, doing things at about nine in the morning. I tend to, uh, finish at about five or six. Um, and then I tend to sort of come back and do some more after about 8, 8 30.
Um, and then just sort of do some coding and Netflix, which is quite fun. Uh, and it, it really starts out with checking GitHub notifications and email and Discord and Twitter dms and all, all of the ways that people are, are, are contacting me and saying, asking for help or they've got an idea that they want to build. And so, uh, my day, it feels sometimes like my day is shaped by what those first few incoming messages will be like.
What are they, are You mainly connecting with people also working on the project? Uh, mostly, although I don't, uh, so, so yes, because we have so many contributors, people who, who are, um, even they, they just spot an, an issue and, and fix it, or people who are contributing more frequently, uh, as well. Um, and probably that's where I'm getting most of the, the incoming notifications for, but it's, and it's not only next, uh, either.
So I, I try and, uh, sort of spend time on other projects too, uh, and uh, yeah, but, but yes, mostly it's that it's, I think it's amazing, like if you're involved in open source, you have this sort of community of contributors from all around the world, people who you work with, but, but you're doing it for, for fun and because you want to, not because you are, you have to, um, so it just has a totally different feel than if you were doing it because you are employed by the same company or something like that. Um, so it's, it's relaxed and it's fun and it's, yeah, it's really, So you can do the same job, but if you're the one who chooses to do it, it makes a big difference. Yeah, absolutely.
So, uh, I, and I think I, I, I try never to forget that anyone who submits a PR or raises an issue, they didn't have to, so they didn't have to say, I'm gonna take the time to like, describe my issue or, uh, come up with a solution. Um, they chose to spend the time to, um, to, to contribute in that way. Uh, and I like, I'm really, I'm really grateful and it's, it's, and, and, and I, I mean, I would say open source is gif is giving.
So, uh, you, you give somehow you, whether you're giving your time or you give a, an like a fix or some code or you give, um, uh, anyway, it's, it's, it's, it's a gift. And, and so you're basically, and, and, and then, um, and not just the, the framework itself or the project, but also anyone who uses it benefits then from everything that people have given back. And so it's, um, you know, it's, it's, it feels totally different than, I don't know, using a paid product because you're, it's not like there's no contractual obligation.
There's, you know, you know that the people who are helping you are doing it because they want to help. They, they're not motivated by, it's, it's You, you can, like, there's nothing wrong with being baed for something and you can still want to help like that. Like, I'm, I'm not, not, but some, somehow when people are helping you and you know, they're doing it just 'cause they care only because of that, it's, it feels so nice.
And, um, and that's, that's really an amazing world to be in. Uh, so Maybe you could describe it like, you feel like you're actually getting help from people who really care. Yeah, Like people who are passionate, people who have their own hobbies and things they like.
Exactly. And, and they're doing it in their off hours. 'cause not all companies do, do, um, sort of prioritize open source work.
So often people who are contributing to a project, they're doing it when they get home, they're doing it in their free time. They could be playing a game, they could be, um, you know, going for a bike ride. I don't know.
But they're choosing to do that. And so, I don't know, it feels like a huge privilege to be getting that and receiving that from other people. Like, it feels like you're making connections, like real connections with real people.
Um, and I love, I mean, I'm, this is it, uh, we're sitting here at, uh, ko at us and one of my favorite things is to, to come to a conference and actually meet people who are contributing, like we've had chats on GitHub or you know, their PR landed like last week, and you're meeting them and actually able to sort of see the real face behind the, the online contribution. I Can see how that's really exciting, like connecting the person online to like in real life at a conference. Yeah, I'm, and I, I think, you know, we're all increasingly with, um, remote jobs, it's easy to be isolated.
So you're in different, you're in your own home office or you're working remotely in some other way, and you can be in a way on your own. And that, uh, is good, you know, it gives you freedom, but it also can be disconnecting and you can feel isolated. And so when you have the chance to, to connect and have a sort of relationship that isn't you sort of purely transactional, um, whether that's, you know, meeting at a conference or maybe another meeting, but just, uh, being able to go back and forth, it really makes you feel connected.
It means that you're not quite, so, it's not quite so lonely, like you're part of something. And I think that that is really needed in the async remote world that we live in, as, you know, in the tech world. And I, I really like that.
So how can you get started to contributing open source? So I, I mean, I, I, I know just, I mean, so speaking for myself, I am always glad of any kind of contribution. So, um, I would say nobody should ever think what I have to offer isn't enough.
So even if what you have to offer is you're starting out with a project you've never used before and you're going through the documentation and it doesn't make sense, that is a contribution because nobody else can be in that position. So I can't, I've, I've read the docs too often. I've written the docs too much, I know enough, too much about next to see it from the perspective of someone who's new to it.
And so the contribution of just this didn't make sense is hugely valuable. Um, and the same is true for helping other people with issues or coming up with a code fix or something like that. That's also amazing.
But how to get started. So, um, I have, uh, so on my website, anyone can book a 10 minute call with me. I have an open IE so if there's, if someone is wondering about how to get started, that's a really good way to do it.
So just have a chat. Um, and it's, it's not a, well, I'm always glad of those chats. Uh, I, I think often, um, bug fixes, if you find a problem and you open an issue or you see someone else has the same problem and you want to like create a fix for it, most open source products will have contribution guidelines and you can have a look at them and see what it says about how to contribute for, for next.
Um, pretty much, uh, just give it a go. Message me, DM me. If there's any question you have, I'm always happy to look at prs first to give informal feedback if that's useful.
Um, but uh, and if there's anything not answered in our contribution guide, I'm really happy to answer it. I Find it surprising that you accept feedback from like a totally new person just looking at the docs and getting confused. So, well, I think the docs, that's the docs are for the, those people.
So if I, I think in a sense, I would say it's a bug in the docs if they're not clear. Um, and you know, it's really hard to get that right. So, you know, it, it, it might be that you have to go back and forth to find the right, right wording.
Um, but it's, it's, um, yeah, I, I have to assume that I'm wrong. Like, you have to start from the assumption that, uh, that what you do and the ideas you, you have, um, could be, could be, uh, could be wrong. So in other words, you have to put yourself under the microscope as well.
And, um, and, and so you can't, I dunno, it's, it's, it's, it's easy as speaking for myself to, to basically someone reports a bug or they, they disagree with it, you've done, and your instant response is defense. Like, no, I'm right, I'm right. You want to defend what you've done.
And I would say I always regret that, like, looking back at it, I always regret the interactions where I've done that because, um, it's like, it's true, it's true. Sometimes I I anybody is some sometimes is right, you know, you sometimes you are right. Um, but it's better to be, to be open to the criticism and then come back to the conclusion that actually in the end it was probably, it was right.
It it is just to reject the criticism and, and, and try and put yourself out of, or like outta the discussion. And so I, I I, and I really think that, well, I'm saying criticism, but it's not a negative thing. Like to, to point out an issue with something is shouldn't, like, we should be really open to that.
That should be seen as a positive contribution. Someone's trying to make it better. They're trying to make it clearer.
They're trying to fix the issue. Um, that is something to be grateful for, not something to, uh, be defensive about. I think we're all human.
Like do you ever feel a level of frustration when you see too many problems arise up all at once? Too many problems? Absolutely.
Well, I often cause the problems. I, that's the, that's the problem. I, you know, I, I'll sort of, I suddenly realize, oh no, there's this bug and this bug and this bug and I've caused them all.
And, uh, that is very frustrating. So it's, uh, but the solution of course isn't for people not to report the bug. The solution is to fix it.
And so, uh, and so, I mean, I mean, I will say that right now, I, you ask me, I feel pretty good. I feel like we've been pretty, um, pretty solid in terms of, um, not that many bugs, good experience for users or right now it feels good. Um, trying not to tie my own feeling of, of self-worth to the, the sort of bug percentage of the project was probably important.
I think for, you know, my own wellbeing. I think you really give a unique perspective as like an owner of open source. Oh, thank you.
Um, well, I mean, it's, and it's something I'm, I'm, I'm, I, you know, I'm, I'm leading this particular team, but I didn't write the project. I didn't create it originally. I'm a custodian right now.
Um, and that means, I guess I, uh, um, I, it's always, it's helpful, uh, for me to remember that, you know, I'm, I'm, I'm taking something that other people have contributed to and I'm hopefully stewarding it in a good direction. And I'm not probably going to be the last, uh, maintainer either. So, I dunno, helps not to take myself too seriously.
It's a respectful role. I, I, I would want it to be. Yeah.
I think we've had a really good chat today, so thank you. It's really nice to, uh, to chat. Thank you, Cassandra.
