How did you first get involved in open source software, and what drew you to it?
Before there was open source, there was free software. I generally had this late-1990s, early-2000s understanding that, within the technology world, there was free software, which was often literally free, and then there was Microsoft stuff that cost a lot of money. I grew up poor and it was financially very difficult getting through college, so just in terms of access, I thought, “This Linux thing that I put together from various parts? This is good.” I went to the University of Washington in Seattle. Microsoft land. My experiences were shaped by both my economic status and the ways I saw Microsoft impact the university. It all funneled me to the free software, and, later, the open source movement.
I got into the community side of open source through volunteering at Free Geek for a couple of years, which is a computer recycling facility and educational institution. They have a great founding story about starting the organization after seeing a computer monitor that someone had thrown into the Willamette River.
Also, they give you a computer that runs Linux if you volunteer there. I graduated from college during a recession, so it took me a long time to find work and my computer died in the middle of that process. I figured I’d put in some volunteer time and get a computer. That’s what brought me into this local community of user groups, where people were teaching each other about programming. Most people would call these “meetups” now, but the user groups hosted at Free Geek tended to focus on a particular technology, like Perl or PostgreSQL. That community supported me getting into this career. So, it made sense for me to find ways to support other people too.
At some point, you left Seattle and went down to Portland. You got involved in the Portland open source community in a big way, planning multiple conferences over the course of a decade. What drew you to that work?
I just kept asking questions. The question that brought me to Free Geek was: How do I get a computer? The question that brought me to user groups was: How do I learn how to write software for it? And then: How do we cross-pollinate the different user groups? The answer was to host meetups and organize conferences. How do we keep track of all the events we’re hosting and resources we’re sharing? In 2008, I ended up building Calagator, which is an open source calendar app that’s also kind of a wiki. I’m still the maintainer.
It's always been like that: We need this thing. How do we get it? How do we make it? Where does that take us next?
For the past decade, it’s always led you back to open source. I'm curious what your thoughts are on the state of open source today and the phases you've seen it go through.
Open source is not one big thing; it is a giant umbrella for many different activities and goals. For a long time, Linus Torvalds said that the goal of the Linux project was technical excellence. The technical excellence perspective has meant that open source is the base layer of most technologies that we work with. Linux is in everything. Developer tools, web servers, our programming languages are all open source or built on open source components. Very little of our technical stack is proprietary. That's part of what drew corporations to open source. That’s also what drew me to open source: it provides low-cost solutions for people.
What has become more complicated over time is the ideological piece. I’ve written about reframing open source, so that it values the people who make it more than anything else. The lens we don’t apply nearly enough is: How do we build technology in a way that is beneficial to people? How do we make software for what we actually need? Software that supports us, teaches us, builds communities, and solves real problems. We need to talk about this from a community perspective, from a human perspective.
Technical excellence cannot be the primary goal. I do not care about code quality, or how fast the process is, or whether it scales. Where we need to innovate today is around community safety. Many of the technical challenges that we work on as developers have had solutions for decades. I think that we can take what has worked for us from that version of open source and throw the rest of it back out there.
My answer would have been much tidier a year-and-a-half ago, but my perspective has shifted from thinking about the open source community as the center to thinking about where open source sits within the rest of the world. It doesn't give me as easy of an answer.
Mind the Gap
You founded The Recompiler in 2015 to feature writing on technical topics like DNS and floating point numbers. The website describes the magazine as a feminist hacker zine, whose tagline is "Technology for the world we want to live in.” How does The Recompiler and the larger Recompiler Media project fit into that?
I have to be honest here and say that the question The Recompiler was answering for me was not: How do we build better technology together? Although that is a great, true mission statement. The question for me was really: How do I continue to work in technology—after a certain point in my career, knowing what doesn’t work, knowing that this industry continues to marginalize people and exacerbate power differentials?
Is there a specific experience you were thinking of? It sounds like a shitty workplace.
It was, but it was also burnout. It was the mid-career developer experience of someone who's not a white man. So many conversations I’ve had are about that experience, and they’re almost always framed as: Do we stay or do we leave? And I thought, well, what else, what’s another option? That's really how The Recompiler came to be. Prominent writers and speakers in the industry kept effectively saying that there are no women in technology. But I knew women in technology, I knew people of color in technology, I knew people from lots of marginalized groups in technology. So the Recompiler projects were about creating a platform to reflect that we already have technical experts representing a lot of different kinds of people.
Across the Recompiler Media projects—the newsletter, the podcast, the magazine, the blog—you cover a wide variety of subjects: technical deep dives, police brutality in Portland, how surveillance technologies work at the code level. How do you see those all fitting under the same umbrella?
It goes back to asking questions and following them, whether it’s operating systems or legacy software or what the police are doing in Portland. I always wanted the deep dives to be what distinguished us. Really good, easy-to-understand explanations of technical topics that everybody bullshits about.
You’re interested in demystifying.
Yeah. We need to understand how things work for ourselves. And, if you’re asking questions about how technology impacts people’s lives, policing and surveillance keep coming up. Palantir, facial recognition, who had access to what databases after the 2016 election—there was no way to avoid those topics. So, that's what brought the Portland protest blog into The Recompiler’s wheelhouse.
Can you talk about the organizational structures of The Recompiler and how you find contributors and collaborators?
I usually give my title as either publisher or editor-in-chief, depending on who I'm talking to. Basically, I pay the contributors. The only person who does not generally get paid is me. I would love to be doing this full-time, but this is why I've come back to having a day job. I did do The Recompiler full-time for a couple of years, but funding-wise it's better for me to have a software engineer job.
That is also part of Logic's funding model.
It helps. In terms of finding contributors, we've done an open call for every issue. I encourage people to put stuff in and people come to me asking if their idea would be a good fit. That's how we ended up with the Responsible Communication Style Guide. My friend Thursday Bram had always wanted to put out a guide like that. I thought it was a good idea and that people would use it, so we did it.
With the newsletter, the person who had done it originally wanted to step away because talking so much about all the ways that technology harms people got to be really draining. I started asking around and somebody introduced me to Margaret Killjoy, who does the newsletter now. She makes most of the decisions on that, and she’s brought a more leftist, anarchist focus, which I think is very appropriate for the moment.
Since first reading Margaret in the newsletter, we've been listening to her anarchist prepper podcast in our house. Did you ever think that The Recompiler would be one hop away from an anarchist prepper podcast?
One of the skills that I bring is that I'm always looking for the gap—what do we need that nobody is doing? And I’m always thinking, “What if I grab another person and we make something to fill the gap?” That’s how all these projects start, in this fractal way, where we're going along and then I see an opportunity halfway through and branch off. What I hope is that we end up with a whole organism of projects that are supporting the different interlinked needs we have.
No Bosses, No Knife Missiles
I want to switch gears and ask you about labor organizing and union busting at NPM. I found a GitHub gist that you published in 2015, titled “A Feminist Hacker's Guide to Labor Organizing,” a year or so before Trump’s election sparked the current wave of white-collar tech worker organizing. In 2015, it was a national press story that Googlers were anonymously sharing their salary data in a spreadsheet, and #TechWontBuildIt was still years away. Do you remember making that gist?
Wow, yeah, I do remember that. That was after a conversation I was having with someone in a user group. I wrote it down, sent it to the list for the group, and haven't looked at it in years. I wonder if there’s anything I would disagree with now.
It's pretty solid! Can you talk about why you were thinking about tech worker organizing in 2015?
Before people were talking about Trump and how technology would be used under his administration, I was concerned about power differentials within tech: the ways that tech companies drive developers to burn out; the fact that Silicon Valley companies saw us in Portland as a source of cheaper labor; the fact that you can't make your boss stop being racist, but you can create consequences for your boss being racist.
I wrote that gist because we were talking in the user group about all the things that hadn't helped us. The employee resource groups that companies created to try to make us feel heard, HR, all these trainings that were like, "Here's your bias," and then everyone says, "Yup," because bias does not go away when you learn about the existence of the bias.
There was this real frustration about how things weren't changing. We had been in the industry long enough to have seen some efforts that went nowhere, and not because we didn't try very hard. We became educated about a lot of things, and then we told other people, and then they still didn't do what we needed them to do. I just got to this place where I didn’t want to keep nicely asking: “Please stop being racist, please stop being sexist.” I wanted to do something that we hadn't tried yet.
Labor organizing is a solution. It helps us leverage what we have, which is people—multiples of people—against these institutions. But it requires that workers are informed and talking to each other. In many ways, it’s like organizing an open source project: we have people, we have a need, how do we share what we know with each other, how do we build something together?
How did that start at NPM?
My organizing at NPM happened by accident. Right before I joined, the company brought in this CEO who was the stereotypical guy that you hire so that the company can finally make money for the investors. But the company had attracted people whose ideals were at odds with just cashing out at any cost. There had also been unaddressed burnout issues before the CEO joined, and he made them worse because he was so terrible to the people who had put in so much work to get NPM to that point. Yet we were encouraged to talk about it all: about burnout and retention and the company's new focus.
I was in a team meeting at the company all-hands, which was an offsite, but I was one of two people who was there over video. People were saying things like, “Well, you know, if we had HR, then we'd have somebody to help with some of these management issues. And if we could get them to do this, then we'd have that.” And I was like, “That's cool, but we could also unionize.”
I was having this really awkward experience over video, I was cranky, and, as I mentioned, none of my previous experiences led me to believe that we were going to be able to make incremental institutional change in the way that some people wanted. so I didn't think that it was a particularly outrageous thing to say. I thought some people would agree with me, although I did have a moment of doubt afterwards when it occurred to me that maybe everyone thought that was a terrible idea and there was nothing I could do about it because they were in a room together and I was just there on a screen. But, in fact, there were people who were thinking, “That's what I wanted to say. She just said it.”
Were you friends outside of work already? Because I'm guessing you weren't doing this in the work Slack.
After that conversation, two of my coworkers were trading phone numbers and talking about meeting up later. So over the Zoom call, while the bosses were out of the room, we all exchanged numbers. Our initial organizing group came out of that.
Now that everyone is a remote worker, no one has those in-person opportunities. But what you can do is say, “Hey, I'd like to talk to you about how things are going.” Companies all have their own ways for workers to connect with each other. And then over Zoom you say, “A few of us are talking about our concerns in this other place—would you like to join us? How are you feeling about what the CEO said or that policy change or whatever?” Just ask. And then you get off the Slack. No Slack DMs about how you're going to unionize!
Once we had our organizing group at NPM, people started doing something that’s really common in these groups. They’d say, "This is really bothering me." And then other people chime in and say, "Yeah, that really bothers me too." Or, "I think I'm getting underpaid. What are you getting paid?" Or one person voices concerns about the lack of trans healthcare, and then someone else would offer to ask about it for them. That kind of thing often happens automatically. I'm not just talking about NPM here. But people start having these conversations about what is actually happening and agreeing with each other. Even if it's just a solidarity forum, that's valuable.
What really grinds us down in tech is feeling like we're not heard or seen. We're told that everything is fine, that everyone loves it here! The solidarity groups can be validating. And people are motivated and impacted by the kinds of topics that come up there, so they want to teach each other—about forms of marginalization or using inclusive language or organizing in general.
Something that’s been interesting is that when I asked people what brought them to the organizing group, they often responded that they had some experience of organizing from another area of their lives: they grew up in a union household, they organized in college, they had a family member who talked about organizing—more tech workers than you would think. And that’s a stepping stone for them.
At some point, you were illegally fired from NPM.
Rather quickly, yes. Because I made that comment in front of my whole department and it didn’t take long to make its way back to the CEO. They didn't know who all was involved, but they got rid of who they thought the troublemakers were. That ended up being a sizable part of their open source expertise.
One of the other people who was fired said that they were going to file a National Labor Relations Board complaint. I'd never even thought about it. I just had to find another job immediately because I was coming out of doing The Recompiler full-time, so I didn’t have any buffer left. But this person wanted to try so I said, “Okay, let’s try.”
The combination of the firing and the NLRB settlement negotiation was honestly one of the most stressful things I've ever gone through. I was job searching and then starting a new job and worrying that I was going to spend my fortieth birthday testifying. There were so many calls about what we were going to ask for and what we’d accept and what was happening with the negotiations. I'd be on the phone wandering through Muji, totally overwhelmed, staring idly at a houseplant. And NPM’s CEO was a real dick to us. When we thought we had agreed to a settlement to the NLRB complaint, he reneged on the agreement.
I learned a lot, like that I don't ever want to go through that again without a union filing the complaint for me, which is how it usually happens. But the Oakland NLRB office was great.
I read in some of the reporting that NPM management eventually settled with three of the workers who were fired and who weren’t managers and that, as part of the settlement, the NLRB made the company remind all the workers that they are allowed to organize.
Yup. Reminding people of their rights turns out to be one of the stock things the NLRB does in these kinds of settlements. We were really into it.
We also received back pay for the period between our firing and the settlement, and we received a few weeks of additional pay that was similar to the severance agreements we turned down in order to be able to talk about what happened.
As we wrap up, can you talk about where you're at politically now and how you see that as interwoven or not with your professional work as an open source developer?
We are living through an extreme moment in history. The things that felt relevant even a couple of years ago don't have the same relevance or urgency now. I was focused last year on different kinds of ethics clauses in open source licenses. I’m not doing that right now. I've spent my summer watching people be beaten by the police. I’ve heard politicians say again and again that tear gas is bad, but then there is still tear gas. I’m one of many people who have been radicalized by this summer in Portland—by what the police and the mayor have done. I was already a lefty, but it's refocused things for me.
So I'm still thinking about labor and open source and access in tech, but there are some life or death issues in front of us that software is not going to solve. The technology industry has landed at this point where it is not separable from prisons, policing, and surveillance. If companies are there to make the profits, do the launch, and get the return on investment, they are going to be doing this work. Look at policing as a budget line item in our cities, even small cities. Look at the military contracts, the intelligence contracts. That is where the money is. Companies say, “Oh, well, we don't work with ICE; we only work with DHS!” Or “We work with Raytheon, but not on the knife missiles!”
We have to get rid of ICE. If we don't want Palantir helping DHS identify immigrants to put in cages, we have to get rid of Palantir and DHS. We have to abolish these systems and, when we do, the tech industry will have to find a way to make money some other way.