Interview with ZEIT founder Guillermo Rauch and Head of Growth Sarup Banskota.
What is ZEIT?
Our goal is to make the cloud accessible for everybody. We want it to be easy for you to make stuff on the internet. We develop Next.js, a popular React framework that helps you build websites quickly and efficiently, as well as a deployment platform called ZEIT Now, which does the all the infrastructure heavy lifting so that developers can focus on their business idea and code.
What's your open source backstory?
My first job was because of open source. A startup wanted to revamp their entire frontend using a JS framework I worked on. Their only option at the time was to hire the core team of contributors to work directly on their product.
Not everyone has the opportunity I had to be hired to work on open source full time. With initiatives like Open Collective, we can make that much more broadly accessible. Now I can support a project without necessarily hiring the authors or micromanaging everything they do.
"Now I can support a project without necessarily hiring the authors or micromanaging everything they do."
I got into programming through open source. At my college, we were taught very academic stuff, but I really wanted to get actual real-world programming experience. So I got involved with a Linux distro community, and then built my own open source projects.
Why does ZEIT invest in supporting open source?
Guillermo is a long-time active contributor to open source (as creator of socket.io and other well known projects), as is most of the ZEIT team. Tim, who leads Next.js, came to us through his open source work. Our entire culture is rooted in open source because open source brought our team together.
"Our entire culture is rooted in open source because open source brought our team together."
Next.js is one of the most popular frameworks today. It's used to build everything from small websites to gigantic applications. Every time you're using Next.js, you're leveraging the work of hundreds or thousands of volunteers in open source projects throughout the world.
As our projects kept being used for larger and larger things, we started having some growing pains with dependencies. Other companies rely on our infrastructure, so we have a responsibility to help maintain the projects that we depend on. We wanted to dig deeper into their internals and push build performance.
"Every time you use our framework, you leverage the work of thousands. We have a responsibility to help maintain the projects that we depend on."
We started needing more attention from the creators, to pick their brains and understand their roadmap. If you’re an open source maintainer, everyone wants your attention. An Open Collective can offer different ways to collaborate with enterprise customers and help maintainers prioritize.
It’s almost like our dependencies are suppliers to our project. But in the open source world, formal contracts and partnership agreements don't happen the way they do in the business world. That's why Open Collective is a no-brainer for us: it’s our API to getting support from and building relationships with the maintainers of our dependencies.
"Our dependencies are suppliers to our project.... Open Collective is our API for support and relationships."
What have been the outcomes for ZEIT as a sponsor?
We get a lot of valuable ideas from our relationships with maintainers. It's almost a proxy for hiring the best people in the world, only for a limited amount of time. Open Collective gives a business like ours access to a diverse talent pool that would be impossible to build internally.
"Open Collective gives us access to a diverse talent pool that would be impossible to build internally. I think of it as having expertise on retainer."
We don't really ask Tobias to fix issues, but we chat to him frequently about internals and direction. When major releases come, you want to be prepared months if not years in advance. Having his availability to answer questions about the roadmap and trajectory for breaking changes has been super useful.
Earlier today I was looking into a project that’s getting deployed a lot on our cloud platform recently. The first thing I did was look for their Open Collective, and to my pleasant surprise they had one. Now we're talking about making a contribution and we're in contact with the creators.
I love it when new frameworks start an Open Collective, because it allows me to establish a relationship, align our goals, and get to know them better. The Collective becomes mutually beneficial.
What are your thoughts on contributing code vs contributing money?
I could try to train or hire someone to contribute code to a given project, but the best use of everyone's time and resources is to just give money to the existing team. Then they can attract the right people from their own community to put in more hours, rather than getting a random pull request from someone external who might not know their roadmap and best practices. I think it's always best for the authors of the framework to decide the best use of each dollar.
"The best use of everyone's time and resources is to just give money to the existing team.... It's always best for the authors to decide the best use of each dollar."
We've actually sent a bunch of PRs to Webpack. But even in those cases, the relationship that we have previously established through their Collective helps a lot. We have a communication channel and we know what they are receptive to.
Giving money is a vote of confidence. For example, we didn’t know the Unified folks that well at first, but we liked what they were doing. We wanted to incentivize them to spend more time on it. Open source developers have lots of choices, and signalling that their project is getting more than just stars can influence their prioritization.
How can the open source ecosystem become more sustainable?
If I'm going to rely on a project, I want it to be as good as possible. Once companies see how supporting the tools they use every day improves UX and the performance of their team, it becomes a no-brainer. Every company should, at the very least, make a small contribution.
Project founders also need to take steps beyond code and think about their fundraising process. They need to pitch what they could do with more budget and explain how they’ll get faster and make developers happier. I've always been a big proponent of marketing in open source, and it’s helped make my projects successful. Great open source projects create strong brands.
There has been some interesting stuff happening in the open source funding space recently, like Feross trying advertizing. What he did was really a social experiment, because it was obviously going to generate a lot of drama. He's made an example to bring attention to the problem.
We have to experiment to find the models that work, even if it annoys some people along the way. It accelerates the conversation and brings awareness to the fact that tens of thousands of developers are using a thing for free. It's an awakening for a lot of people.
What's your vision for the future of open source?
I am very optimistic about the future of the open source ecosystem. It's going to be super interesting once new open source business models are well understood and we can move beyond our current Silicon Valley reference points for startups.
We’ve validated that open source is a viable way of writing software. Now we’re also enabling an alternative type of CEO, an open source project founder who wants to recruit others and scale up. Ultimately, this calls for a new type of organization, and it's pretty exciting to watch it develop.
"We’ve validated that open source is a viable way of writing software.... Now we’re also enabling a new type of organization."
If we build up the necessary infrastructure, healthy mechanics can emerge. In the past, we didn't have tools to witness the progress of a project, see followers or stars, or communicate with the authors efficiently. And there was no way of funding them.
Now open source projects emerge from the get go assuming that they can get feedback about what to priortize, find support, and create something sustainable. That's why it's so important to get successful stories out there as examples that others can follow.
I've been thinking about a new open source project model, one that’s designed to make money but not to be predatory. Frameworks can get a lot of traction while maintaining a small core team, if they do a very good job with marketing, organic growth, community-led events and meetups, blog posts, and forming partnerships with companies like us.
I have a vision of replicating that model across languages, frameworks, and different industries. We're still in the early days and it's going to take a while to see hundreds or thousands of those happening every year, but anything is possible.