Forbes Lindesay adopted his pet project, Pug, from an open source legend–TJ Holowaychuk. TJ is a prolific NodeJS developer, who created an array of well-known libraries like Express, Mocha, and Jade, writing so much code some people even questioned if he was real.
Back then, Pug was called Jade. Forbes started using Jade for a project he was working on, and noticed there were a lot of edge cases and bugs. But he liked the overall concept, so he started triaging fixes. After a while, TJ made Forbes a maintainer.
One day someone asked TJ for some help on an issue. “And TJ went, ‘I don’t know, ask Forbes. He’s the one who maintains this,’” Forbes said. “And that’s when I realized, ‘Oh, guess I maintain Jade now.’”
How Jade became Pug
The name change happened when Forbes discovered another company had a copyright for the name Jade, and they had “scary lawyers,” Forbes said, so they had to come up with a new name.
“I brainstormed with my girlfriend,” Forbes said. “I wanted something easy to spell and pronounce, something spelled phonetically.”
Forbes stepped into the world of open source during his time at university. He learned NodeJS because he needed something that had websocket support for a website, and from there he published a few tiny packages. He was excited to see people actually started using them.
“From there, I was hooked on open source,” Forbes said.
Rewards and challenges
It’s not all sunshine and puppies, though. Forbes said the most rewarding and most challenging aspects of being an open source maintainer is the same thing–dealing with users.
It’s hard to devote time to new features when you’re inundated with new issues, Forbes said. But it’s so rewarding when he talks to someone at a meetup who’s using Pug, or hears about a cool use case, or new maintainers or contributors start helping out.
“That’s when you see open source at its absolute best,” Forbes said. “When people step up and help out.”
But new issues are opened every single day, and it’s really challenging to figure out how to divvy up his time. “You get pulled in every direction if you try to answer every issue personally,” Forbes said.
The bug for open source
Forbes works a full-time job for a company called Threads Styling. He’s allowed to devote one day a week to work on Pug and other projects.
“The one day is enough to maintain Pug,” Forbes said. “I’d like to do more, but I have other commitments and side projects and smaller open source projects.”
Pug is the biggest open source project he’s working on, but he has the “bug for open source.” Anytime he creates something, he wants to share it with the world–but it’s not really sustainable to work on open source full-time.
Before he started working at Threads Styling, he spent a year self-employed, experimenting to see if it was possible to work primarily on open source. It was a lot of fun and he learned a lot, but didn't earn nearly enough to sustain a healthy lifestyle.
“Funding is a huge problem,” Forbes said. “If open source wants to grow, one of the big things is getting it to that level when enough maintainers can get funding to support their efforts, and therefore spend more time.”
If you’re interested in supporting Forbes’s work on Pug while also getting security, maintenance, and licensing assurances for Pug and other open source projects you already use, check out the Tidelift Subscription.