As part of Open Source Week 2016, we took a look at the JS Foundation, an organization whose mission it is to create a center of gravity for the open source JavaScript ecosystem. Backed by such big names as IBM and Samsung, they offer technical governance and mentoring to a host of well-known projects such as ESLint, jQuery, Lodash and Webpack.
Recently, we were lucky enough to catch up with Kris Borchers, the JS Foundation’s Executive Director. We asked Kris all about the foundation, its inner workings and how people can get involved. Enjoy!
Elio: Thank you Kris for joining us today!
Kris: My pleasure.
Elio: For those that might not know you, can you tell us a bit about yourself?
Kris: Sure. I started my career with a Bachelor of Applied Computer Science degree with which I could not get a job directly out of college, as the tech bubble had just burst. After teaching myself web development and working through a couple of jobs at small companies doing tech support to web consulting, I decided to go work at a university where I then also earned a Master of Applied Computer Science and an MBA. From there I took over the external web presence and intranet website and applications for a community college, and while there, began contributing to the jQuery project as my first venture into more than just consuming open source. I eventually earned my way onto the jQuery UI team and some time later while working as the JavaScript lead on a mobile team at Red Hat, I was asked to join the board of directors of the jQuery Foundation. Eventually the Executive Director at the time moved on to another opportunity and I interviewed and was hired for the role. Then, in October of last year I guided the jQuery Foundation through the transition to the JS Foundation and here we are today.
Elio: Wow. Quite a journey. Could you tell us more about how the jQuery Foundation transitioned to the JS Foundation? What role did you play in the process?
Kris: The JS Foundation was the natural evolutionary next step from the jQuery Foundation. I ran the jQuery Foundation as Executive Director for about 3 years. As we grew in terms of the number and types of projects we served, as well as the other initiatives we cared about, it became clear that an update to our name, brand and organizational structure was in order. I drove that process for about the last 1.5 – 2 years to get us fully transitioned into this new organization.
Elio: So what is the foundation attempting to do for the JS community/ecosystem?
Kris: We are working to create a center of gravity and focal point for innovation and collaboration across the entire JavaScript ecosystem.
Elio: Can you elaborate on what that means and on how do you intend to do it?
Kris: So one of the main ideas we have been talking about is the idea of innovating together and there are sort of 3 pillars to that idea: Community, Collaboration and Continuity. By fostering a large and healthy JavaScript community around the projects at the JS Foundation, we provide a location and mechanism that encourages collaboration within and among those projects as well as with the rest of the JS community. We then provide principles and guidelines for that community and the individual project communities to implement and follow which promote larger, more diverse contributor bases. This then leads to long-term stability and sustainability for the projects, or continuity, because having them all start with “C” looked and sounded better.
Elio: I see. How do you intend to encourage further innovative uses of JavaScript?
One area we are really starting to see growing interest and amazing use cases for JavaScript is in the IoT space. We currently have two projects really gaining steam in that segment in JerryScript and Node-RED.
JerryScript, originally created by Samsung, is an ECMA 5.1 compliant fully-functional JavaScript engine for memory constrained devices. This allows you to write JavaScript and run it on small microcontrollers with less than 64kb of RAM and less than 200kb of ROM and have direct access to device APIs which is pretty amazing.
Node-RED, originally created by IBM, is a flow-based programming environment built on Node.js – commonly used in the IoT space – and aimed at creating event-driven applications that can easily integrate APIs and services.
Between these two projects and a number of our other projects and partnerships, we will continue to push JavaScript deeper into IoT and other tech sectors.
Elio: What does it mean for projects that are adopted by the JS Foundation? Are there any projects which get prioritized?
Kris: When a project is accepted into the JS Foundation, they are provided with a mentor that helps them work toward establishing and implementing the policies and principles I mentioned earlier for growing and sustaining a large, diverse contributor base. Projects are only prioritized by their interest and commitment to growing their contributor base and maintainer core and their eagerness and ability to implement those suggestions made by the JSF to accomplish that goal.
Elio: I bet there are lots of projects that want to join the foundation. What are the plans to include more of them? Is there an open/standardized process for doing so?
Kris: Any project may apply to join the JS Foundation by reading through our technical governance processes and documentation in our Technical Advisory Committee (TAC) repo on GitHub. In the project life-cycle document there is an application process defined which basically just asks that someone that represents the project send a pull request to the TAC repo telling us about the project. Our only real limitations to bringing in new projects are funding and mentors. As long as our budget is not drastically impacted in some way by bringing a project in and we have someone available that can mentor that project, we will likely accept it. We obviously won’t be able to support every single JavaScript project out there but we will do our best to support any project that needs it and is depended upon by the great JavaScript community.
Elio: Fostering collaboration in the community is an art form on its own. What approach will you take in this regard?
Kris: We have a number of plans either in motion or being finalized around fostering collaboration. From providing travel funds to getting projects together for occasional face-to-face meetings, to funding marketing campaigns around the impact and importance of our projects and their needs, to hosting and participating in developer events. Nothing is being officially announced yet but be on the lookout for more information soon.
Elio: And how do you intend to help drive adoption of Foundation projects?
This really goes hand-in-hand with your last questions about fostering collaboration. By driving awareness of our projects through marketing, events, speaking engagements and partnerships, we hope to drive further adoption of our projects while also fostering collaboration. As projects are viewed as well supported and having a thriving community and extended ecosystem, that encourages individuals and organizations to trust that project to be there for them when they need it and to bring it into their development stack.
Elio: Does the Foundation provide any help or support to non-Foundation projects?
Kris: Our overarching goal is to support the entire JavaScript ecosystem from developer tools to testing frameworks to client libraries to IoT. Direct support of a project that is not part of the JS Foundation in terms of any sort of funding or other support efforts is not likely at this time. We have 23 projects right now with others exploring the idea of joining and so our focus will be on them. That said, by supporting some of the projects that are already part of the JS Foundation we indirectly help and support much of the broader JS ecosystem.
Take two of our projects, Lodash and Mocha, for example. Lodash which is a JavaScript utility library, is the most depended upon package on npm based on dependency count. Mocha, a JavaScript testing framework, is also widely used and though it isn’t a direct dependency of many packages on npm, if you count code repositories that depend on Mocha, you could say it is also one of, if not the most depended upon JavaScript tool. In either case, by supporting these projects and all of the others at the JS Foundation, the impact of our support reaches well into the entire JavaScript ecosystem which depends on these core projects.
Elio: Will there be events facilitated by the JS Foundation? Before, there were jQuery Developer Summits for example.
Kris: Though we don’t have a specific event planned right now, this is definitely a goal of the JS Foundation and we are discussing our options. We are considering both JS-wide type events as well as events focused on individual or groups of our projects. We are also looking at how we can support some of the amazing JavaScript focused events that already exist.
Elio: I notice you have a code of conduct on the website. Is this something that will be enforced across member projects? Does the foundation intend to get involved in community politics?
Kris: The JS Foundation code of conduct is applicable to and will be enforced in any interaction within our projects, working groups, committees, events, etc. Our code of conduct gives the leadership within our projects guidelines on how to handle situations on their own but if necessary, the code of conduct committee and in very rare cases, the JS Foundation board or legal team could be involved.
Also, as a project joins the JS Foundation, our guidelines stipulate that they must either adopt the JSF code of conduct or have a code of conduct that is compatible with ours and approved by the conduct committee and board. This ensures that all interactions with the JS Foundation and our projects will occur in welcoming and safe environments for everyone.
Elio: And are there opportunities for JavaScript developers to get involved, or support the foundation in any way?
Kris: Absolutely! Every one of our projects is open to and in need of contribution and that doesn’t just mean writing code, though of course that is always welcome. Our projects have many needs which include things like graphic/web design, bug triage, forum and chat support, tests, documentation and more. Developers and others interested in JavaScript should check out the project page on our website, find a project that seems interesting to them and dive in!
If someone has a project they would like us to consider supporting as part of the JS Foundation but would like to discuss it with someone privately before sending the public PR application, they should reach out to projects@js.foundation.
Elio: And finally, I see there are various sponsors supporting the JS Foundation? What’s the process to become one?
Kris: The best way right now is to email membership@js.foundation which goes directly to me. I would be happy to chat with interested organizations about the different levels of membership and the benefits of each level, our projects, our initiatives and how they can maximize the value our projects receive from their membership as well as the value they receive by investing in the JS Foundation.
Elio: Kris, thank you very much for your time. Keep up the amazing work with the foundation—I’ll follow your progress with interest.
So what do you think? Does the JavaScript ecosystem need a center of gravity? Are you interested in getting involved? Is there anything else you’d like to tell Kris? Let us know in the comments below.
Elio is a open source designer and founder of Ura Design. He coordinates community initiatives at SitePoint as well. Further, as a board member at Open Labs Hackerspace, he promotes free software and open source locally and regionally. Elio founded the Open Design team at Mozilla and is a Creative Lead at Glucosio and Visual Designer at The Tor Project. He co-organizes OSCAL and gives talks as a Mozilla Tech Speaker at various conferences. When he doesn’t write for SitePoint, he scribbles his musings on his personal blog.