Data / Programming Languages

JavaScript Grows Up and Gets Its Own Foundation

17 Oct 2016 1:00am, by

jsf

Currently, the JavaScript sector offers a mind-bogglingly diverse menu of open source options for building, testing and deploying applications. Maybe too diverse. With this in mind, The Linux Foundation has launched the JavaScript Foundation, an entity “committed to creating a center of gravity within the exponentially expanding JS ecosystem,” according to the organization.

The foundation aims to help wrangle a bit of order from the chaos while making sure open source contributors feel valued and included. More formally stated, the foundation’s  goal is to “drive broad adoption of key JavaScript solutions while facilitating collaboration within the JavaScript development community to ensure those projects maintain the quality and diverse contribution bases that provide for long-term sustainability.”

These are indeed interesting times for JavaScript. Back in 1995 Netscape, wanting to liven things up on the nascent World Wide Web, tasked Brendan Eich with creating a scripting language for its Navigator browser. Over just the course of just ten days, Eich — who went on to co-found the Mozilla empire — whipped up the scrappy Little Programming Language that Could. You know the rest: how JavaScript, along with HTML and CSS, eventually became the front-end foundation of today’s robust web. This is certainly how most people still understand JavaScript’s function.

Behind the scenes, however, the open source and developer communities were busy at work revolutionizing what could be done with JavaScript. Node.js opened up the brave new world of server-side JavaScript, and the language’s agility is being exploited in everything from cross-platform native app development to Internet-of-Things (IoT) miniaturization. JavaScript has even made the leap from the browser to the desktop; for example Slack, the hottest current workplace chat app, runs JavaScript under the hood of its desktop client.

Developers embraced JavaScript with such glee because it is simply so damn useful to write both client side and server side code using the same language.

Consolidarity

This was the natural result of an organically evolved, open-source driven decentralized process but it also produced an unintended consequence of serious fragmentation: everyone’s open-source excitement surrounding JavaScript has produced a great deal of duplicative effort. There are more frameworks and templating engines than you can shake a stick at, to the point where “I’m building my own Node framework” has become a kind of hipster coder in-joke.

Case in point: last week’s hilarious Hackernoon blog post by Jose Aguinaga, titled “How It Feels to Learn JavaScript in 2016.”

Aguinaga name-checked a dizzying array of all the libraries, task managers, package managers, module managers, task runners and other gadgets competing to make our JavaScript lives faster, easier and sexier. The article made an important point about the ongoing fragmentation of the JavaScript ecosystem, but the fact that you and every other webdev you know saw it says that the community is still interconnected at a manageable scale.

Enter the brand new JavaScript Foundation. The nonprofit, formally announced at OSCON in London, launched under the aegis of the Linux Foundation as a sibling to the Node.js Foundation, also overseen by the Linux Foundation.  The JavaScript Foundation’s inaugural press release says its mission is to “cultivate best practices and policies that promote high-quality standards and diverse contributions for long-term sustainability.”

In other words: Figure out some standards and best practices and maybe start to consolidate our best toys in a communal toy chest. Get our act together as a community. Get a better idea of what works and what doesn’t, which approaches and implementations should be incorporated and what should be dumped, and what new challenges the open source community should tackle. Consolidarity, dude.

The foundation also announced a Mentorship Program designed to functionally support twin goals of “encouraging a culture of collaboration and sustainability throughout the JavaScript community” while nurturing “technologies pushing the boundaries of the JavaScript ecosystem.” The program kicks off with seven initial projects representing the entire JavaScript spectrum, from client and server side application libraries to mobile application testing frameworks to JavaScript engines. The initial Mentorship Program projects are Appium, Interledger.js, JerryScript, Mocha, Moment.js, Node-RED and webpack.

These specific projects are just a starting point, said Kris Borchers, who has been tapped to head the foundation as its executive director, emphasizes that “We welcome any projects, organizations or developers looking to help bolster the JavaScript community and inspire the next wave of growth for application development,” he said.

Borchers already has tenure at the Linux Foundation, given that he was serving as head of the jQuery Foundation when the decision was made to broaden and rebrand that entity into the JavaScript Foundation. This is an entirely new foundation, with new governance, membership structure and board of directors, even a new technical governance structure, which will still support all current JQuery projects while adding new initiatives. “The jQuery Foundation’s scope had expanded far beyond just jQuery projects for a long time,” explained Borchers, who says he used to spend the first ten minutes of every meeting explaining that the organization “was about a LOT more than jQuery — so this will hopefully make my life easier.”

The JavaScript Foundation’s staffing and various oversight committees are still under construction, but as the entity grows and evolves the emphasis will be on open governance and healthy community development practices. And building a front door for individual as well as organizational contributor/collaborators is an essential component of the foundation’s structure, he added.

The foundation has three target audiences, starting with application developers. “We aim to cover the spectrum, from tools and low-level utilities, like Lodash, that we use every day, all the way to testing tools like Appium or Mocha, and beyond the horizon in non-typical applications,” said Borchers. This means supporting projects like JerryScript and NodeRED in areas like Internet of Things where JavaScript is starting to get a foothold even as people don’t typically think of JavaScript having a role there.”

The JavaScript Foundation is also targeting larger organizations. The entity is, in fact, a member-supported organization; founders include IBM, StackPath, and Samsung, among many. As a nonprofit organization, the Foundation is an attractively neutral host for open source projects initially created for-profit companies, which could move oversight and sometimes even copyright ownership to the nonprofit group.

“This means participants all have an equal say in where the project goes. We get stronger buy-in from contributors, and thus more robust project growth, when they know that a corporate owner of the copyright won’t be able to either take the project away or force it to move in a direction that serves mainly them,” explained Borchers.

You are the Ecosystem

Cross-browser testing suite provider Sauce Labs is already on board as a member organization and has donated Appium — open source mobile testing software — to the new foundation. Jonathan Lipps was architect and project lead for the popular cross-platform, language agnostic framework, but occasionally found himself frustrated when talented developers who wanted to contribute were blocked by the corporate policies of their day jobs, preventing them from contributing to open source projects owned by other for-profit companies. “Moving to foundation-based stewardship clearly became the right thing to do,” Lipps said.

“As a company whose two main offerings were based on open source entities, it was time to put our open source money where our open source mouth is and donate the copyright to a nonprofit.”

Lipps said Sauce Labs was attracted by the foundation’s tagline, which is “Innovate together.” There is huge need to bring together projects doing more or less the same thing into conversation and collaboration, and — when the intellectual property is held by a nonprofit — “all the various inventors might be willing to more band together, have a confluence of visions, and start to standardize.”

All in all, Lipps says, he is glad to see that the JavaScript Foundation is attracting such broad-based corporate support. “Corporations have made much profitable use of the JavaScript ecosystem,” he said. “So it’s great that there is now a place they can flow some money back into it.”

Indeed, the oft-mentioned JavaScript ecosystem is the foundation’s third and final target audience.

By working in partnership with its sibling, the Node.js Foundation, the JavaScript foundation will effectively represent the voice of the entire JavaScript community, Borchers said. “We want to make sure the language is evolving in a way that benefits developers. We will work with W3C to make sure changes improve the developer experience,” he said.

In short, “We aim to be the driving force for application developers in the standards of the language that runs the web.

A newsletter digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.