Evan You didn’t plan for his popular JavaScript framework, Vue.js, to become a full-time job. It just happened.
When Evan moved to the U.S. from China to go to college, he studied art history. He was interested in “the intersection between art, design, and technology.” He didn’t study JavaScript seriously until graduate school, when he went to Parsons to earn a Master's of Fine Arts in Design Technology.
Evan came up with the idea for Vue after graduate school, when he worked at Google Creative Lab.
“We used Angular 1 in some projects,” Evan said. “And there are parts of Angular 1 that I liked and there are parts that I felt I just don’t really need. Vue started as an experimentation to extract some parts–[specifically, for] building a web application.”
Evan thought that Angular 1, also known as AngularJS, API was too heavy-handed, especially when considering how frontend web developers would use it. AngularJS' design was oriented more towards backend developers and that didn’t really translate well into the frontend world, he thought.
“We are trying to bring those good bits from a more monolithic complete full-stack framework,” Evan said, “but we want to make those accessible to people who are building for simpler use cases.”
Vue was a side project for two and a half years, from late 2013 to early 2016. Evan was working full-time and had to take three weeks vacation to release 1.0. Around that time, Vue got picked up by the Laravel community, when creator Taylor Otwell started using it.
“[When Otwell] started using Vue, the whole Laravel community went on board with him,” Evan said. “We saw a spike in usage. That was around the time when I thought, ‘Maybe there is something bigger than a side project in this.’”
When work at his day job started heading in a direction he wasn’t interested in, Evan started seriously considering quitting and working on Vue full time. He saw some people were doing well with Patreon and he was fortunate to have enough savings to support himself for a while. But it was a connection he had with a CEO of a company in China that gave him the confidence he needed. His friend’s company depended on open source and had money set aside to sponsor open source projects, so they offered Evan $3000 a month for 6 months.
“That really helped,” Evan said. “It gave me some confidence. At least I get some income in the beginning.”
Vue continued to grow. Evan was shocked at how stable sponsorship was, with some sponsors offering support long-term.
But such a scenario is an oddity in the open source world, and Evan acknowledges that. He said part of the reason he believes Patreon has worked so well for him is because people use Vue documentation every day, so sponsors get high visibility.
“I think it’s really hard to replicate this kind of model,” Evan said. “The difficult thing is it has a lot to do with the type of project you're working on. Take Henry Zhu from Babel for example. While [projects like Babel] are very critical to your infrastructure, you don’t go looking for the documentation every day.”
This is one of the reasons Evan signed on with Tidelift. While Patreon works well for him, it has issues with scalability. You can only have so many sponsors, Evan said.
“I have to be careful not to distract the users with too many sponsors on a documentation page,” Evan said. “It’s about the documentation, not looking at sponsors.”
There’s also a divide between enterprise decision-makers and the open source software they use. Evan said that most of his long-term sponsors are small businesses, where the person who chooses the software is also the person who signs the checks. With large organizations, the technical decision-maker might not even be in the same department as the person who allocates the budget.
“The cool thing [about] Tidelift is [it’s] an effort in trying to make open source funding work,” Evan said. “There’s definitely value in connecting [maintainers and the organizations who use their projects]. If we can actually make these decision-makers realize it’s worth the money [they] paid to these open source developers, it’s better for everyone. I think that’s a good vision [to work] towards.”
Without solving this funding issue, there’s a big chance for burnout. Most open source developers who can build software that people want to use could easily get a job in Silicon Valley making a very good income, Evan pointed out.
“Most people start [building open source software] because there is satisfaction you get out it,” Evan said. “When you work on your project, especially in the beginning—when you have a new cool idea, you are fulfilling something: your itch of creation.”
The difficult part comes after you’ve released the project, Evan said. That’s when the responsibilities start to pile up. You have to address issues, fix bugs, think about the next iteration of the thing, cater to people’s feature requests. Individual maintainers decide what they want to do, but oftentimes they feel guilty if they ignore the requests of their users.
“It’s actually a lot of pressure,” Evan said. “For a long period of time I was obsessed with fixing things instantly. That worked, but it’s not sustainable.”
So he had to learn how to deal with the daily dredge of issues and maintenance. For him, the solution was to take some time off every now and then, to not work constantly. He also created a detailed template for anyone with issues to fill out.
“You start to slowly set up rules,” Evan said. On the Vue issue template, there is an explanation as to why it’s important to fill out the details. “By saving us time you’re increasing the possibility of your issue being fixed faster. We have limited bandwidth; if you make it easier for us, you make it easier for yourself. We're in this together.”
This kind of messaging, Evan said, makes people feel like they are part of the project, that they are actually helping improve it. Most people happily fill out the form. Some people complain.
“To stay sane, maintainers have to draw the lines [between] what they can and cannot do,” Evan said, and every maintainer realizes this in their own time. “If you’re too attached to your project you can risk your work life balance to the point that you’re completely burned out and you walk away. That’s the worst case scenario.”
Evan said he doesn’t really have any issues taking downtime when he really needs it.
“Realize it’s OK to occasionally not be on top of everything,” Evan said. “Such is life.”
So where does Evan see the world of open source going in the next few years?
“The landscape has changed a bit, especially in the frontend world,” Evan said. There are a lot more projects created by individuals or grassroots efforts that have gotten wildly successful, like the Node.JS projects, Webpack, or even Laravel, he said. Most of these projects aren’t large-scale or bureaucratic, and this makes them lack bargaining power—especially in dealing with enterprise customers.
“Typical businesses don’t know how to justify paying [these projects],” Evan said, because many open source projects don’t have a business behind them. “[So typical businesses think] it’s just a random guy.”
But businesses are using more and more open source in their work, which means when individual developers work on open source, they’re creating a lot of real value. “It would be good if we could make this work [so they can] get the share that they’re due,” Evan said.
Nowadays, maintainers almost need to be half-businessperson, half-developer. Evan said he probably spends about 30% of his time outside of writing code working on the business, and he suspects that many developers would rather spend their time writing code than dealing with sales or working as a customer relationship manager.
“Time is better spent writing good code to produce greater value for other developers,” Evan said.
But there are conferences to speak at, workshops to conduct, sponsors to talk into supporting you.
“Sometimes I wish I could go back to the day when I could just write code all day and not worry about these things,” Evan said. “But those days are gone.”
---
Evan You is currently deep in the works of releasing Vue CLI 3.0. If you’re interested in supporting his work on Vue and getting security, maintenance, and licensing assurances for Vue and other open source projects you already use, check out the Tidelift Subscription.