Category

Project Update

OpenJS Foundation welcomes AMP project to help improve user experience on the web

By | Announcement, Blog, Project Update

AMP enters the open source foundation to broaden open governance, drive diverse, cross-industry adoption and continue improving the web for all.

NEW YORK– October 10, 2019 — The OpenJS Foundation, providing vendor-neutral support for sustained growth within the open source JavaScript community, announced today that the open source web component framework AMP will be joining the Foundation’s incubation program. The news was delivered at the AMP Contributor Summit 2019 in New York City. 

“AMP is a great example of a community and technology focused on improving web performance and experience for all,” said Robin Ginn, Executive Director of the OpenJS Foundation, “On behalf of the Foundation, I am happy to welcome AMP and I look forward to seeing their progress to support a faster, open web.”

Now in its fourth year, AMP, a multi-stakeholder open source project initially backed by Google and used across a broad range of organizations, allows any publisher to have pages load quickly on mobile devices. Used in billions of pages on more than 30 million domains, AMP integrates with countless products and companies, including Google and Microsoft who each implement their own AMP Cache.

As a continuation of its adoption of an open governance model in late 2018, AMP’s cross-industry Technical Steering Committee agreed that the next step would be to submit an application for the project to join the OpenJS Foundation. This decision was further supported by its Advisory Committee representing constituencies from publishers, CDNs, browser vendors, open web advocates, and e-commerce and platform companies.

After completing the incubation process and officially joining the OpenJS Foundation, AMP will enable a wider variety of contributions from a wider audience, both technical and strategic. Additionally, a move to the OpenJS Foundation aims to develop and showcase the entirety of AMP’s benefits and capabilities, outside of the advantages to publishers. 

“Now in our fourth year, AMP is excited for the next step on our journey,” said Malte Ubl, Member of the AMP Project Technical Steering Committee. “We’ve been considering the best home for AMP for some time. We decided on the OpenJS Foundation because we feel it’s the best place for us to help us to cater to our diverse group of constituencies. This step builds on previous moves we’ve made toward open governance and helps us focus on transparency and openness.”

“As a Platinum member of the OpenJS Foundation and huge proponent for thriving open-source communities, we are thrilled to see AMP take this step with the Foundation,” said Myles Borins, Developer Advocate for Google and OpenJS Foundation Board Vice Chairperson.“The opportunity to improve the web is vast, and AMP has a role to play in that. We see no better place for AMP to accomplish these goals than with the OpenJS Foundation.”

“As an AMP contributor and framework user having integrated AMP into different products including owning our own AMP Cache, we fully support and encourage this move,” said Saulo Santos, Engineering Manager, Bing Experiences, Microsoft. “AMP is helping to improve the web, and entering it into the Foundation will only be a continuation of these efforts.”

About OpenJS Foundation 

The OpenJS Foundation is committed to supporting the healthy growth of the JavaScript ecosystem and web technologies by providing a neutral organization to host and sustain projects, as well as collaboratively fund activities for the benefit of the community at large. The OpenJS Foundation is made up of 32 open source JavaScript projects including Appium, Dojo, jQuery, Node.js, and webpack and is supported by 30 corporate and end-user members, including GoDaddy, Google, IBM, Intel, Joyent, and Microsoft. These members recognize the interconnected nature of the JavaScript ecosystem and the importance of providing a central home for projects which represent significant shared value. 

Frequently Asked Questions

Why is AMP joining the OpenJS Foundation?

AMP has been taking very thoughtful steps to ensure its long-term commitment to its vision (A strong, user-first open web forever) and mission (Provide a user-first format for web content, supporting the long-term success of every web publisher, merchant, and advertiser).

In 2018, after community concerns around its ties to Google as well as concerns around scaling the project, AMP adopted an open governance model that is mirrored after the Node.js Foundation and JS Foundation. They adopted this model to scale as well as to give a voice to all constituents of the community, including those who cannot contribute code themselves, such as end-users. 

How will joining the Foundation solve some of the past issues pertaining to governance  AMP has faced and currently faces?

The OpenJS Foundation prides itself on vendor neutrality. Our vested interest resides solely in the ecosystem and the projects that contribute to that ecosystem. The OpenJS Foundation’s Cross Project Council is committed to supporting AMP in addressing these issues and ensure continued progress. During onboarding, AMP will also go through a multi-step process including adopting the OpenJS Foundation Code of Conduct, transferring domains and trademarks and more to graduation from incubation.  AMP has made incredible strides by adopting a new governance model and by joining the OpenJS Foundation, they’ve made their intentions clear-AMP is committed to its vision of “A strong, user-first open web forever.” 

Currently, the AMP runtime is hosted on the same infrastructure as the Google AMP Cache. Doesn’t this present serious issues?

The end goal is to separate the AMP runtime from the Google AMP Cache. The Project is currently in the incubating stage and Project leaders are still determining the next steps. Ideally, hosting and deployment of the AMP runtime to the CDN would fall under the purview of the OpenJS Foundation, much like the foundation is handling other projects CDNs, such as the jQuery CDN.  

Untangling the runtime from the cache is a complex endeavor requiring significant investments of time and effort which would be planned and implemented in collaboration with the foundation and industry stakeholders during and after incubation.

The OpenJS Foundation CPC is committed to having a long-term strategy in place to address this issue by the end of AMP’s incubation. 

How will AMP joining the Foundation address the lack of contributor diversity/inclusion? Currently, only past or current Google employees have commit rights.

AMP has taken key steps to guide how decisions are made in a more open and transparent way. The first step was to adopt a new governance model represented by multiple stakeholders. By joining the Foundation, which is a vendor neutral organization,  AMP will be able to continue down this path. One of the reasons AMP is joining the Foundation is so they can have more of an inclusive contributor base. The Cross Project Council and AMP will be working on this together.

OpenJS Foundation welcomes first Incubating project: Node Version Manager (nvm)

By | Blog, Project Update

If you build Node.js applications, you may end up needing to use different versions of Node. Fortunately, there is a convenient way to install and manage different versions thanks to Node Version Manager (nvm). nvm is a POSIX-compliant bash script to manage multiple active Node.js versions.

nvm will be the first project to enter the OpenJS Foundation’s incubation process after the merger of the JS Foundation and the Node.js Foundation.  nvm is the most common and widely used method to install Node.js, and the most common tool to manage multiple installed Node.js versions. 

 

nvm offers many benefits to help developers accomplish tasks in a more efficient way. Some of these advantages include:

 

  • The ability to easily switch between node versions per-shell, which enables testing of both libraries, for maximum backwards compatibility, and apps, for smoother node upgrades on multiple node versions.
  • The ability to install node on any posix-compliant system that has curl/wget
  • Stores node versions, and thus globally installed modules, inside the user directory, removing the need for sudo when used with npm
  • Handles compilation for most systems that don’t have prebuilt binaries available, simplifying the install process
  • Provides the ease and convenience of a package manager without needing to obtain node from an unofficial distribution channel which cuts down on delays before newly released node versions are installable.

 

By joining the OpenJS Foundation, there are multiple organizational and infrastructure areas that will be better supported, helping both current users and future users including ensuring no single point of failure for the nvm.sh domain, GitHub repo, and more. Furthermore, nvm will be able to ensure governance and Code of Conduct enforcement to make sure that nvm will continue to be stable if there are personnel changes with the sole maintainer. Joining will also help nvm to grow and gain contributors, providing more overall stability for the project. If you are interested in getting involved, check out contributing guidelines on GitHub.

 

Quotes from the Community

 

“It’s great to have nvm join the OpenJS Foundation because it’s an important part of the overall ecosystem and a tool that makes Node.js version management easier for our users,” said Bethany Griggs, member of the Node.js Release Working Group and Node.js Project Technical Steering Committee. “nvm is a valuable tool that makes upgrading to new or switching between existing versions of Node.js much more simple. This is especially useful when developers are working on various projects that have different minimum required Node.js versions.”

 

“Having nvm enter into the incubation phase is an important and exciting milestone for the Cross Project Council and the OpenJS Foundation,” said Joe Sepi, CPC Chair. “As the first project, it shows forward progress and momentum. On behalf of the CPC, I look forward to nvm’s success as well as onboarding more projects crucial to the ecosystem”

 

“It’s really exciting to have node version manager (nvm) as the first project to enter into the incubation process,” said Michael Dawson, IBM Community lead for Node.js and Node.js Board representative. “nvm is an important and widely used part of the Node.js and JavaScript ecosystem, and by joining as a hosted project, nvm is ensuring its growth and impact well into the future.”

“I’ve been a user of nvm since 2011, and it is the best way to install Node.js on a developer’s machine,” said Matteo Collina, Node.js Technical Steering Committee member, and Node.js CPC representative. “It’s fantastic to see new energy on the project, and I wish nvm a brilliant future in the OpenJS Foundation.”

 

Say Hi to nvm yourself

Project Champions:

 

  • Jordan Harband – nvm 
  • Jory Burson – OpenJSF CPC

#nvm on freenode IRC
or
https://gitter.im/nvm-sh/nvm

 

Vital stats

 

nvm is joining the OpenJS Foundation as an incubating project, and upon successful completion of onboarding, it will become an “At-Large” project. An “At -Large” project is one which is “stable projects with minimal needs.”

 

Apply for Hosted Project Status at the OpenJS Foundation!

 

The OpenJS Foundation hosts some of the most important projects in the JavaScript ecosystem. As a neutral non-profit organization, our goal is to provide a home where projects can build and support a sustainable community of diverse contributors.

 

Projects hosted by the OpenJS Foundation fall into one of four categories:

 

  • Impact stage is generally for large, mature projects.
  • Growth stage is for projects which are actively mentored, and which intend to graduate to Impact stage.
  • At-Large stage is for new projects, stable projects with minimal needs, and everything in between.
  • Emeritus stage is for projects which have completed their lifecycle and are retired.

 

Read through the project lifecycle Project Progression proposal to find out how the OpenJS Foundation can best support your project, and apply today!

Project News: The webhint browser extension v1 release

By | Blog, Project Update

Congrats to the webhint team on their v1 release! webhint, a linting tool for the web focused on best practices and flexibility for the end user, is a Growth project here at the OpenJS Foundation. The below post originally appears on the webhint blog.

We are thrilled to announce that the webhint browser extension has moved from beta to its v1 release and is now available for Chrome, Edge (Chromium), and Firefox!

Nellie and Firefox playing with a Chromium toy

The webhint browser extension allows you to easily scan a website and get feedback on accessibility, browser compatibility, security, performance, and more within the browser DevTools. Read more at https://webhint.io/.

Try the webhint browser extension

Once you’ve installed the extension for your browser, simply open DevTools and select the Hints tab. From here, you’ll be able to run a customizable site scan. You can select what browsers are relevant to you by using the browserslist syntax. (browserslist is the defacto standard for creating browser support matrix, and it’s used by tools such as autoprefixer.) You can also ignore certain cross-origin resources in your scan, letting you focus on the code you care about most.

What’s new for v1

Since announcing the beta in July, we’ve made a number of bug fixes, improvements, performance enhancements, and all-new features to the browser extension based on your feedback. Here are a few of the highlights.

Improvements to cross-browser compatibility hints

Making sure your website works in all the browsers you care about is a difficult task. webhint’s compat-api uses MDN’s browser compat data to help you identify possible gaps in your browser support matrix.

In v1, we added suggestions for missing vendor prefixes. These hints are especially helpful for testing cross-browser compatibility. We also improved the way in which browser versions are listed in compatibility hints, as shown in the before and after screenshots below.

Grouping of similar hints

Previously, if a hint affected numerous elements on a webpage, it could produce an overwhelming number of recommendations. We’ve improved this experience by grouping similar hints together.

Similar hints are grouped together.

More insights on accessibility

Previously, the browser extension surfaced color contrast hints but did not display the current color contrast ratio. In v1, this information has been added to color contrast hints.

We’ve also made more granular category breakdowns for accessibility to help you quickly sort through recommendations.

…and more!

webhint now utilizes axe-core version 3.3.2, giving us a great performance boost. Browser extension scans now take an average of 9 seconds. We’ve also added hints for inline SVG styles, bug fixes, and more! You can see the full changelog here.

webhint ❤ open source

We saw about 30 unique contributors active on our GitHub repo since our last browser extension announcement at the end of July. That rules! 🎉 Thank you all for being part of the webhint community!

If you have feedback or would like to get involved in the future development of webhint, please find us on GitHubGitter, or Twitter.