For a delightfully old school and interactive website about Myles, click here. For his Twitter, go here.
You can find Jory's website here and her Twitter presence here.
This week's lifeboat badge goes to Marijn van Vliet for answering the question: How do I return a char array from a function?
Myles Borins So to me like that's the beautiful place that a foundation serves, it's a vendor neutral place that can kind of own this property that can create like an air gap to protect the collaborators. And this is a huge thing that I don't know that a lot of people think about is like there's a lot of risk that you're taking on by owning the software, by collaborating on the software and the foundation offers that cap.
Ben Popper Are you struggling to deploy cloud native applications to a hybrid cloud? Do you want to become familiar with Kubernetes and Istio? IBM cloud has a set of free, hands on training, ebooks, and an always on free tier of services to help you learn. Visit IBM.biz/StackOverflow to learn more, that's IBM.biz/StackOverflow.
BP Hey, everybody, welcome to the Stack Overflow podcast. I'm Ben Popper, Director of Content here at Stack Overflow with my co host, Sara Chipps. Hi, Sara!
Sara Chipps Hey Ben, how's your day going?
BP Oh, it's alright, Sara, I know, you are always here to share the relevant XKCD. And there was a big Google post last week that featured one of your favorite favorites cartoons.
SC One of my favourites!
BP Tell us a little bit about it. And then I think that'll help us transition into today's guest and episode.
SC Yeah, so this, this is my very favorite XKCD is because it comes up all the time. And it's talking about how the entire web is kind of built on a, there's new open source projects coming along all the time. But after a while, the majority of the web starts using one of them. And one thing to look out for is, you know, there might be an open source project that everyone uses that the maintainer, you know, moved to Idaho to start farming. And now there's this open source project that everyone is depending on, and with no one to work on it. So Google talked through their how they're thinking about funding these projects, and how to identify these important projects that are holding up the web and making sure they're maintainable.
BP "Thank you for your pull request. I now live in the woods and make furniture out of wood. However..." [Ben laughs] Somebody must be working with the code.
SC Yes, "I sold this to a crypto hedge fund 10 minutes ago."
BP Exactly. Exactly. "I'm on an island without any extradition treaties." No. Why don't you introduce our guest? Today, we can chit chat a little bit and then talk about interesting blog posts that follow some similar lines about how folks can support things that they're interested in that are distributed across the web.
SC Yeah, super excited to welcome Myles Borins with us today, who's the staff developer advocate at GitHub, and on the Cross Project Council at The Open JS Foundation. Welcome Myles.
MB Hello, thank you so much for having me today. I'm so excited to participate in the conversation.
SC And then also Jory Burson who is the community manager at the open JS Foundation, and therefore is dragged into all of our cross project counsel. Enthusiastically.
Jory Burson Yeah, it's fun. You're not dragged if you're willing right? Hi, Sara. Hi, Ben. It's good to be here.
BP Welcome. Jumps willingly into all cross project counsel meetings.
JB Heartily, happily. That's also one of my favorite XKCD comics too, Sara, by the way, it's a great one.
SC It's a really good one. My real my real favorite one is the one with the bobcat, ordering the bobcat from eBay. Okay, we'll add that to the list. We'll add it to the shownotes. Well, related to, [Jory laughs] very related to all this, can you tell our listeners what the open JS foundation is and does?
JB Yeah, and I would add to that, you know, I think for a while software foundations, like the open JS Foundation, have had pretty standard ways for big companies, you know, as Sara points out, those are typically your, they can write bigger checks, and I can, I don't have just like $50,000, lying around to give to eslint as much as I would like to give that money to Nicholas Zakas. So instead, I give him $5 a month through GitHub sponsors, and that's great. But it's not necessarily the kind of fiscal sponsorship that you know, a bigger company can give, but even still, as a financial supporter, you know, I want to feel a connection to that project, I want to feel like I'm doing my part to give, you know, love. And then also, you know, hopefully to get additional benefits, which in some cases, the foundation provides to its corporate members, in terms of like marketing programs and things like that, that that we have for for those sponsors. We're not talking about, you know, doing marketing programs for individuals here. But there, we are talking about some pretty fun ways to expand community for these people who, who want to get deep in their involvement in projects, and to do that, hopefully in a, in a way that allows them to support all of our awesome projects.
MB Yeah, I think I think one of the things that is a real challenge here is sustainability. And like defining what sustainability is, and then like thinking through it. So, you know, I think if you look at stuff like open collective or GitHub sponsors, or what's the name of the program from the Linux Foundation Jory?
JB It is lF Insights now.
BP Yeah, I mean, I'm curious, like stepping back and looking at this with a little bit of historical perspective, as the software industry been through a sea change in the last decade where the intersection between as you're saying corporate and open source has really shifted where a lot more corporations are relying heavily on open source stuff that came from outside or sort of in the reverse, creating projects internally, and then open, open sourcing them, and a lot of people are playing with them in different ways. And that's what's creating these sort of new tensions and new requirements for support. Like, how come this infrastructure hasn't been so well built out yet, and we're seeing, you know, a bunch of people coming up a bunch of different companies now coming up with new ideas for how to make it work. Why is this XKCD cartoon, especially seemingly more relevant by the day, I guess, is the question.
BP I mean, I think what you're saying there is what occurs to me as sort of a non developer, just, you know, thinking this through over the last couple of episodes is that there's this feedback loop, right, where companies want to appeal to developers. And so they pick open source, you know, languages that are popular to support it, because that way anybody can get involved even often at that, you know, early level, people are encouraged to build their career in their resume, by doing something in that space, right. Like, "before you have a job, maybe go work on an open source project" is a tip I see a lot in, like how to get my career started as a software developer. And so everybody within the ecosystem has these different incentives that are pushing them towards this open source idea. But right, it's still lacking maybe some of the financial infrastructure, or as Myles was saying, maybe the the governance side of things, you know, when you're trying to work with it at scale inside of a corporation as well. I don't know, Sara, what do you think?
SC Yeah, no, I think one thing about open source work in general, if you've done it or done it for a long time, is that if you don't have these frameworks and structures, you just start to hate it. Like you start to hate your project, you start to resent the people sending you issues, you start to, you know, just be like, I really can't stand doing this. And so organizations and efforts like this, I think are so important to make sure that people aren't burning out so much.
JB Yeah, a lot of like, I think what guides my work in community management is actually focused on the maintainers themselves and make and checking in on their well being. And, you know, like, what can we do as a software foundation to make your life a little better today, because that's sort of, at the end of the day, you know, taking care of those folks who drive so much of the value in our ecosystem is really, really important. And yeah, we want to find ways to spread that love.
MB I think a good thing to point out here as a distinction, though, Ben to the question that you were asking about all these different things popping up, is, you know, like, being a maintainer is is not easy by any means. And like, especially if you're not working for a company that's like supporting you doing that work in your hours, then the question of compensation always comes up like you know, I'm not doing this out of the goodness of my heart. Well, a lot of people are but like at a certain point, like being a maintainer is not the same as a drive by PR, it's its work. And so one of the things with open JS that I think is worth pointing out, is like, open JS as a foundation does not exist, to pay salaries to maintainers. It exists to be like an infrastructure to support projects. And while there are other foundations that do have people on staff who do technical work, the staff of the open JS foundation tend to be in support roles. So it's like program managers to help make sure that like, you know, things actually get done. Folks, like Jory, who are helping with community stuff to make sure that the projects have the support that they need, that they know what they have access to that that like things are actually getting followed up on. And I know that some foundations have actually had poor experiences with directly paying maintainers. And that's not to say that maintainers shouldn't be compensated, I actually think that, you know, every company who relies on open source should be carving out time of their whole work staff to contribute back. That's maybe another podcast for another time, but I did want to point out that that distinction, because a lot of people if you're going to an open collective, or GitHub sponsors, they're kind of putting money directly into the maintainers pockets as a way of kind of supporting them as individuals, whereas the open JS exists much more as kind of like a neutral place to collaborate on projects and give support to those projects, but not directly compensate the maintainers.
SC That makes sense. So it's been so long since we've started working on JS landia. That I now forget the origin of JS landia. We've been really fun. It's been a fun thing to workshop with the cross project council. So the cross project council just to explain what the cross project council does, you know what I say this really affectionately, it's like the bureaucratic arm of open source. And I've found that like, I love open source bureaucracy on some levels, just the things that you know, need to be done to help the projects, different initiatives from the foundation, things like that. I believe it reports up to the board, Myles, you're on the board. Is that correct? I believe.
MB That is correct. Yes.
SC And so we've been working on this for a bit. So MYles, can you tell the story? Because my story is going to be disjointed.
MB Yeah, so a number of years ago, when people were hanging out in person, we were at this conference, which was a thing we used to do, where people get together. [Myles laughs]
SC Crazy. In person?
MB In person! In the same place! At a location that isn't where anyone lived. It's, it's wild. And so this particular one, I believe, was in Tahoe, but it may have been anyways--
JB It was Half Moon Bay.
MB So we're in Half Moon Bay, having some drinks afterwards, I believe Jory was there and you know, what, I just won't name all the people because I don't know if they want to be implicated in this. But we started talking about how when we merged the node foundation and the JS Foundation, the note foundation originally had three board seats specific for community elected positions. And when they emerged, we kept all three seats, but the third seat wasn't activated yet. And it would only activate when a certain number of individual members had joined what we were at the time calling an individual membership program. And I believe it's something like 2000 people that we needed signed up before we would activate that seat. So a bunch of us were sitting around and trying to scheme like, well, we want this community representation. How do we get like that much traffic? What could we offer, that would actually be valuable enough that people would do it. And for we're separately actually looking at teasing apart, like and bringing back that third seat without requiring this like watermark of people joining. So I'm adding that only for historic reasons not to pressure people into joining. And so we came up with this wild idea of like, well, what if we could get the .JS, top level domain? And then we could make we could make domain registration a benefit of the membership? I'm like, we'll sell 5000 domains on day one if we let people register .JS.
SC Yeah! I would buy Sara.js.
SC Yeah, wait, why mjs?
BP Sara, I feel like this is where your crypto experience is going to come in handy. You must have at least a few islands that you own, ungoverned, somewhere.
SC It would be the most poorly defended nation state. People would be like "we challenge you" and everyone would be like, "eh"
BP Oh, yeah, great cyber though. I mean, the cyber, the cyber offense--
MB You want malware, we got that malware? We got so much malware.
BP Yeah, just sort of getting back to that big conversation you're having before, Jory, you were saying, you know, this is existed for a long time, it used to be that you swap this stuff over, you know, physical or whatever. I guess, like, it was interesting to me to hear Sarah say she kind of loves the bureaucracy of some of this stuff. And then here, miles say Actually, this came out of the UN. I mean, is some of this, like, in some ways, you know, for better or worse, the formalizing the ossifying, the institutionalizing of open source, which I guess, you know, people have associate with like a more free willing, you know, anybody can enter.
JB Yeah, oh, my gosh, and yeah, you're picking up on a really important theme, and which is, and there's a whole sort of group of folks in tech, under like the maintainers, they have like a program called Halo maintainers. Like, and basically, it's a continuation of that of that theme, where there's a new innovation that comes along, people get really excited about it. And most of whatever that is, is gonna work, like the community is going to move on from pretty quickly. But there may be a couple of like, key pieces of technology, a couple of key ideas that are very important, and they become over time, like the bedrock upon which other things innovate. And we saw that like with grunt, the task runner, right, which was really kind of took our community several steps forward in terms of like, automated tasks, and things like that, but, and a lot of people like, adopted that pretty quickly. Within a couple of years, there were other tools that came along that were a little bit more innovative, and maybe kind of were a little bit more clever, or whatever. But those central ideas stayed around. And so I think, you know, over time, what happens is, you know, there's this project that comes along, and it does become a staple, and something else comes along, and it's cooler, so a lot of people move on to it. And what's left is a very important piece of technology like grunt that has to continue to be maintained, it has to continue to be supported, because so many people are still using and consuming it. But it's not necessarily getting that traction, it's not necessarily getting that attention that it used to get when it was the new hotness. It happens that still, like 50% of developers are using it. So we damn well better make sure that it's you know, like, there's nothing, you know, critical. So I think one of the roles that the foundation plays is to continue to ensure projects like that are getting the attention, and the love and the maintenance. And ultimately, the goal was kind of to make it boring. Like I'm not trying to be like, cute about it or anything. But you know, me maintaining things is not necessarily like the most exciting thing. But boring is cool, like boring is important. You know, and so yeah, we're the bureaucrat that I actually take it as a compliment. Like, it's not exciting.
SC Boring is cool.
JB Boring is cool! Boring is cool. Halo maintainers. You know, yeah.
BP This has been my message about politics for a long time. Yeah, we want things to be more boring than they were for the last couple of years. Myles, tell me a little bit about NPM. I know every time Paul is on, he talks about how it's a cheat code that he uses on a regular basis. So for the noobs explain a little bit about how it works. And then I know you just gave a talk at GitHub universe. Tell us a little bit about what's happening with it now and what you were talking about?
SC That's very cool. First of all, at Stack Overflow, we have a cheer-ocracy. So that's how we work things internally. And then what kind of feedback do you get from those meetings? Like, do you have people watching your videos and being like, oh, now I kind of get you know that I think that's one of the most difficult things when you're really invested in a product and you see them prioritizes like, crazy feature, and you're like, no one wants this. Everyone wants this other thing. So do you see people like watching your meetings and being like, "Oh, that's why!"
MB So we've only done three of the meeting so far. And there has not been a ton of engagement directly with it. But what I found it's really useful for and this was something that we did over a node when we were designing es modules was that like, by making this process more transparent by making it something where we're empowering others to participate in it, even if it's not directly all the time, we kind of have the receipts about why we're where we're at. And so while we may not be getting, like tons of immediate engagement on the live feeds, we are getting like a decent amount of engagement over on the discussions leading up to them. My hope is that like, you know, when someone's does come and say, "Hey, I have this thing I really care about why aren't you prioritizing it?" We have a lot of receipts that we could say it's like, well, you know, we have all these other things that have come in, we had all these discussions. Here's what we have prioritized. Like we could say we're tracking it, but like we and this is something I'm learning as a product manager is like, you know, you only have like so many levers you can pull, right? We've got headcount, we've got time and we've got scope. And so like each one of those plays off to each other. So unless like GitHub like "Hey, here's 100 new engineering. And we can talk about the mythical man month." Like we have limited time that we can spend on things. So as much as we'd like to do everything that people asked for, we can, but hopefully at the very least, they can see, hey, this is what we're working towards. And here's what we prioritize and why.
BP Alright, yeah, it's that time of the episode. Speaking of giving credit to the wider community, every week, we try to shout out one lifeboat badge winner, that's somebody who came on Stack Overflow and answered a question that had a score of negative three, got an approved answer up to a score of 20 or more. Oh, this one has my favorite. "How do I return a TCHAR array from a function?" Love that one. I love to just say that word. So this lifeboat was awarded December 8, two margin vanvleet. Thanks very much margin. I'm Ben Popper, Director of content here at Stack Overflow. You can find me on Twitter at Ben Popper, or email us firstname.lastname@example.org.
SC I'm Sara Chipps, Director of Community here at Stack Overflow. And you can find me at @SaraJo on GitHub. Myles and Jory. Who are you and where can people find you online?
JB I'm @jorydotcom on all of the all of the medias on Twitter and GitHub and all of that but yes, say hello, @jorydotcom.
MB I'm Myles Borins everywhere and Myles is with a Y, just to make sure that that is clear. You maybe can't tell from the way I enunciate, I'm rowbit on Soundcloud if you want to hear my jams. And yeah, like my DMs are open but in general like if you're not followed by me, it ends up in this like message request folder that I always forget to check. So heads up if you do DM me and I don't follow you. And I don't get to you for a couple of weeks. It's because of object permanence and ADHD. Not because of you. [Myles laughs]
BP Fair enough.