DEV Community

Jenn Creighton
Jenn Creighton

Posted on

Single-threaded Podcast: Helen Hou-Sandi on the Real Value of Contributing to Open Source

[00:00:00] JC: Something that I found sort of strange when I joined engineering as a career 10 years ago was the pressure to contribute to open source projects. It felt like it was necessary to move on in your career. And so, I did. I contributed to open source. And I don't regret that. But I wanted to have an honest conversation with someone else with experience in open source, about what open source is, how it works, and what contributing to open source actually gets you.

So today, I'm joined by Helen Hou-Sandi. She is an engineering manager at GitHub, and she has a long history in open source in the WordPress community. And that's what we're going to be talking about today. What is open source? Do you actually need to contribute to it? Let's get into it.

[INTERVIEW]

[00:01:14] JC: Helen, welcome to the podcast.

[00:01:16] HH: Hi. Thanks for having me.

[00:01:19] JC: I am really stoked to have you here because we're going to start talking about open source today, which is a big topic that not that many people actually have really deep insight into.

[00:01:30] HH: No. It is really hard actually to get into that. Yeah, we could talk about that. Yeah.

[00:01:36] JC: Engineers use open source, obviously, broadly, broadly. But the people who actually maintain that open source, or work exclusively in open source, or contribute to open source, that is a much, much smaller number. So you actually have insights that a lot of engineers don't have.

[00:01:56] HH: I hope so.

[00:01:59] JC: So previously, you just started a new role at GitHub. Obviously, like, I think when we think open source, we think GitHub. That's like par for the course. And then before that, though, you were a director of open source initiatives at 10up. And you were at 10up for a long time.

[00:02:16] HH: Very long time. More than 10 years. Yeah.

[00:02:20] JC: What were your responsibilities in that role as Director of Open Source Initiatives?

[00:02:24] HH: Sure. There are many. And being a director often means you're kind of deciding what you're doing, which is both – It feels great sometimes. And other times, it's very stressful, right? Where you're like, “What do I even want to be doing right now?” But generally, the mandate was figure out how we, as 10up, which is a client services agency, right? How do we fit into the open source ecosystem, right? Like, what is our responsibility to that, especially as an agency that, by and large, built sites using WordPress, right? As the content management system? And so that's really where that came from. I think it's kind of hard to describe without me kind of giving you a little bit of the backstory of how we got there. So I guess I'll just give you that.

[00:03:12] JC: Yeah. Let’s get to the backstory. Yeah.

[00:03:13] HH: Yeah. So I started 10up as like a regular old web engineer, like doing websites for clients. But I had started contributing to WordPress, just very lightly, I was like going to IRC chats at the time, like dating myself here. Went to a workcamp, which is like low-cost local WordPress event with the owner of 10up. I was the first employee. And so we were there, and at a contributor day, which is something really cool that happens at workcamps. And that's how I got into contributing in the first place, sort of, and I was given recognition as like a person who was making good UI decisions. And like, for the record, I started as a PHP, MySQL programmer, right? So like not a frontend person. But they ensured me at this contributor day as a person who was making good UI decisions.

And I know that they did that on purpose to kind of like motivate me to keep contributing. And because my boss, the owner of the company was there. It was like, “Wow, that's actually a great recognition both for you professionally and for us as a company. So how about I start sponsoring your time working on WordPress while you're at work?” right?

So we started with like five hours a week, which became eight hours a day a week. And that just kind of kept ramping up over time. And eventually, kind of timed out with my first parental leave. When I came back from that I just never went back on client projects for the most part. And so I just became a full time open source contributor. And from there became a lead developer of WordPress itself just through my work and having sponsored time, right? And I spent years just doing that full time. And so that could mean anything from working on the WordPress core software itself to looking for plugin opportunities polishing Gos, creating good process, being good open source citizens for our plugins or themes integrating into WordPress. We've had things that are not WordPress specific, but almost always web-specific, right? Where it's like, “Here's like a frontend component, or a set of linting rules. Whatever it might be.” And sort of not just embracing the legal side of what open source is, right? But like the actual ethos itself. And I think that's something that that's the part that really becomes complex, right? And how do you interface with open source, right?

So what you said about like most engineers are interfacing with open source in some way, right? But they're interfacing with it in a way that's much more like, okay, legally, the licensing, right? The source code is there for you, right? Which means that you can share it and you can use it, right? And there's a difference between that and like fully embracing that culture of the open process, right? The open process side of open source. That was really my responsibility, was figuring out like what are our rights? What are our responsibilities in open source? And how can we support this platform that we're building on? Be good citizens of that whole ecosystem?

And, frankly, yeah, it's also a part of marketing, right? Marketing, sales and recruiting, because it elevates your company profile. It also elevates your personal profile. And those are things that can and, frankly, should be used to your advantage, because you've done the work, right? So it's real work. That's in the public sphere, right? You can't just like pretend that you did a thing. There are people watching you. And so these are very real things, the real work that you've done. And yeah, you should absolutely use it to your advantage. And so that's what we did for a long time. And I feel very fortunate that I was able to do that for so long, even if my work now is supporting open source at GitHub, right? But not actually having to work in the open anymore as my day to day job.

[00:07:08] JC: Yeah, you've shifted into this different role, still very open source focused, but a very different type of role. As you said, like supporting open source, it is a very different thing than actually being in open source and writing the code and dealing with, you said, the open source community. A lot of people, again, like do not have insight into how open source projects, I guess, happen. I think sometimes we look at big projects that have company backing. Like Angular came out of Google. React came out of Facebook. A lot of open source seems to have this big company backing. But actually, a lot of open source does not.

One of like the big issues and open source is funding. And that means that there's often not funding to have people work on it full time. You're in a very interesting position, where the company said, “We will pay for you to do this. Is that like a common way that people start to move into being full time contributors? Is that their company starts backing them a smaller company?

[00:08:16] HH: Yeah. Broadly, I'm going to say no. I don't think that that's a common thing that happens. WordPress, specifically, it's such a large thing, right? Like, both in terms of market share, I guess, right? I’d say powers like 43% of the Internet. And by the internet, they mean, like, the top 2 million sites or whatever, right? Whatever it's shorthand for. It’s such a large percentage of websites, right?

And so it has like its own ecosystem. It's not just like a part of something bigger. But WordPress itself like exists as this huge business and software ecosystem. It existed before there was a company associated with it. The biggest company associated with WordPress, I don't know if people are going to hate me for saying this, but it's automatic, right? For Matt Mullenweg, one of the cofounders of WordPress, as the CEO, and they run wordpress.com, right? Like a hosted version of WordPress. But that came out of WordPress the software, as supposed to WordPress the software coming out of automatic. So that already is different from what you mentioned, right? A lot of like – Especially frontend libraries, right? Have this tendency of coming out of a company's work and then they want to solicit external contributions for whatever reason, or they find other people using it or whatever it is, right? But with WordPress, WordPress existed first. So that already sets it apart a little bit.

And then we have a very deliberate effort in that ecosystem called Fight for the Future, where Matt, personally, right? Through wordpress.org, right? Through the WordPress project, not through automatic, has called for anybody who does a significant portion of their business to give back 5% of their resources to supporting WordPress.

So in the WordPress ecosystem, you do see more listings for like we want a WordPress contributor, right? We're hiring for somebody specifically to contribute to WordPress, which is a broad mandate. That doesn't just mean contributing PHP or React to the core software. It could mean free plugin offerings. It could mean free theme offerings. It could mean sponsoring word camps. It could mean sponsoring translators. Sponsoring accessibility work, right? There're so many areas that may or may not be tied to a specific software release, which is the thing that tends to get the shine, right? But there's so many aspects of like the broader ecosystem, the infrastructure of serving millions of updates with translations, with good accessibility, with captions, all of that stuff. And so because it's such a broad area, then yeah, you can hire any number of skills into doing that, right? It's not such a narrow thing to be hiring for as well.

And then another thing that I've been thinking about a lot lately is – And I don't know if I have like eloquent thoughts about it. But it is easy to think about sponsoring people to work on WordPress, right? Because it's something that is user impactful, right? Because it's user-facing software. Again, because it's so large, there's always something to be working on. Whereas like the bigger problem is like I don't want to call it like the long tail because somebody to me like, “That's not what statistically it means or something.” But the dependency whole, right? Where you have like a thing that on its own is kind of like, “It's maybe a little bit small thing, whatever.” And like you wouldn't hire somebody to work on it full time. But it's the thing that everybody else depends on. And so how do you think about supporting that? Because like, no, maybe you don't need to hire somebody full time to work on that one little package, right? But it's critical that it keeps operating without incidents, like a thing that happened recently, right? Which, like, I don't know, I don't know anything because it happened before I started at GitHub, and it involved like GitHub suspending an account. And well, it’s just commits and all that kind of stuff. And it's like does sponsorship actually fix that problem? I'm not sure, right? Because like they could have done that whether they were being sponsored or not. We can't know for sure whether that would have fixed that specific situation.

And also, it does remind us that we have this system of dependencies, right? It's not just like in the JavaScript side of things. PHP has the same thing where you have composer on the PHP side. Ruby has gems. Like there are packages fricking everywhere. There's dependency management everywhere. And like how do you start thinking about like how do you support that lib, that tree, that's underneath you without trying to micromanage it, right? And that's something that's also hard.

It's easing about like, “Okay, could somebody like GitHub, right?” I did not have corporate marketing training before this. So I don't know if like [inaudible 00:13:30]. But like, before. The before times. Like you could think about like in a sponsorship style program, right? Like could a company just like donate, pledge, I guess, a bucket of money. And that bucket of money is like distributed based on packages, right? The dependency graphs in their projects or something, right? That's really wild to think about. Like that's not a “Hey, that sounds like a cool idea. Let's make it happen tomorrow,” kind of effort, right? But like is that the type of route that people want to go down? Do we want to think about like continuing to celebrate the individuals, which is a big part of the open source culture, right? Is that there's this tendency, which I personally like, of celebrating individuals and not companies, right? That's something we struggle with in WordPress, is, yeah, like we give props. We give credit to individuals, right?

And not only are you not supposed to share an account because it's like not good security practices. But we want people to be able to have that pride of like I worked on the thing. Not just like my company work kind of thing. But like I worked on a thing. I leveled up my skills. I learned something, right? And so we, as a project, really are pretty on the ball about making sure that it's individuals getting credit for their contributions, for their individual contributions, as opposed to like their companies taking the credit on their behalf. But at the same time, like, yes, these companies are sponsoring the work. They're enabling the work. And so how do they get credit outside of that context? And that's sort of like another one of those like push-pull kind of things that I think Drupal actually does a better job of than WordPress. And I think a lot of it is because they're much more embedded in that style of work, in that enterprisey type of mindset that people like top-down and build, but like that's a real thing, right? So yeah, so that's kind of where my brain has been going lately about open source.

[00:15:38] JC: I love that you brought up the dependency tree, because from the outside, if you're just an engineer who uses open source, and by the way, there's nothing wrong with using open source and not contributing, because not everyone – We'll talk about this probably a little bit later. But not everyone can contribute or should. From the outside, if you're just sort of using the projects, you don't have the sense that so much of what you do is probably dependent one package that someone in their free time wrote and manages. You probably have no sense of how individual contributions really matter in that. Once you're working in open source, you feel like it's a deck. Like someone built like a card, like, tower. And it could just try to fall over pretty easily. Like you mentioned, the incident where someone who was a maintainer of a project, on purpose, put in malicious code and corrupted the packages. And there had to be – And thankfully, there were mechanisms to stop that. But in previous times, there may not have been.

People do need to understand that the dependency tree and how much that actually is individual efforts. You said earlier too, the responsibility, responsibility in contributing of companies that are using open source to contribute back is a conversation that I think doesn't always happen. Quite often, I feel like the responsibility gets pushed to individuals in the engineering community almost as a – I guess we'll just start talking about this now. Like I think the overall theme that I've been hearing for all of my career is you need to contribute to open source, because you use the thing at your work, which is a bit bizarre to me, because the company is the one using the thing. And so they should be giving you like the time to be contributing back, right? Tell me your thoughts. Your face went, “Mm-hmm. Mm-hmm.”

[00:17:40] HH: Yeah. Another thing that's been on my mind, a much smarter person than me. I’m so bad at remembering where these come from. I would have to look it up later. Maybe we can like send you a link or something. But there is a thread on Twitter recently talking about like maybe this trying to put open source in the framework of like money, of capitalism, is actually like not the right thing, right. And that's a really hard thing for us to hear, because like in software engineering, one of the hot topics of the current time is getting paid for your work, right? Like this is capitalism. We operate in capitalism. Let's get paid, right?

And with open source, like, yes. Like what I was saying about, like, is sponsoring in dollars in a way that comes out to be — can’t think of the word — but like relative to other usages, right? Like is that something that would even actually fix a problem? Does throwing money at the thing actually fix the problem?

And I think like the thing we're struggling with is that, deep down, we kind of all know that it doesn't, right? It doesn't fix the baseline problem of like we, in general, like humans, have kind of lost the sense of communal responsibility for essay, right? Like what is the tragedy of the commons? It's not just that like one individual went in and like let his sheep or goats, or whatever it is, like [inaudible 00:19:10]. You see how great I am at remembering things. But it's not just that. It's that they've lost that sense of communal responsibility, right? It's not just the taking of the resource. It’s that you have to kind of fix the underlying motivations for caring about a thing. And that's something that like I don't know how we solve for that, right? And maybe all this focus on like getting somebody paid is kind of taking us down the wrong path long term, right? Short term, like, yeah, I think that people should get paid for their work. I think that companies – Maybe a company under the current framework would only learn to care about these things if it costs them more. Maybe that's the current reality. But if we keep following that path, is that going to actually take us down somewhere that we kick it out of, right?

Also, engineering, like we can talk about tech data or whatever, but it's like you don't want to box yourself into a corner, basically, right? And are we going to do that if we kind of chase this concept of like get paid for open source, right? And I think I'm guessing that we're going to fall into this topic. So I might as well continue the train of thought. But on the individual level, like when we talk about the online discourse, right? The very flattened discourse about what is open source contribution? And like should we be encouraging people to do it? And, at least on the Twitter, is very flattened, right? Where it's either there's no nuance to it, or it's either you should contribute to open source because it is the greatest way to grow your career, right? Versus nobody should ever be doing unpaid work. And it's like this is not. [inaudible 00:20:55]. Like that’s a great way to get off the tweets and like get the engagement, I guess. But like I think that all parties involved know that that's not the real breakdown of things, right?

Like, I think that with company-sponsored open source, that has become a more complex topic. And that just happened with the discourse around WebKit, right? Where it's like why did somebody else have to be sponsored to work on this if it's like an Apple project? And it's like, “Well, I think that Apple is, in this case. Like, maybe oddly for Apple, I don't know. Like, the perception, right? But like they are legitimately trying to run it as like a communal project. And a communal project does mean that like it would not be a communal project if Apple just paid all the contributors to it. That would not be a community-run open source project, right?

And so it's like are you actually mad about that? Like, I'm unclear about like what's wrong with that, right? And so that's the thing that comes out of that, where would companies open source their stuff? Are they expecting contributors to do work for free for them? That does happen, right? They open source things for motivations that are not great, right? Where it's like, “Well, I'm hoping for community contributions,” which is essentially saying like I don't want to have to keep resourcing internally and paying for that, right? Or they're hoping that it elevates the shine of their engineering team, which is a perfectly reasonable thing to want. But you can't do that on the backs of unpaid volunteers, right?

So that is a complex area. But at the same time like there are projects that are genuinely community-run, or they're run by an individual, right? And like contributing to those is not unpaid labor. Like that's not what that is. It is a thing that you feel responsibility for, for whatever reason, maybe because you use it or because you care about like the broader ecosystem, whatever your motivation is for feeling responsible, for caring about a thing. And you take care of it because you want it to continue on, right?

And I think that affects so many things, right? So I have kids, right? And like another terrible part of online discourse where people love to flatten things. And it's like I'm child-free. And that makes me blah, blah, blah. And like, “I'm a parent. And that makes me blah-blah-blah.” And it's like, “Well, none of these things are true,” right? I have kids because like I love children, and I take care of them, because I should take care of them, right? Like not because like I'm getting paid for this job or whatever. Like I made my choice. And I have responsibility to my choice, right? And therefore, do the things that are necessary for me to take that responsibility to take that care. Because the impact that I have on, in this case by children, impacts everybody else that they ever come into contact with, right? And that same thing applies to open source, where you have to care about the impact that caring for or not caring for a thing will have, right? Because both of those things are decisions that you've made. You have made a decision to care or you've made a decision not to care. It's not just that not caring is a lack of action. You have made that decision, right? Not to take care of a thing that you're using. And if you’ve made that decision, have you really thought through the impact of that, right? Like, are you just thinking, “Well, somebody else will deal with it?” right?” which we all know is not true.

That's another big thing, is that on the individual level, like let's say for early career developers, which that's often the target audience of these like thought leadership tweets.

[00:24:44] JC: Yes, it is.

[00:24:47] HH: Yeah, open source can be a really great way of building yourself up. I'm not going to say it's like it's going to make or break your career or whatever, because like it's clearly not tweaked. But I think that, like, all else lacking, right? Like if you don't have the resources to like go to school, or to have fancy equipment, or whatever, which is seeing them like I went through as a young adult. Open source is great in that way, because you don't pay for a boot camp. You don't like – Not everything has to be some wild, like compiler-based thing where you need a powerful machine to manage everything. But you could work on like a small web package, right? And that's not something that requires to have a high-powered machine. Today, you can do that work from a phone or a tablet. You don't even have to have like a computer with the desktop operating system on it, right?

It is a powerful potential training ground for yourself, if you are driven that way. And again, that's like the nuance that's lost on the Internet, is that everybody learns in a different way, right? And so for – Like, I think of it as a method of learning, right? Like, on the contributor side. It is 100%. It is a method of learning to do something. And it may or may not work for you. Not all learning methods work for everybody, right?

I'm an engineering manager, right? So like I think of engineering managers as like part pedagogue. You're dealing with pedagogy, right? Like one on one coaching and pedagogy. And you have to accept that not everybody learns the same way. And so to kind of have this like flattened statement of like nobody should do unpaid labor, or everybody should work on open source because it's good for you. It's like none of that can be true, right?

Like for some people, going to school is going to be the thing that works for them. And the way that they learn things, the way that they like to having structured the way that they can be successful, right? For some people, reading a book is how they're successful, right?

Like, I have a friend who, like, every time I'm like, “Oh, I need to learn. Pick up some knowledge about some programming language or concept.” It’s like, “I read this book. And it's like it does not work for me at all,” right? I'm a person who learns by doing, and that's what made open source really great for me, right? Because in open source you can kind of – You have to be a very willful person, for the most part, right? Because you kind of have to jump in there and have the guts to just be like, “Hey, I'm this rando who you're probably never going to see in real life,” right? And you don't know who I am. And I'm coming across really strong in the chat. But I really want to work on a thing. I saw this thing. And I think it's like wrong, or bad, or whatever. You really have to be like willful about it. And that's hard. That's really hard for people.

If you are that style of person, and if you learn by doing, the open source is like an incredible world of learning of opportunity for that. And I love it. I loved doing it. The difference now has been that 10 years of doing stuff in the public eye, it's like being a politician, right? And we complain about politicians. And that yes, they made a choice to be politician. But like it's very hard to have everything that you say become a reportable event, right? That’s, yeah.

And that's the life of being like a high-profile open source maintainer, is like suddenly you have both that CEO dilemma of like everything that comes out of your mouth through your fingers is like a thing that can be reported on. But also, you have the politician thing where it's like you're also doing the work in the open, and you're like accountable to everybody. And it's exhausting, right? And so that's what frequently happens with maintainers as well, is just you just get tired of doing everything as a public figure. And it's like, “Okay. You know what? I've loved engineering management? I've loved open source. I just don't want to do my work in the public eye every single day anymore.”

[00:28:56] JC: Which is completely fair.

[00:28:58] HH: Yeah.

[00:28:58] JC: I was a maintainer on Apollo client, and then I left after a year because I did get a little crispy, a little burnt out. Because let's talk about the realities of – I love what you said about contributing as a mechanism to learn, because that's how I utilized it. And to be completely honest, I didn't even contribute a lot. I just spent a lot of time in the codebases running the code, seeing how it worked, reading some of the pull requests, getting information, learning new things, which is a valid way of using open source to level yourself up. You don't have to contribute. Because what people do not realize about contributing, you can do it on a smaller scale sometimes. But there are some projects that, to be honest, you're going to need to know a lot about how they work to really contribute really well into the actual codebase. Maybe you could contribute to documentation otherwise or something like that.

But for instance, in the JavaScript world, like the React codebase. Like the chances of you making a really important contribution to that codebase is less likely, one, they literally pay people to do this as their full time job is to understand the entire codebase, and you just can't pick it up real quick. It's going to take a lot of time, and maybe you don't have that. That's cool. That's fine.

So we talked about like, yes, you can absolutely get a lot out of open source to further your career if you want to. I think you have to come at it with the right like mindset about open source.

[00:30:35] HH: Yes. Yes. Yeah.

[00:30:38] JC: The reality of it, right? Which is that open source comes with – If you are maintaining or even contributing, you will just see an influx of issues and people.

[00:30:51] HH: It's very overwhelming. Yeah.

[00:30:51] JC: It’s very overwhelming.

[00:30:53] HH: Yeah. Yeah. You made me think about something that I'm very proud of in WordPress and something that I think about a lot when we talk about the common debate and theme that comes up, is that WordPress uses Subversion for version control. And we use Trac for bug tracking. We do use GitHub in some ways. But it is not like our primary source of truth, right? And that comes up as like a point of contention sometimes where people are like, “Well, I don't want to contribute to WordPress, because it uses Subversion.” It's like, “Well, you could use Git.” But we have a GitHub mirror, and you can like send a pull request. We just don't merge pull requests on GitHub, right? But you can use Git, and some GitHub tools. And we, the maintainers, will do all the annoying Subversion stuff, right?

But the thing that has come out of that, that you lose some of that fidelity if you think about bringing that over to the GitHub model of contribution or like merging stuff. So like GitHub’s little graph, right? We talk about that all the time. It includes like comments and code reviews and that kind of stuff. I don't think it includes comments actually. It includes creating issues, creating pull requests, doing code review, that stuff. But it doesn't include comments. And that's something that's like it's hard, because what we do in WordPress is we don't do like release credits using like commits, right? Because Subversion, first of all, is not atomic the way that like – We don't use it atomically the way that people tend to use Git, right? And we don't branch off that way.

But also, like, that means you're over elevating code contributions, right? Or at least like things that can be written in a way that contributes to the code. And that's really hard, because like designers work just as hard, if not harder on a lot of these things. I mean, it's hard to have good design in open source for lots of reasons. And credit for that is, I think, not a small part of that. And you have things that, to me, are frankly, like, way more important than like my little job of like doing final checks and testing, which is like people who write really good bug reports, people who take the time to look at a badly written bug report and write you reproduction steps, right? Clearly followable reproduction steps. Those are the people who, to me, are like the unsung heroes.

And when you move into like a commit-based credit system, you lose that, because you don't get credit for like leaving a vote in common when that pull request is merged. And so, in WordPress, because we roll things up until like a bigger commit, so what would be like a merge commit of a branch in Git land. So like a single larger commit in Subversion, we have a – You have like your fixes, see, whatever, right? Your references. But we also have a line for props. And that's where we put all the usernames of everybody who we, as a committer, as a maintainer, feel contributed to moving that issue forward, to moving the project forward to achieving a conclusion for that thing. That, to me, is really powerful. And it's really important. And that's something where – Yeah, like I was saying, I think that gets lost in a pull request basis, right? Where, as an engineer, one of the most useful things that you can learn is how to express yourself clearly in a bug port, right? And if you're not getting credit for that in open source, you kind of think of that as like, incidental, right? Whereas to me, that's like a critical core skill of being an engineer is being able to reproduce things reliably and then to communicate that in clear ways that other people can then reliably reproduce, right? That's critical to being an engineer. And we don't give credit for that across open source.

And that's the thing we do in WordPress that I think is really good of us as a project, not just – Like, of course, I'm biased. But like I think that we do a good job of that for the most part. And that's something that like, yeah, I would like to see that change culturally, right? Where we elevate that, because that's the – That's a really hard work, right? Like making the computer do a thing, whatever, like that's what we’re supposed to be doing all day. [inaudible 00:35:20] stupid. And so make sure just telling the computer what to do. Whatever.

Right. Code is hard. But what's even harder is figuring out what stupid thing is happening and then communicating that clearly. And I want that to see more importance. And so like how can we recognize that in projects? And how can we show like new career people who are trying to level up their skills that this is critical? This is a thing that you will get credit for. This is a thing that will elevate you, that will set you apart. This what makes you a senior engineer, right? Or a tech lead. Yeah.

[00:35:53] JC: Yeah. These are the skills that you will advance technically. And you will get to a certain point where you're like, “I should be a senior engineer.” And the reality is you're missing the non-technical skills that actually push you into senior. Senior is never about just the technical skills. Seniority is always about the other things. It's so obnoxious for people to learn this as they like – Later in their career. They're like, “Wait a minute. You meant I was supposed to be learning all the communication stuff that like how to reproduce things, how to reliably really hone in on what the problem is? How to work with people?” Yes. I'm so sorry. We forgot to tell you that. Until you got several years into this career. And now you have to develop those skills. Whoops.

[00:36:45] HH: Yeah. So what if we pull people that off the bat while we're doing this, like, “Open source is good for your career?” Well, yeah, sure it can be. But rethinking what those skills are that we're saying you're going to get through contributing to open source. That's something that I would love to – I don't know, maybe I'll start poking at that as I get through this like onboarding, this crash of information and kind of get back to the thought leadership side of things.

[00:37:10] JC: Yeah. When we talk about contributions, we are so focused on code in those topics, which I think really creates that dichotomy. So clearly of the like you either are unpaid for your labor of coding, which is like what you get paid for at your day job, or you have to be contributing to open source.

And then also, you brought up that you don't want your work to be in the public anymore. That one of the downsides to that is that you're acting as a politician. And so anything you say ends up being like a decree almost. And there is a real sense of hero worship of high-profile open source maintainers. And I have a problem with this. I don't know how it is in WordPress or other PHP related things, but in JavaScript, it is high-profile white men. And then their word is kind of law. And they are like also given this kind of altruistic like shine to them, because it's open source. And open source can be nothing but altruistic. It does not serve the people who are coming up in this field who do not look like them and want to get into this very well.

[00:38:30] HH: I said this very recently, where I said, like, contributing to open source, being an open source maintainer, does not automatically make you a good person, right?

[00:38:42] JC: Yeah, no, and people don't realize that.

[00:38:43] HH: Yeah. Yeah, we're not better people. We're not like enlightened, right? Like, there's nothing funnier to me than that we have tech, which is this like libertarian wasteland, right? Interfacing with open source, which is like the most socialist that a computer could be, right? It’s like nothing is funnier to me than that interaction of things. So, like, I don't know. Like, I find that incredibly funny.

And yeah, open source, to me – So my handle is Helen in a lot of places, like on GitHub, right? That's one of the places where, like, you can clearly see, like, that's my handle. Because, you know, how many out there are Helens? To me, that's like extra wild, because like as an Asian-American, born in the 80s, like entire swaths of my generation were named Helen. [inaudible 00:39:38].

[00:39:39] JC: I didn’t know what.

[00:39:41] HH: Oh, yeah. There's this number of like Asian-American millennial women named Helen. Like, I don't know. It's just a very popular name in our, like, demographic group. So how did I end up with that handle everywhere? Because just like there are no Helens working in open source, apparently. Like I had Helen on Freenode, right? Like I had it everywhere. And it's like, “What? How could this be?” right? And you think about that, it's like, yeah, open stores is like even worse than tech engineering numbers, right? I don't think we've done a survey in WordPress for like seven or eight years at this point. The last time we calculated these numbers, it was something like 10% of contributions were coming from non-men, right? But that only accounted for 5% of contributors. So that 5% of countries are working like twice as hard as everybody else. And it's like, “Come on,” right? How is this the thing that we're in?

And then when you look at like WordPress as a project, because we're trying to elevate other passive contributions more highly, you see that there are tons of women contributing. But they've all been kind of shunted whether per their own interests, or because somebody else felt like they should be placed into that box. They're in like communications, reckoning, design, accessibility, translations, everything except core code. And it's like I know that there are plenty of women doing this who are perfectly capable of it, but they've been shunted aside often before they ever are even in a position to be contributing, right? They've already been pushed aside. And it's like, “How do we have representation?” How do we show like, “Yeah, you can do this. This is a good community. Like, WordPress, has been really wonderful. I have not faced some of the things that I know that my peers, women and Asian-American women, have faced like being in the public eye.” Because WordPress has been like a great community on the whole. There have been incidents, of course. But I shouldn't have to say of course. But yes, there have been incidents. And these things happen. But on the whole, like, it has not been as poisonous as I can observe elsewhere. And if I can see it, that means there's worse happening, or I can't see it, right?

And so I think about that a lot, too, is like even in a place that does as well as WordPress does, we saw such tragic numbers, right? Not just the numbers. We just have tragic visibility, numbers, like the representation, the breakdown of like things that people aren't doing. And it's like it is frankly tragic. And if something as big and as well-positioned as WordPress can't do it, then like I don't even know where to start with that, right? Like that's one of those things where you’re like, “I care about it. I just don't feel like I'm smart or strong enough to like do something that I don’t know.”

[00:42:48] JC: It's a very complex topic, because I think what we often think of as the fix for this is to throw more women at it.

[00:42:55] HH: Yeah [inaudible 00:42:56].

[00:42:58] JC: Throw some women at it. People of different color at it. Just throw them at it. And like not realizing that like – Like you just said, like, if they're contributing in different ways, which are often more comfortable for them, or someone else kind of shoehorn them into a certain thing, which does happen. That doesn't really solve the problem. I don't know what the solution is. I just know that like it makes me sad.

[00:43:22] HH: Yeah. It makes me sad too. That’s been hard for me, like thinking about leaving WordPress as my day job, is just that race, that side of representation. But there are two parts. Like, one, I’m still lead developer at WordPress. Just that I don't do it from a day job doesn't mean that like I no longer know anything about WordPress, or that I can’t be trusted. And the other thing is that like if one person doing less makes that big of an impact, we have a bigger problem, right? So, yeah, thinking about that too.

But WordPress itself, we have some amazing women who work on the project. We have amazing people of color. Far fewer people of color in terms of open source contributions. That's something that also, I know, like at GitHub, we think about, right? Like, not necessarily like open source specifically, but there is the Stars program. Like there's stuff like that, where they're thinking about, like, internationally, what does the audience look like, right?

Like, we have huge untapped areas of potential contributors, right? Like not to think of them as like resources or something, but it is true. Culturally speaking, like the US is a small place, right? And there's huge areas where there is no culture, there's not even that knowledge that such a thing exists, and could be good for you because you can do it from anywhere with any number of resources, right? So that's something to also think about, is to like, as we're worrying about this stuff, maybe we could help ourselves by also being less US-centric and getting that.

[00:44:57] JC: Yes, yes. I mean, tech, generally, is very US-centric. So broadening out of that is good for everyone. As we're winding down, as we're saying goodbye, because I cannot believe we already – We’re hitting time. It went really fast. Final thoughts? Anything to wrap up in a nice bow? I mean, we talked about a lot. And these topics, they're not easy.

[00:45:19] HH: No. I want everybody to be honest with themselves about what's best for them to really This is like when people go to therapy, and like maybe therapy will be the thing that does it for you. But like, think about what is your learning style? What is your working style? What is something that works for you? Right? Like computers are just a tool, and you should make them work for you, not bend yourself to do what the computer wants to do. Because a computer does not actually have a mind of its own no matter how much we like to think about like the AI.

[00:45:51] JC: It's a magic rock.

[00:45:53] HH: Yeah, yeah.

[00:45:54] JC: That you give instructions to.

[00:45:56] HH: It's your tool. So make it work for you. And be honest with yourself about what it is that you need from a tool.

[00:46:01] JC: I love that. Okay. Well, thank you so much for coming on.

[00:46:05] HH: Thank you. It’s so much fun.

[OUTRO]

[00:46:10] JC: I hope that was a very illuminating conversation for you about open source. Maybe you feel like you want to contribute now and learn some stuff. Maybe the pressure is off to contribute. I don't know how you feel about it. But you could always let me know. So feel free to tweet at me or DM me. My Twitter handle is gurlcode, gurl with a “u”. And also make sure you follow Helen. And she obviously has a ton of valuable insights for you. And with that, I will see you next week.

[END]

Top comments (0)