It all came down to LEGO versus Playmobil for Olivier Tassinari. These days, Olivier spends his free time working on Material-UI, the super popular library of React components for Google Material Design. But back in his youth, he had to make a very important decision: LEGO, or Playmobil.
“I think you can summarize everything to this choice,” Olivier said. “For me, it was LEGO.”
Olivier grew up with an urge to understand how things work, and LEGOs offered the perfect vehicle for his hands and mind–that was until he discovered the limitations of LEGO.
“Later on I started playing with the computer,” Olivier said. “This is basically how I started.”
Engineering or web development?
Olivier had to make another big choice when he graduated from Grandes Écoles. He was studying math, science, and engineering, but he really loved web development. During his first internship, he did frontend work with Backbone.js.
“After this first internship, I thought, ‘Cool, this was a really great experience,’” Olivier said. “OK, I know some of Backbone and its limitations. What else?”
“I want[ed] to save time, too,” Olivier said. And that’s when he discovered Material-UI.
Giving time to save time
Olivier discovered Material-UI in early 2015 when he was still a student.
“I was studying, building an app, and from time to time, I was contributing pull requests to the project because, basically, I wanted to get more done,” Olivier said.
Material-UI was about two months old, since its first public release, at that point. Olivier chose it hoping it could save him some time while building his app. He also thought that maybe he could make some real contributions to a new library, and working on a project like Material-UI would be a fun challenge while providing him a track record others could see.
His motivation for contributing to Material-UI has changed a lot since those beginning days. What started out as an attempt to save time became a bit of a time black hole. He wanted to add to something greater than his own project.
“It was my first real contribution to open source and I didn't know what to expect from it,” Olivier said. “I was all in. [I thought,] ‘I’m gonna give, give, give time and see what I get out of it.’”
What he ended up getting out of it was a chance to become a project maintainer. The creators at Callemall were overwhelmed by the popularity of Material-UI, so they let him take over handling pull requests.
Once Olivier graduated from school, though, he had to make another decision: focus solely on work, or continue contributing to Material-UI at the same rate he did as a student.
“I had less time to dedicate to the project,” Olivier said. “I kept working on Material-UI, but it was more challenging. I had to find a different balance. My girlfriend helped me a lot. I wouldn’t have made it without her support.”
Using open source in a professional setting
Olivier still works a full-time day job, but he’s found that sometimes he enjoys working on Material-UI more. This past year, he’s been working, with the core team, to rewrite the whole library. The team finally released the first major version, v1.0.0, a few months ago, he said, and the popularity makes him think he might be able to generate some revenue and make the project “really sustainable.”
For now, though, Olivier said he spends about 40 hours a week working his full-time job and 25 hours a week working on Material-UI. He spends the remaining time, 103 hours a week, sleeping, eating, working out, and hanging out with his girlfriend and his friends.
One interesting dynamic of Olivier working a full-time job while moonlighting as a core maintainer came to light last summer when he started using Material-UI on a project at his day job.
“I started having real professional needs from the project,” Olivier said. “I see all the pain points and what professional users will expect. This is one more reason why I am so dedicated to the project.”
One pain point he’s identified seeps into both his office work and his Material-UI work—people helping on a project for a few months, then moving to something else. He thinks that’s where money can help things.
When a company offered to pay for support while using Material-UI last summer, Olivier realized money could come in handy to ease that pain point.
“I have different interpretations of what money is,” Olivier said. “At its fundamental level, it’s time. But I see it primarily as an instrument of change. You can leverage it for making changes.”
In this case, money can help keep core maintainers active. Olivier thinks it’s very important that those who created the project stick around because a project is built around the creator’s vision. When ownership shifts, the vision shifts—and that shift is “not always for the best, it’s a risk with an unknown outcome,” he said.
“Sometimes I don’t really like how it’s both a win and a lose, how fragmented the community can be,” Olivier said. “I think it’s very important that when you work on a project you stick around and you keep pushing projects to the end of the vision.”
Dealing with your dependency tree
Another issue Olivier has stumbled upon is dealing with unwieldy dependency trees. That’s the main reason he’s signed on with Tidelift as a lifter for Material-UI.
“Where I’m working right now, we have a huge dependency tree,” Olivier said. “I have no idea how it’s working, who is behind it. I have no idea if it’s going to be sustainable.”
One of the greatest strengths of open source, Olivier said, is also a huge weakness—anyone being able to create a project is not always a good thing. There’s a vast array of open source projects out there, and not all of them are at the same quality level. You often end up in the paradox of choice. You are afraid of picking one dependency over another by fear of losing out, even by a small margin. He thinks there’s a real opportunity to take a holistic approach with the metrics available and help people pick projects.
“When I’m adding a dependency, I always benchmark the possible alternatives. I have to check lots of different dimensions,” Olivier said. “How many issues have been closed? How many downloads per month? What’s the download trend? How many stars? How many visitors to the documentation? What’s the bundle size overhead? I systematically check the track record of the people maintaining a project.”
Tidelift helps him do that. He can make a more educated decision when evaluating an open source project after evaluating it with Tidelift. This helps alleviate the pressure—and stress—of choosing the best components and libraries when a big, corporate project depends on it.
“Helping people pick the best packages, have a sense of the health of the packages, I think it’s really great for the competition it’s creating [in the open source world],” Olivier said. It helps people really hone in on their projects. “I enjoy trying to put myself in the shoes of Material-UI users, trying to understand what they want, what they’re looking for. I love doing this.”
Challenges as a core maintainer
All these reasons are why Olivier puts so much time and effort into working on Material-UI.
"I want to empower people building great UI; it should be easy and fast," Olivier said. "I love working on Material-UI; it's challenging and rewarding. The community is driving most of the improvements and it's bigger than me."
That’s not to say the role he plays as a core maintainer isn’t without its challenges. He says his biggest struggle is trusting his instincts, working through self-doubt, and prioritizing.
“When you make a bold move, you have no idea if people will follow you,” Olivier said. “But at some point [you think], ‘OK, I don’t care. I just have a vision for it. I will execute it, see how that goes. You can only do your best and hope for the better.’”
Olivier and the Material-UI team just recently released the first major version of the library: v1.0.0. If you’re interested in supporting his work on Material-UI and getting security, maintenance, and licensing assurances for Material-UI and other open source projects you already use, check out the Tidelift Subscription.