Things Worth Learning

Making A Living Off Of Open-Source Software, with Evan You

Episode Summary

In this episode, Evan You, full-time creator/project lead of open source projects Vue.js and Vite, talks with us about open source software and how to turn a passion project into a career. We discuss the unique balance of creating and maintaining a free product while also trying to make a sustainable living off of it, as well as the conveniences of being beholden only to yourself in your job.

Episode Notes

 

Episode Transcription

Matt Stauffer:
Hey and welcome to Things Worth Learning. I'm your host, Matt Stauffer, and this is a show where a curious computer programmer, that's me, interviews fascinating people about their passions. My guest today is Evan You the creator of the JavaScript Frameworks of Vue.js and Vite. Evan, would you mind telling the audience a little bit about yourself, whether it's your personal or your professional life?

Evan You:
Hi, my name is Evan You and I'm a full time independent open source developer. Yeah, I currently live in Singapore, I have two kids and I work for myself, so really enjoying this lifestyle right now.

Matt Stauffer:
I love that. And we'll get there a little bit more, but I do want to say, let's say that somebody who's listening, because this is not an entirely technical audience, has never heard of open source before. What does it mean to be an open source developer versus to work at a closed source or a company, or whatever else? What's the difference between, and we'll talk about this more later, but the basic difference how you describe it to people?

Evan You:
Sure. Interesting. So I'm a programmer. I write software. The difference from commercial software is that I don't sell the things I write. All the code that I write is open and free, anyone can access it, anyone can use it, there's no barrier at all. So it's all completely free. But somehow I manage to find ways to make a living out of it.

Matt Stauffer:
Yep, which we'll talk about more in a second that's for sure. I just want to make sure. So when he says full stack, full stack, we're saying a whole bunch of different types of technologies all being written by Evan and a group of other people, all being given away for free. And we'll talk about that in a bit. But before we go there, can you tell me, do you have any sort of life mantra, or phrase, or idea that you like to live your life by?

Evan You:
I guess I don't have a specific motto or mantra, but I just want to live by doing things that I really enjoy doing, so that's the basic rule that I've been following.

Matt Stauffer:
Yeah. I mean, sometimes the simple one is the best one, and it's weird that, that can be a counter cultural, like what you just said is not common. So good on it. I love it. So you know that kind of the primary topic of this thing is to give you the chance to talk about one particular topic. So could you introduce for us today what are we actually going to be talking about today?

Evan You:
Yeah. So I want to talk about this sort of, I guess it's more like a combination of two things. One is working on open source and somehow make a living out of it. And two is just in general being self-employed and being able to work from anywhere, I guess not being physically tied to a specific location or an employer or anything.

Matt Stauffer:
Yeah. And there's a ton of fun stuff we can talk about there, but let's start for, again, like we started with what is open source, so now let's start with the obvious first question, which is if you're giving it all away, how are you actually getting paid? So can we just start there? What does that actually look like for you?

Evan You:
Sure. So in the beginning when I created the projects that I work on, I never thought about making money out of them. These projects started as side projects when I was still of working full-time. But over time it got so popular. I guess with the internet, like when you have something that attracts an audience, literally anything that attracts an audience, you can turn it into an asset that generates income. So that's the rule of thumb.

Evan You:
If you think about these like TikTok influencers, how they make money is they convert all these audience, all this traffic, into some sort of money. So the same with opensource. There are different ways of making money out of opensource. There are people starting companies, there are successful companies built on top of open source, but the way they typically make money is they sell services on top of the free product that they provide.

Evan You:
So these enterprise they use some free software, but then they realize, when there's a problem we can't solve it ourselves, so they pay the people who created that software to provide service for them. So I thought about that in the beginning quickly realized that's not the kind of thing I want to do because providing service, selling service, is labor intensive and you either need to spend time yourself doing that, or you need to then hire a lot of people and manage them to do that.

Matt Stauffer:
Yeah. A whole team.

Evan You:
Which is completely not what I want to do. I hate managing people. I don't want to be a boss. I don't want to run a company. So I want this sort of more passive sort of income, something that I don't have to constantly be trading my time for.

Evan You:
Then I thought about sponsorships. The proposition is pretty simple. I created a piece of useful software and companies are building revenue, generating products with it. And if I don't have enough money to keep working on it, the project will be abandoned and your product will suffer as a result. So if your company is using the software that I wrote to build commercial products, then it makes sense for you to at least make sure it's sustainable. It's almost as if a bunch of companies are crowdsourcing money to fund one guy to keep maintaining a common piece of infrastructure shared by these companies.

Matt Stauffer:
That's good.

Evan You:
So this kind of model in theory works. When you think about it totally makes sense, but it's a bit difficult in the opensource world because the direct consumer of opensource software, these developers, are usually not the people who can make the call in their companies. They use your software because it's free, but when it comes to time to convince their boss to say, "Okay, we should sponsor this software, it's a different story." So that's the main bottleneck here.

Evan You:
And in fact to this day, this is still a really prominent problem in funding open source, is because of this disconnection between the direct consumer of the open source software, compared to the people who can make the decision to say, "Okay, we'll actually sponsor this project." It's easier when you say, "Actually, we need to actually pay for a service." But it's much more difficult to go to your boss and say, "We're using this piece of free software, but we should still give it money."

Matt Stauffer:
Yeah. "It works fine, you don't have to pay money for it to work and you should pay money anyway." Yeah.

Evan You:
Yeah. So I think the economical model works in theory, but in practice, there's a lot of friction from a converting a user to someone/company that is willing to sponsor, because from my experience individual users usually they can't really... Like the conversion rates of open source software sponsoring user is extremely, extremely low. So Vue has probably over 1.7 million users worldwide based on the stats that I collected a few months ago. But I have probably combined like three to 400 sponsors, paying sponsors.

Matt Stauffer:
That is a shockingly different number.

Evan You:
Yeah. So individuals, probably half of them, contribute very insignificant number of the total amount, the big chunk of it comes from businesses. Businesses who are willing to sponsor $500, $1,000, $2,000 or even more. These are the main players; however, because of this sort of disconnection that I talked about earlier, typically sponsors are smaller companies where the developer either is the boss themselves or they have a really flat structure where the developer is able to convince the owner of the business to say, "This makes sense to sponsor it." Or the business owner themselves are technical enough to realize the value in it. So this makes the conversion rate extremely low.

Evan You:
But somehow when you have enough traffic, it will still work. So that's the case for Vue, because we have so many users even only a small number of these businesses realize, "We want to actually do this." They create enough sponsorship income for me to keep working on Vue. So that's the main source of income.

Evan You:
Outside of that, there's also some other form of income like people selling themes. Kind of like, WordPress has this ecosystem people selling WordPress themes. So Front-end Frameworks have an ecosystem of people selling like ready-made front-end kits or themes. It's almost like Tailwind selling Tailwind UI. It's along the same lines. So there are a lot of people doing this on top of front-end frameworks too. So we partner with them. Essentially, again, it's traffic because we can give them exposure by featuring their themes on our website, and then there's a affiliation income.

Matt Stauffer:
That's awesome.

Evan You:
And, then we have education partners where like video course producers, they make courses, teach people about Vue. We have great documentation, but a lot of people still prefer watching videos.

Matt Stauffer:
Yeah, definitely.

Evan You:
So it's similar to how Laravel partners with Laracast. And we have similar education providers who have subscription plans and they also kick back a part of their revenue back to Vue in order to support us. So this kind of partnerships is also really healthy because... Essentially when you have a large enough project, you create this sort of ecosystem where you start have people building their business on top of the software that you wrote. And because you doing better means they are doing better, so they're willing to also kick back a part of their earnings back to you in order to... So it becomes a healthy circle.

Evan You:
So that's pretty much the gist of it. So it's a combination of sponsorships, partnerships, affiliation, ads a little bit as well. And as you can see, most of these are really passive form of income, so it's not like I have to keep sourcing new projects deadlines or anything. When I think about, "How do I make money?" I always think about, "What is the time cost of this?" How passive it is. So I always try to prioritize income that is as passive as possible.

Matt Stauffer:
That makes sense. And especially because... I assume that the majority of the money that's coming in is allowing you to do what you're doing. And so if you are consuming time that's being paid for it to just try and get more money, it's like, "Well, now I have to make enough money that I can pay for my time making the money and other people." And it gets bigger and bigger, which is what you just said you didn't want to do.

Evan You:
Exactly. That's why sometimes when people ask, "Why don't you take some investments, start a company? I feel that distorts the incentive because I didn't create Vue to make money. I mean, in some way I am, because I still need to make a living, but the priority is I want to make enough money so that I can keep doing what I want to do. Not that, do what I would not want to do in order to make more money.

Matt Stauffer:
Exactly. The goal is not the money, the goal is living the life you want to live. And the money allows you to do that.

Evan You:
Exactly.

Matt Stauffer:
A hundred percent. And that makes so much sense. And for those who haven't kind of been in this world before, a lot of people think, "Oh, I like doing this thing I'm doing." And this thing could be programming or whatever else. "I'm going to start a business doing the thing." And the first advice I always give, which you clearly already know is, once you start a business doing it, you're not doing it anymore, you're now running a business. And you're doing taxes, and you're employing people, and you're managing, and you're hiring. And so then it has to get big enough until one day maybe, eventually you can go back and do the thing that you were doing the first place. Just do the thing. So I completely understand where you're coming from, and I love that idea.

Matt Stauffer:
So you talked about a whole bunch of different ways where Vue in particular is able to pull in money. And there's other ways of doing that you've chosen not to do. When we talk about this one where we've got sponsorships, one of the things I've been thinking about for a while is, what does it look like for me as a company owner to help encourage other company owners to understand this? And for example, I own a consultancy, so I can encourage other consultancies to give money. But I also realized that I can encourage my clients and say, "Hey, client, we just built this thing for you. And it's a lot cheaper for you to pay us to build it, because we didn't have to rebuild Vue from scratch. We didn't have to pay to rebuild Laravel from scratch when we built this thing. So you just paid us a third or a fifth or a 10th of what you would've paid because of this free thing."

Matt Stauffer:
How can I do this? And so, one of the things that's cool that I've been thinking about is that GitHub is trying to like make it easy for programmers to understand, as a programmer, look at all my repos and figure out who's sponsoring. But now I'm realizing, we really need to be able to make it so that a company can look at their one repo. And maybe this is a company doesn't want to say, "Whose work is this particular plot project relying on, and how can I therefore recognize that." You've got my brain spinning. I don't know if there's anything that sparks any conversation for you, but I just want you to know that I'm really fascinated thinking about this idea now. Because I would love for any client that I ever had, that I put on Vue, to then go consider sponsoring you.

Evan You:
I guess for your client to sponsor Vue, it's going to be a difficult sell because for them it's there's just like so many intermediates in there. And this sort of idea has been kicked around in open source developers for a while because, there are tools for you to programmatically check in the project, like in your dependencies like how much code belongs to which developer. But then there's this problem of how far you want to trickle it down. And in the end, like say a company say, "I want to like donate $1,000 for all the dependencies in my project." And maybe there will be a thousand authors each getting $1. The logistic cost of this extremely high. You need a very efficient infrastructure for this to actually work. And it needs to be at really high scale. Otherwise, if you do like one offer, two offers, it's just there's so much friction there.

Matt Stauffer:
Not worth it.

Evan You:
It's not feasible.

Evan You:
There are some platforms that are trying to do that. I mean, GitHub Sponsors really already changed things a lot for a lot of people. I think the first step for GitHub Sponsors is just kicking off this sort of developer to developer support system where primarily right now it's developer to developers, but slowly businesses are getting ahead of it. They're realizing, "We can use GitHub Sponsors as a way to first support the open source projects that we use, and second get exposure for the company themselves." Because you see, if you sponsor a lot of developers on GitHub, sponsors are displayed in people's profiles. So basically your company's logo will pop up everywhere on GitHub when people looking at other high profile developers, they're like, "Oh, this company's sponsoring him. Oh, sponsoring him as well. Sponsoring her as well." I guess there are there companies who are willing to try this kind of marketing strategy where it's relatively low cost because you can literally get on there just sponsoring like $10 a month, it's still something.

Matt Stauffer:
Yeah. You're still on there. That's really interesting.

Evan You:
And we're seeing other developers in the ecosystem, like another example comes to mind is Anthony Fu. I don't know if you've come through his work. But Anthony has been extremely active in the Vue ecosystem and outside. He's created a lot of crazy projects, so he's running a very successful personal campaign. So it's a little bit different from Vue because I primarily run it under Vue and Vite. Basically, if you want to support Vue and Vite, you're also supporting me.

Evan You:
So Anthony is more like, "I am just creating a bunch of crazy stuff. You can sponsor me as a person. And then when I come up with a new crazy idea, you get early access to the code before it's in private beta or something. So if you are a sponsor, you get to play with it early. And if you're not sponsoring, you have to maybe wait a couple months before it becomes open source."

Matt Stauffer:
And that leads me to a question I really wanted to ask you. And I'm sorry to interrupt. Do you get people expecting that because they're sponsoring you, they now get something they wouldn't otherwise? And how have you thought about, "Do I want to provide that or do I want to say no, you're already getting the work. You're just saying thank you for the work I already sent." What's that kind of relationship like?

Evan You:
I try to make that extremely clear upfront. So essentially when you're sponsoring, there's no obligation for me to do anything special for you. If you want that, that becomes a service contract. It becomes I'm providing a service. But sponsorship is not a service. You are sponsoring for the work that I've already done or I am currently doing.

Matt Stauffer:
Yeah. And I've talked to a couple people who are trying to set up their tiers... And for those who don't know, most of these sponsorship platforms, whether it's GitHub Sponsors or Patreon or whatever else, allow you to sign up at like a $10 month tier or a $50 month tier or whatever. And a lot of them have kind of like they're so used to that from kickstart, they just assume each tier must have increasing benefits. Or it could be just what you just described. You could just say, it's just, thank you.

Evan You:
There are still some tangible benefits. For example, you get your logo up on the new website. So the more you sponsor, the more prominent and bigger your logo will be. So the more likely people will notice you're sponsoring Vue. But that is the main thing. It's from a very return of investments perspective for the company, supporting Vue is one aspect of it. A lot of companies do sponsor Vue just because of the exposure they want.

Matt Stauffer:
Interesting.

Evan You:
They want people to see their logo on the Vue website. They want people to click it and be curious like, "Oh, what is this company doing? There's also something similar like Laravel does, like the partnership program, because sometimes there are people looking for agencies to provide service regarding a specific technology. They want someone trustworthy. What better than an agency that's being endorsed by the technology creator itself. So this kind of structure also is mutually beneficial because these agencies get leads, you get potentially generated more income, then you kick back part of it back to the project.

Matt Stauffer:
Yeah. That's awesome. It's really interesting hearing you talk about these mutually beneficial relationships between companies in Vue because one of the ways of doing it is, these consultancies that use Vue, but we've also talked a little bit about the fact that there are companies whose actual content depends on Vue, so then you're more dependent. Like if you're making a Vue website that teaches all about Vue, you're more dependent on Vue than a consultancy or a startup that could theoretically if Vue exploded, you could theoretically rip out all the Vue code and replace it with something else. That would be bummer, but it's possible. But some of these other companies are literally, their existence is dependent entirely on it. And so I love kind of the point that you're making, that in some places there's a little bit of this reciprocity where they're saying, "Look, I understand that my entire thing is dependent on you." Of course, I'm going to kick a little back, but it's maybe a little bit harder to make that justification to a company that's like, "Oh, well it's just part of my tax stack." So that's all kind of part of the dance that you have to do.

Matt Stauffer:
And then like you were mentioning you, so you're mentioning the thing about dependencies. So for those who aren't familiar, open source tools almost always build on other open source tools. So like Vue is not all just Vue code, it also pulls in other dependencies. So even if someone were saying, "My website is only my code in Vue and that's it," there would still be a whole bunch of other stuff that Vue is relying on. So that's kind of where some of the complexity comes from. Is that what you're talking about with like how far down to the dependency tree?

Evan You:
So if you are only using Vue directly in the browser, Vue actually is dependency free. It's completely-

Matt Stauffer:
Is it really?

Evan You:
... Yeah.

Matt Stauffer:
That's incredible.

Evan You:
Yeah. But if you are say using some build tools, like a tool chain, so the tool chain that we provide do pulling a lot of dependencies.

Matt Stauffer:
But that's cool. So Vue itself, just the code that's running, it's not pulling in left pad or any of those other JavaScript Frameworks?

Evan You:
No.

Matt Stauffer:
It's all on custom stuff.

Evan You:
Yeah.

Matt Stauffer:
That's cool.

Evan You:
That's going to lead to a lot of bloat. So typically framework authors are really particular about whether we're pulling third party dependencies. Usually like even for the small utilities, we try to write our own to be as compact, as efficient as possible.

Matt Stauffer:
So that's something that's really interesting because that's a JavaScript thing. In PHP world we're like, "Eh, doesn't matter, " because it's living on a server. So we don't care about this things.

Evan You:
Yeah. The thing is like in MPM, people constantly complain about how huge those dependencies are. Because when you think, "Okay, this runs on the server." You don't care about the size and suddenly you have a dependency. You just install it, and you're pulling like several megabytes on disc. But a lot of people don't realize in certain projects like MPM also works for front-end. So they install stuff from the front-end and suddenly you're pulling several megabytes of extra jaws screwing your browsers.

Matt Stauffer:
Which does not need to be there. A hundred percent. And I think that's really helpful, just a note to point out, you particularly have a reputation. And for those who don't know Evan, I just want to kind of hype him up a little bit. You have a reputation for looking at every tiny little detail and making it perform optimally and load...

Matt Stauffer:
You and I actually just had a conversation on Twitter like a year ago where I gave a talk about how... This talk was sort of like, "Hey, I had this load time issue with Vue." And I feel three days later you're like, "Hey, here's a new version of Vue that doesn't have that problem. Here's why I was there in the first place." And I was just like blown away at the...

Matt Stauffer:
And I just saw you were just tweeting about it just a couple days ago. I know that's not what we're talking about today on the podcast, but the level of attention that you put in, you know what's going on at the browser level, you know what's going on in like the other frameworks that are going on, you know every single line, and you're like reworking these really core ideas around...

Matt Stauffer:
Again, this is super nerdy for those of you all who aren't nerd, but like the shadow dominoes' kind of stuff. So it's just to note that you are actively daily doing work that helps Vue continue to grow, that we would all be losing out if you weren't here doing. It's not like it's some of these things where it's, "Oh, well, it's written," and now basically this money is supporting you kind of going swimming every day or whatever. You know what I mean? Like there's work to be done continually in this world.

Evan You:
Yeah. There's always so much work. Actually, when you have a really popular open source project, I've pretty much given up cashing up on all the issues because just the sheer amount of issues coming in everyday, just triaging at them, just looking at them, can take one or two hours every day other than just working on them.

Evan You:
It's kind of like when you work for a company every morning you wake up, you're like, "Oh, so many new emails." So for an open search developer, it's like every morning you wake up and you pray, "How many issues do we got today?" And you're like, if you got an empty inbox! That literally haven't happened in a few years. But if that ever happens, I'm like-

Matt Stauffer:
Something is wrong.

Evan You:
... Yeah. It is like, "Is my email not working today or something?

Matt Stauffer:
Exactly. And for those who don't know, issues in the open source world basically means somebody came in and said, "I've got a problem. I've got an issue of some sort." It could be, there's a real bug. It could be, I think there's a bug, but it turns out it's actually my fault, but I need somebody to walk me through that. Sometimes it's also, "Hey, here's a new feature I'd want. So there's all of these. It's basically the primary way that your consumers of your code basically are communicating with you, right?

Evan You:
Exactly. And for a very long time, I think when GitHub was initially created, this idea of putting your open source code out there and anyone can just come by and open an issue and report something... You don't even need to be reporting something to open an issue. You can literally just say, "Your work is great or your work is piece of crap." There's no barrier whatsoever for people to open an issue.

Evan You:
And that create a problem when your project has so high visibility. There could be literally like 20, 30 issues created every single day to the point where some of us earlier had to create custom solutions where we created bots to filter the issues. And if it doesn't follow a certain format, we just comment and say, "You need to fill this form. We'll close it now, but it could come back with the correct info or something."

Evan You:
When your project is small, typically when you get an issue, you're like, "Someone is actually using my software." You're like, "What's your problem? Let's figure it out." And so you go back and forth until you figure something out.

Matt Stauffer:
"Let's spend three hours peer programming on this."

Evan You:
Yeah. When you realize you have to do this for 30 people every day, this is not sustainable.

Matt Stauffer:
That's not sustainable.

Evan You:
So one big thing I realized personally is you need to set a boundary. Also, you need to realize it's not a typical customer provider relationship. That's why I set up this whole sponsorship thing so that we don't have a direct if you open the issue, I must answer you in 24 hours or something like that.

Matt Stauffer:
Because you paid me at this tier or whatever.

Evan You:
Yeah. Because that would create a really weird incentive. And that would become really toxic for my life, and then I would just be caught up in tickets all day, which is exactly the kind of support work that I want to avoid.

Matt Stauffer:
Do you tend to feel, and I don't want to ask you to trash talk your user at all, but do you experience like a sense of entitlement at times from people that you're beholden to help them purely because they're on the internet asking, open up an issue? Or, do you feel like that's something that doesn't happen that much?

Evan You:
It happens once in a while. It's not very often now. After we set up this requirement form... So the requirement form, we try to, first, we come up with a paragraph like, "Okay, why do you need to use this?" Then we talk about, "Maintaining popular open source software is a lot of work. We have limited bandwidth, and if we allow anyone to open any issue every day, there's just no way we'll ever do any work. So in order to help us and help you, please fill out this form, provide accurate information," and all that, blah, blah, blah.

Evan You:
So typically when people read that they kind of go down and realize, "I actually need to figure out some of this part of problem myself." And it makes it more like they try to work with you to figure out what's run rather than coming up with a support ticket like, "Hey, something's not working. Help me figure it out."

Matt Stauffer:
That's a huge distinction.

Evan You:
Yeah. So that kind of filters out a lot of this sort of people who want to... I can understand because especially if they're beginners, when you use a new piece of software and it's not working, you'll be frustrated and you'll be like, "This is crap. I just want to go there and vent." It does happen. But issue, if you don't set a barrier, you don't sort of filter it down, it's just not going to be sustainable for the maintainer.

Evan You:
And GitHub realized that. So we've been asking, a lot of us, have been asking for this feature for a very long time and they just finally shifted a while ago, like allowing you to create required form fields for creating new issues. And it's been two to three years after we've been using our custom solutions.

Matt Stauffer:
Yes. Yeah. I've done the issue templates, but I don't think that the templates alone are that. It sounds like this is something more than what I'm using that I haven't followed-

Evan You:
Yeah. It's new.

Matt Stauffer:
... Okay, cool. That's awesome. So that allows you to basically structure the feedback you're getting from people in a way that both helps it be a little bit more helpful, but also you can use it to encourage them to have done more that work on their own effectively.

Evan You:
Yeah. So the biggest difference is you can now require certain fields instead of just a template because sometimes people would just willfully ignore it.

Matt Stauffer:
Delete everything out of the template and just type whatever they want anyway.

Evan You:
Exactly.

Matt Stauffer:
Yep. That's super helpful. So you talked a little bit about how as an open source maintainer that you don't work for somebody else, you work for yourself, but in a way that I work for myself, and I also have a whole bunch of employees that does not give me the same level of freedom that you have, that you work for yourself, looks like. So can you talk to me a little bit about, what is the life... Because you said, "I want to enjoy what I'm doing. I want to have this kind of freedom to this kind of life." What is the life that you have been afforded that you're able to create for yourself as a result of having this sort of work that you weren't able to do when you were an employee? And can you tell me a little about kind of the experience of gaining that life and what does that look like, making that happen for yourself?

Evan You:
Sure. So the first important thing is you're not physically tied to a specific area. So I just moved from United States to Singapore last year, bringing the whole family over without ever thinking about job or income. The decision is solely because we want to move into a more city, more urban area with a tighter cultural connection to the family. And I can prioritize the things that's more about life rather than work. Because after I moved here, work did not change at all. So essentially I get like global pay. I can literally move anywhere in the world that I want. I can still work the same way that I work today and make the same amount of money.

Matt Stauffer:
You need an internet connection and a power cord basically-

Evan You:
Oh yeah. I do need internet connection.

Matt Stauffer:
... But that's the pretty broad options though.

Evan You:
Yeah. Let's say, if I'm single, I will probably be a digital nomad.

Matt Stauffer:
Yeah, me too.

Evan You:
But even with family, I still get really high mobility to be able to live in any city that I prefer and that I think is better for my family or my kids. That's really important for me because I feel like this sort of freedom of being able to prioritize what you think is important for your family, for your life, rather than think about, "I can only find this level of paying job in this specific area, so I have to stick here."

Matt Stauffer:
Yeah. "I want to live near my family, but I can't. I want to live near this ocean, but I can't,. I want to live whatever, but I can't because there's not good... " I've been there before and I'm sure you have as well where you say, "Oh, well, I need to stay here where I can get the type of paying job I want." And just imagining uprooting that dependency and just saying, "I can live literally wherever I want and do my job." That's pretty incredible. Do you also get schedule flexibility? Is your day more free to like, "Oh, if the kids are coming home from school, I'll just dip out for two hours and go play with them," or whatever.

Evan You:
That's exactly what I do.

Matt Stauffer:
Okay, cool. I love it. That's awesome.

Evan You:
So I got a lot more freedom of being able to spend more time with kids. It's funny because after we moved here, my daughter is going to a half day daycare. So me and my wife drive to pick her up every day. And typically there are other parents there picking their kids up and usually there's only one parent there. So another mom saw us and like, "Oh you both come pick her up every day." And we're like, "Yeah." And they're like, "That's so cute."

Matt Stauffer:
That's pretty great.

Evan You:
Yeah. It's great.

Matt Stauffer:
That's awesome. I love that. If you were to find the time that a parent works during the day, it wouldn't be 9:00 to 5:00, like to be present and kind of connected to their kids, it would be bits and blips here. And they're like, "My kids are old enough that they're in school,. So I would be completely with them and then I would work the hours they're at school."

Matt Stauffer:
And this is what I do because I have similar flexibility, but I'm completely with them, and then they get home from school and then I'm just with them and then I put them to bed, and then I finish my work in that evening. Because that's what makes sense as a parent. But a lot of people don't have that same level of flexibility. So I totally hear that.

Evan You:
Yeah. Not just the day schedule, but also I tend to find myself, especially I guess for freelancers or remote workers, typically I don't find myself fit to this sort of, be on a sprint forever kind of mode, when I'm working on something, if I'm... I'm this kind of, I have these up and down productive cycles over the year.

Matt Stauffer:
Yes. Amen.

Evan You:
In a few months I'm like, "I'm working on this great thing. I want to push for it every single day until I'm I'm done with it." And then I feel like, "Oh, I'm exhausted. I want to take a break." I can literally just take a whole week off without letting anyone know, and then I come back. I mean, I've experienced burnout or sometimes there are other things happening in your life which makes you feel like, "I'm not productive at all. Okay, so let's just take some time off." Because there's no one saying, "Okay, you need to be checking 9:00 to 5:00 every day. You need to have a weekly report every week. It's a different mindset. It's more about prioritizing. You can basically cater to your own productivity cycle. I feel productive, I can work more. If I feel I'm down or burned out, I can take sometime off.

Matt Stauffer:
I love that. One of the cool things about that, is that, the whole idea of I don't have a boss is something that people love. But I think in the end, not having a boss doesn't mean you don't have clients in a lot of context. So like I don't have a boss but I have clients that end up paying the bills. And so I still have to consider them and their needs. Whereas I think in your setting you have, like the person who ultimately decides what success looks like for you is you. And in theory, you could slack off enough that your sponsors might start saying like, "Hey, whatever." But that's such a distant thing. Nobody's going to do that on a week by week basis. Well, nobody reasonable. "You didn't respond to my issue this week, therefore I'm going to... Within seven days, therefore I'm going to cancel your sponsorship." So like you, in the end, it feels like you are the one who define whether you have done the work that you believe you should do. And those of us who are sponsoring you are not defining what you should do and holding you to it, but supporting you by believing that what you're doing is the right thing to be doing. Like, I trust Evan You to do the right thing and I want to give him money to keep doing that. And if him knowing that means taking some time on and some time off, cool, whatever makes Evan You happy, I'm happy for.

Evan You:
Yeah. That's exactly the... The keyword is trust. Similar to how open source itself is a trust relationship because when you're not paying for something, usually there's a catch to it. And with open source, the catch is you need to trust whoever is writing that code. When you pick a piece of free software, you're basically saying, "Okay, I trust the person who's working on it to be a good steward in the long run."

Matt Stauffer:
Yeah that's a good word.

Evan You:
For example, "For Vue, Evan will stay responsible. He will keep thinking about how to make Vue better and not just go there and go to the beach every day or something like that."

Matt Stauffer:
And he wouldn't disappear off the face of the planet one day and leave it with no succession plan or whatever.

Evan You:
Yeah. Because there's a track record of me doing this. I've been doing this full-time since 2016, so it's like been six years.

Matt Stauffer:
Wow. I can't believe it's been that long.

Evan You:
Yeah.

Matt Stauffer:
That's amazing, man.

Evan You:
Vue is almost eight years old. Can you believe that?

Matt Stauffer:
I feel old.

Evan You:
In two years, I'll be the author of a 10 year old software. It's already making me feel old.

Matt Stauffer:
I was literally telling someone the story of how we met. And I was like, "I was Twitch live streaming when I was first learning Vue. And some guy whose name I didn't recognize, showed up on my Twitch livestream and answered a question. I was like, thanks... because I didn't know who it was. And then I learned it was you. And I'm like... But this was the earliest days. This was when it was like a little... And in my mind when I was telling the story, literally yesterday, because someone's like, "Who's your podcast cast tomorrow." I was like, "Evan." And I was telling this story as if it was two years ago in my brain. And now you're telling me this, I'm like, "That was not two years ago."

Evan You:
Yeah.

Matt Stauffer:
Oh my God. That's so cool. It's been that much of your recent life that you've been able to kind of like be making this space for yourself.

Evan You:
Yeah.

Matt Stauffer:
As you think about what you like about what you're doing and the freedom that it affords you, I mean, we talked a little bit about where you're living and the hours you're working, but are there any other aspects of this whole, like the way that being a full time open source maintainer changes your life? Less like your interaction with the sponsors or the code, but how it impacts you. Is there anything else there that you want to talk about?

Evan You:
Sure. It's important because open source is also about connection to people. It's not me completely working alone because we do have a team. Vue has a team, Vite has a team. It's a very interesting thing how you organize open source communities, teams. Because as I said, I don't want to be a boss. I don't want to hire people and then tell them what to do. That creates some challenge for scaling projects because in certain ways, companies is a structure that's created so that multiple people can work on the same thing and be more efficient, collaborating. But open source is a different kind of relationship because a lot of our team members, they have their own full-time jobs. Some of them work as freelancers and some of them are also trying to make sponsorship work. But I try not to like act like a boss and tell them what to do.

Evan You:
The kind of work I try to do is to sort of guide their interest. Like, "What are you interested in contributing to the ecosystem?" And give feedback. Like say, "Okay, this is an area that's worth exploring and you're doing great work. Maybe we can work to push this a bit further." Or I can tell them, "I believe this is becoming a really important part of you. And if you want to, you can step up and take more responsibility." You encourage them to grow into certain roles, but you never force them to do certain things. It's always try to either mentor or try to just guide them into and help them discover what they want to do, instead of like saying, "I'm your boss now. You need to do this."

Matt Stauffer:
That's what you're going to do.

Evan You:
Yeah. Just like, "Close all these issues by end of day." Something like that.

Matt Stauffer:
That's cool. I'm glad you brought up the word mentor because I was thinking about the relationship between my employees and... Also, I talked to Taylor Otwell who has actual employees doing a lot of this stuff, versus the people I mentor or the people who contribute to the open source repositories that I'm responsible for. And it is very different in that way. Like with the people I mentor, I say, "Here are things that would probably help for you to be learning and let's match up that with the things you're interested in. And maybe here's an open source repository that you could do this thing on if it's interesting to you."

Matt Stauffer:
And also guide. They might be like, "Oh, this is really cool." I'm like, "But that's not going to help you," or that's not going to help them. So there's guidance. But the guidance is shaped down from what they're interested in the first place versus shaped down from what I want you to be working on. And whereas with my employees, again, they have space during their day, they've got 20% time every week to do what they want, but what I'm telling you what to do, and especially watching Taylor, like his interactions with his employees, he's like, "Well, those issues need to be closed and I'm paying you." So it's like a different set of... And it's not that anything is wrong with what Taylor's been doing at all, but it's just a very different working relationship. So it's cool for you to kind of call out that difference.

Evan You:
Yeah. Sometimes I do wish I have a real employee where I can tell them like, "Hey, we need to get this done by today." But on the other hand, when I think about the overhead of... It's also pressure for you to have people whose livelihood just depends on you. Being an employer is not easy in a lot of ways, and I totally get that. I guess sometimes I just try to be honest with myself. "If I start a company and hire a bunch of people, will I still be enjoying the things that I do?" The answer is probably no, because I literally have no interest in thinking about payroll, thinking about tax benefits and when you should get a raise, how we should build a company culture. I mean, those are important things if you're starting company, but those are not the things that I want to spend most of my time doing every day. I still enjoy writing code. I'm still enjoying just like noodling every day about like, "Okay, how can we make this faster in Vue? How can we do this? How can we do that?" That's what I want to do. That's what I enjoy. And the setup that I've created for myself allows me to do that with enough freedom.

Matt Stauffer:
I like that.

Evan You:
Sometimes there are still strings attached. Like I need to think about, sometimes we need to talk to sponsors to convince them this is actually something worth doing. Sometimes you need to optimize certain things so that your ads get better returns or your listings get more visibility. There will be this kind of small tedious work, but compared to the major chunk of work, body of work that I'm doing, those overhead, I'm okay with. But if that grows into actually managing people, I realize that, that's going to be turning my life into something that I don't enjoy as much.

Matt Stauffer:
Yeah. And I really enjoy the fact that what you're saying here is, "I know the work I want to do. I know the work I don't want to do. I know where I thrive. I know what things are going to make me miserable." Because in the end, one of the benefits that comes from owning a company is... Like I have ADHD. I would be a really bad employee in a lot of settings. And I unknowingly created a space where there's people around me who are basically protecting me from myself and making... Like Dave is the most type A structured person of all time. And so he had type A structures things because I don't have that in my brain. So Dave does that while I think of wild ideas and bright stuff and create code. So I am creating, similar to you, creating the spaces for myself to thrive.

Matt Stauffer:
And I had Adam Wathan on the podcast recently, we talked about some of these things as well. Each of us is going to find like a different road to that, but I do think like the agency that comes from being the one who makes the decisions, in whatever shape or form, means we can start by asking the question of, "Where will I thrive, and how can I create the environment in which I will thrive? And you know you're not going to thrive running a company. You're like, "I'm going to thrive writing code as much of the day as possible." Then great, that's awesome. So I love to hear that.

Evan You:
Yep.

Matt Stauffer:
So I know we're really, we're pretty far back on time. So before I ask you the last question, is there anything else you wanted to cover today that we didn't get to?

Evan You:
I think that's it. It's a really good conversation.

Matt Stauffer:
I loved it. And obviously I say this all the time, but I could talk to you for another three hours, but I think we have a relatively well capped off thing. So we're going to get to the last question, which is, what insight or support did you either need or receive when you were younger that you hope people will give to others?

Evan You:
I think we touched upon that just when you were summing up is, you need to figure out what kind of person you are and what kind of work that you would thrive doing. I realize everybody needs to find a purpose that drives you doing the same thing over and over every day. And if it's a chore, it's going to wear you down and your life's going to be miserable because every day you are fighting your instinct of not wanting to do something.

Evan You:
I have really bad procrastination when I was in school because I'm the kind of person who if I do something that I really enjoy doing, I can be really productive. But if I'm forced to do something that I don't really don't want to do, I'll just drag on it like forever. So during school I realized, "This is just who I am." Everyone of us have similar problems. I've read all these books about how to stop procrastination, how to be more efficient, they don't help, this is just who I am

Matt Stauffer:
Exactly.

Evan You:
The hack is putting yourself in a situation where your natural tendency just drives you forward.

Matt Stauffer:
Right.

Evan You:
So that's what I've intentionally created for myself.

Matt Stauffer:
I love that.

Evan You:
So that I can just do the things that I really want to do.

Matt Stauffer:
That makes me so happy to hear, man. I love that. I forget what it's called. I think there's like a procrastination monkey. Have you ever seen this? There's a talk and then somebody made an animated version. I'll find it, link it, send it to you in text, and then I'll link it in the show notes. But it's basically this whole thing about how a lot of our brains deal with procrastination. And many other such things that I appreciate don't say, "Well, just stop it. Well, just do better." It's just, "This is who I am. Let's just build a system where I succeed." Because a lot of, especially in the US and the west, I don't know about where you grew up, but there's a lot of this, you must fit this particular box. And if you're not fitting this box, you need to work harder to fit this box. And there's no permission given like, "Maybe there's a box that fits me better that I can build myself."

Evan You:
Totally.

Matt Stauffer:
So I love that.

Evan You:
Think outside of the box and build your own box.

Matt Stauffer:
Oh my God. I didn't even do that on purpose. I love it. Okay. Evan, this was an absolute delight. If people are really excited to hear about you and they want to know more about what you're doing or they want to support you, what does it look like for them to follow or support you?

Evan You:
You can follow me on Twitter. My Twitter handle is Youyuxi, that's my Chinese name. Y-O-U Y-U-X-I. And if you are on GitHub, my GitHub ID is Y-Y-X-9-9-0-8-0-3. Okay. I probably need to think of better ideas.

Matt Stauffer:
A link in the show notes.

Evan You:
Yeah. Link in the show notes.

Matt Stauffer:
I think that's what your Twitch handle was when I didn't know who you were. I was like, "Fake. X, Y, Z, Z, Z, whatever."

Evan You:
Yeah.

Matt Stauffer:
I love that.

Evan You:
But the important thing is, on GitHub, you can sponsor me directly if you use my work, that would be a great place to start.

Matt Stauffer:
Okay. Totally random connection. I don't know anything about Mandarin, but I saw that your English handle is Youyuxi, and then your Chinese handle is Yuxiyou. Is that like a surname first name kind of situation? Or is that a common switch or is that just you're playing around with your name?

Evan You:
It's just playing around because I registered the Youyuxi, which is surname first. But that account is using English. And then later on I registered another alt, which is using Chinese, but the main one is already taken, I don't want to like switch it over to confuse people, so I just use the Western placement for the Chinese alt, but the-

Matt Stauffer:
Uh-huh (affirmative), for that one, because this is like, "Hey, we're flipping it anyway," right?

Evan You:
Yeah.

Matt Stauffer:
Yeah.

Evan You:
Okay. I figured it was like the surname situation, but I didn't realize it was flipped, so thank you. And I was actually going to ask you to pronounce it because I want to say it right in my head every time I read it and I know whatever I was doing before you just said it out loud for me wasn't right, so thank you for that.

Evan You:
All right. Well, I guess that was it. Evan, thank you so much for taking some time, especially in the middle of the morning. I know there's probably kids running around and everything like that, so I really appreciate you. And this was freaking fantastic and I really enjoyed it.

Evan You:
Yep. I really enjoyed it too. Great talk.

Matt Stauffer:
Awesome. And to the rest of you all, until I see you next time, be good to each other.