The following interview is part of a series, called Open Source Leaders, where we profile project leaders in the open source IT community, to learn more about how they developed their software as well as the challenges and benefits that come with running an open source project.
Kat Marchán is a core developer at Npm, Inc., working on the command line client for the world’s largest software registry. When she’s not fixing terminal-tormenting bugs and implementing new npm command line features, Marchán also travels to spread the open source Node.js/npm love through conference talks and community events. The New Stack caught up with her recently to learn how this green-haired digital dryad came to live in the open source ecosystem.
So ten years ago you were in film school. What led to the leap from documentary filmmaking to being co-maintainer of the npm CLI?
I started coding my final year at Hampshire College, where I studied linguistics and filmmaking. I was working on a year-long film project that was my final thesis work for my degree. My thought was I’d pick something up that was just entirely different so I could clear my head from being so deep in the weeds. I ended up taking an Intro to CS course in Python at Smith College. It’s part of a five-college system in the area that lets students take classes at any of the schools). I loved it and immediately wondered why I hadn’t just studied CS for my undergrad!
How did you get involved with open source?
Way before I even started coding I was really into computer stuff in general, and I worked tech support gigs throughout college. So I first learned about the existence of open source through running whatever the latest distros were, and also by hanging out on IRC — there is a lot of OS culture there. Then when I started actually programming there was this new hot thing called GitHub and everyone told me to get on there. I made an account and started putting up my random personal hacks.
I first realized how truly, deeply cool open source is when I was playing with one of my very first programming projects, a MUD (text-based multi-user video game). So I took a deep breath and put up the source code for that — at the time I was like a total OS n00b, and to me the word fork was a really bad thing. But then someone forked it, practically right away, and I almost started crying because I immediately thought that meant two bad things — some more experienced coder was going to tear apart my stuff, and I also kind of felt like I was losing control of this precious personal thing that had been all mine, you know?
Then a day later they put up this pull request to do this refactor of what I’d done, and it was beautiful. And I was like, “You mean other people will just come and join my party and help make my projects better?!” I was hooked.
Can you give us some basic project stats of your current Open Source main project, the npm CLI?
We also have a smattering of semi-regular contributors, and a bunch of other community members that send in one-off patches. Our AUTHORS.txt currently has 477 lines in it.
Working on a project that has such major impact can be kind of intense to think about. Like, I can make a small improvement to how long nmp5 takes to install stuff and that amounts to SO much time when you factor in our user base — literally years of savings over a week, in human hours saved. It is also terrifying to realize any kind of small mess up can have huge repercussions. Eight million users is the number I’ve been told, and so if I made a mistake that affected just one percent, 80,000 people is how many people would be unable to use the software.
What is the potential to monetize your involvement with the project?
I earn a six-figure salary working on a really visible open source project as my full-time job. I’m pretty happy about that.
What are the technical and/or business problems the project helps solve?
We also have things like Orgs and npm Enterprise to make it easier for devs to work on internal projects using the workflows they’re used to in their open source work, and have it all be a relatively seamless experience.
Random Kat Marchán factoid?