OSCON – O'Reilly's Open Source Convention combines the experience of the open source community with ideas and strategies for using open source tools and technologies. There's no event quite like OSCON! Make plans now to be at OSCON May 8-11, 2017, in Austin, TX. Registration is now open — save 20% on most passes by using the code
CHANGELOG20 when you register.
- Kris is the Executive Director of The JS Foundation
- The JS Foundation
Welcome to our first Spotlight series, recorded at OSCON London 2016. I'm Jerod Santo, managing editor at Changelog. OSCON London's biggest news by far was the launch of the JS Foundation, and I sat down with Kris Borchers, who's the executive director of the foundation, right after the big announcement, to learn all about it. Listen in!
* * *
I am Kris Borchers, I am the executive director of the JS Foundation. Did you wanna know where I'm from, or like...?
Sure, yeah. Where are you from?
I live in Dallas, Texas. I just moved there recently, a couple years ago.
Do you like Dallas?
Yeah, I love Dallas. I lived most of my life in Chicago, I got sick of being cold...
[laughs] You're not gonna be cold in Dallas.
You're gonna get hot, though.
We get really hot, but I can jump in a pool when it's hot, right? When it's 15 below, you're just stuck in the house.
...there's nowhere to jump.
Chris, we've been trying to work with you for a long time and put a show together; you've been kind of heads down... We thought you were working on the jQuery Foundation, but the big news of OSCON - so far, this has been THE news - is the launching of a new foundation, which appears to be an umbrella (you can tell me all the details)... Not just the jQuery foundation now, but as you said, the JS Foundation. Tell us about that.
Sure, yeah. It's been about a year and a half effort to, on the surface, rebrand, rename the jQuery Foundation as the JS Foundation. The jQuery Foundation was actually an umbrella as well; we had a number of other projects alongside of jQuery (about 16, actually), but then, with the launch of the JS Foundation we've changed governance, we've changed our membership structure; we're implementing a new technical structure in collaboration with the projects, so that's not final yet, because, like I said, since we just announced, we brought in seven new projects. We wanna work with those 23 projects to kind of finalize that technical structure, technical side of the house.
Tell us the overarching goal, the mission of the JS Foundation. What's the big picture? What's it trying to accomplish?
The JS Foundation has a lot of large sponsors, undoubtedly putting in lots of money to support these projects and all of the ones that the foundation deems suitable for membership... What is the disbursement -- is it basically like, the foundation receives funding and then the foundation just pushes that funding as it sees fit? Or is the funding and support -- we're not talking about cash for people working on it, or are we talking about that?
No, so we don't typically invest directly in development on our projects. For the most part what this money goes toward are a number of things... We provide a lot of infrastructure and support for the project; some of that is donated. We'll provide server instances, things like that for projects, whether they need to stand up a website, or their CI etc. We provide testing devices; if a project needs a big mobile device testing facility we'll procure devices and things like that for them.
We provide travel assistance, so we will get a project's committer team together in the same place and give them some time to maybe knock out a big release that's coming up, things like that. So that's where a lot of the funds go. Obviously, funds go to support, like myself and other people that are working for us, and all of the stuff that you need to run a business (accounting, legal), and that's another thing we do: we provide a lot of legal assistance to these projects. We make sure that they're properly licensing contributions, so that both the developer that's contributing to our projects, as well as the projects themselves and the people that consume them are properly protected in terms of licensing, patents etc.
Is that the scope of the foundation as it stands now, or is that moving forward? Because it seems like with the foundation's (I don't know if you wanna call it) clout, or what you guys can do, the efforts put into, and the money coming in from the companies who are benefitting greatly from projects like jQuery, like Webpack -- what are some of your other big ones?
We have Mocha, Moment.js...
Oh, I love Moment.js. Shout out to that guy.
Yeah, and we have a few... The seven new ones that we were highlighting... So there was Mocha, Moment, Webpack (which you mentioned), we also have Node-RED, which is...
Yeah, which is an IoT thing, right?
[00:07:51.19] Yeah, so it's an interesting orchestration tool. It's a way to map out your APIs within your application. It's really popular in the IoT space, but it has applications beyond IoT, as well. Then we also brought in a project called Interledger.js - that's an interesting new one... There's this Interledger protocol which is being worked on and promoted by Ripple, and it's the idea of being able to do payments and micropayments no matter the currency and across any providers.
It's like a common protocol. So Interledger.js is like the JS implementation of that; it's an open source implementation of that.
What do you look at for membership? What's the common bond amongst all these tools? I was gonna say because they're very popular and relied upon, but some of these newer ones probably aren't quite that relied upon yet.
Back to the funding, what I'm stuck on is it seems like we have a lot of these projects that are popular and relied upon, and we have a lot of these companies who are forward with their capital or they're very interested in supporting said things, and there's a lot that goes around it, but wouldn't money directly to developers be a great way to maintain sustainability for somebody's projects? Maybe not all of them...
I keep thinking about Webpack, because I'm partial to Webpack I have a friend that's involved, Sean Larkin - shout out, Omaha, Nebraska...
Sean's the one that I worked with to make this happen, because he wanted it to come in...
Yeah, so I think about Sean because he's very much trying to find ways that he can continue to work on Webpack a lot and find sustainability in that, if possible. He's looking at -- I think they joined OpenCollect... We have Kickstarter models, we have Patreon people... Developers are trying different ways of funding themselves directly, and it seems like we have a history of corporates sometimes sponsoring a person directly - you think of like Aaron Patterson working on Rails for so long under the employ of AT&T Interactive, and now GitHub, which is great... But at the same time with that you have... You know, they could put the thumb down - because that person's their employee - if they wanted to, or they could use that as a way of influencing the direction of a project, which is sub-optimal in many situations... But it seems like through a middleman of a foundation, where you have all these different interested parties helping out and donating, providing funds, and you have a foundation that's the umbrella, and then you have the funding going, you could still have some autonomy... It just seems like a great way of going about it. I'm just curious - is that completely outside of your guys' scope, or is it a possibility? What are your thoughts?
You've got a couple of really good points there, and we've thought a lot about this. Where we fall on this right now... So we have done some direct funding of developers in the past, and it works... What we found though, is that sometimes when we start paying a developer - especially if we're paying them full-time - there is less incentive to build out a broader committer base and contributor base...
Oh, that's interesting...
[00:12:01.08] ...because then there's less for them to do, so then we may not need to pay them anymore.
I never saw it from that angle, that's interesting.
And that's not to say that that always happens, but it's a possibility, so we try to avoid that. We really like the model of some of these member organizations - or other companies that maybe aren't our members yet - funding developers that are working on projects. Your point about them potentially having influence over that is valid; what we try to do as the foundation is be the middleman, in a sense, in that process by ensuring that the way decisions are made within a project. The foundation doesn't make technical decisions for a project, but we help them structure how they make those decisions and who's involved in those decisions.
One of the things that we launched when we launched the JS Foundation is this mentorship program. What we focus on in that mentorship program are those policies, and making sure that a project implements policies like "We don't allow more than one third of our committers to be from the same company." So even if one company has a third of your committers, as long as your decision process doesn't let them just do what they want if that's not what's best for the project, the other two thirds are going to be able to overrule them.
That kind of keeps that in check. Obviously, if there's enough pressure from the organization and they can convince the team to do those things, then it's gonna get in. Again, we don't get in the way of that either, because it's up to the project to make those decisions. But I think if they're able to make the argument, then it's probably a valid change to be making.
I don't worry too much about overinfluence from companies on a project, as long as we get those policies in place and they follow those policies.
Yeah, a lot of nuance...
...and a lot of careful thinking it seems like that you're going through in order to not create false incentives, and create the middleman in a way that's right, and there's a lot of things to think about, so I appreciate your efforts in that regard.
Yeah, for sure.
Let's talk about membership real quick, and then we'll talk about your sponsors. So let's say I have a JS project and I'm thinking, "Oh, that sounds perfect for me." What does the membership process look like? How do I become the next Webpack or the next jQuery, to become a JS Foundation member?
Just to clarify terms... So we call those our projects. The supporting companies, we call them members. It's also very much not a "pay to play" model either; I like to make sure that that's clear, as well.
Let's talk about both sides, then. Let's talk about projects, first.
Okay, so in terms of projects, we are in the process of finalizing a charter for what we call our Technical Advisory Committee. I think I mentioned this earlier, but we were waiting until we were launched and we had our projects set, at least for now, to involve them in sort of the final details and finalizing that charter. Once that's in place - or even before... I mean, right now it's out of GitHub; we have a JS Foundation Org on GitHub, and that's the TAC repo (Technical Advisory Committee).
Within there there is a project lifecycle document, and there is an application in there. It's literally just, "Tell us about your project. Here's what we wanna know, and then send a pull request."
Is there a certain look and feel that you're looking for? What increases my odds, in terms of the way my project looks? Nothing?
No... One of the things we haven't finalized - because we specifically wanted to leave this to the technical side of the house - are the general metrics they're going to follow when they admit a project. We didn't want that coming from the business side.
So we don't have those metrics, but it's going to be, I would say, a pretty low bar, because we wanna support as much as we can. The real limiting factor will be mentors, and actually having boots on the ground that can go help a project work through the mentorship program.
We'll be building those as we go as well, so our hope is that it will become this cycle of once we've gotten a few projects through - because we do have some that we've already assigned mentors, and once they've gone through that process, we can start pulling from those projects as new mentors. That will exponentially increase our number of mentors, and then we can increase the number of projects we can start bringing in.
Cool. Tell me about membership now. You said it's not a pay-to-play model. (Now these are your sponsors?)
Yeah, so what I was trying to make sure I separated there was to bring a project in or to use any of our projects or contribute to any of our projects, you do not need to be a member, you do not need to give us any money.
Okay. How do you do that?
The projects can come from anywhere. Anybody can come jump in on our projects. You can go to js.foundation/projects, see all of our projects and find one that interests you. Another part of that mentorship process - which we're just starting, so most of the projects won't have it yet - is we will encourage them to have an exact roadmap of "How do I get involved? How do I become a committer? How do I work my way up in the project?" Because that's something that's usually missing from projects; you just kind of have to be around for a while and figure it out, and we found that if you map that out for people it's a much more encouraging environment where they want to stay involved, because they know they have something they're working toward.
So anyone can get involved in a project, contribute to it, use it; you don't have to be a member. Obviously, we do encourage - especially companies bringing projects in, that they're going to be supporting anyways, it would be great if they also become members, because we do need funding to provide a lot of the things we do and work on these initiatives I've been talking about.
In terms of membership, we're open to any organization as well. If you are a large enterprise organization that has interests in a bunch of our projects, and you've got people working on them and you wanna support the foundation, make sure it's around so that those projects are supported, then memberships are a great way to do that.
Same thing for smaller companies. If you have a smaller organization and you're looking to have a bigger voice in things like standards - we have representatives at W3C, we have representatives in ECMA/TC39, so that's a great way to get involved that way, as well.
There's different pricing structures and different benefits that come along with that. Our top-level members get a seat on our board of directors; the middle level, it's kind of a one board seat for every five, so that group of members just kind of decides amongst themselves who will represent them.
[00:20:02.15] The top level has a flat fee, the middle level is kind of a tiered fee based on your employee size; we try to make it a little bit fairer, so that smaller companies can pay less, larger companies pay a little more.
Then we also have an associate level membership, and that's free. It's for non-profits and academic institutions, just to give them some recognition for teaching curriculum that involves our projects, or getting their students involved in open source, things like that.
Let's close with some shout outs, because I think these companies that support open source are very important. We like to praise anybody who puts their money where their source is, so that they are contributing to the sustainability of what we're all trying to do. I think that whatever good will is coming to them, I think they should have it. Name some of your big members, some of the people that have supported the jQuery Foundation first, and now the JS Foundation, who helped you guys reform it into what it is.
Then we have seven silver members, and you're gonna make me remember them...
You don't have to...
I don't even recall that.
Yeah, so SitePen is still on board. Then we have SauceLabs, and they also brought in the Appium project, which is really cool for mobile device automation and testing.
Is that a cross-platform thing?
Yeah, it'll do web apps, and then it will do native, iOS, Android and universal Windows platform apps as well. I actually saw a really cool demo a while back where they were actually automating the calculator on a Windows 10 laptop.
Just watching it do it... It was really cool.
That is cool.
Who else? We also have Sense Tecnic. That's a company that is, I believe - I don't wanna misquote their product, but I believe they do a cloud-hosted version of Node-RED, which is that project I mentioned earlier that IBM brought in.
We also have StackPath. I don't know if you're familiar with them...
I've seen their name, but I'm not sure what they do.
Our CDN provider was MaxCDN. MaxCDN was acquired by StackPath. They're working on a whole suite of products. Their first product is what they're calling SecureCDN, which is MaxCDN with some other security things added on top. They're still providing our CDN, and they're also funding us, as well.
[00:24:01.19] Awesome. I'll stop you there, I'm sure there are plenty more that you could mention, as you're taxing your brain. It's too bad you can't see the booth from over here, they're all on the wall over there, and we're getting drowned down in some music... Closing thoughts, JS Foundation, into the future...?
I think we're all for a little less burnout, right?
Exactly. So hopefully, if things are happening in one place, it's a lot easier for people to get involved, to keep those project going.
Well, Kris, thanks so much for sitting down with us, and enjoy the rest of OSCON!
Awesome, thank you!
* * *
Thanks again to our friends at O'Reilly for the awesome working partnership at OSCON London 2016. We'll see you again, OSCON, in 2017 in Austin, Texas. If you want to save some money on that ticket, if you're going, use the code "changelog20" to save 20% off your registration to OSCON 2017 in Austin, Texas.
For more episodes like this head to changelog.com/spotlight, click Subscribe, don't miss a show, and thanks for listening!
Our transcripts are open source on GitHub. Improvements are welcome. 💚