Fastify is an open source web framework for Node.js focused on providing one of the best developer experiences with the least overhead and a powerful plugin architecture. They are joining the OpenJS Foundation’s incubation program.
Fastify, inspired by Hapi and Express, is built for speed while offering a solid developer experience. It powers large organizations and products, including CAR2GO, Gumlet, Knock, UNIQ, Unhandled, and Vectra. Fastify is partially sponsored by NearForm.
Fastify already has 12.5K GitHub stars and 804 GitHub forks. This kind of growth brings more business and legal issues along with it. By joining OpenJS Foundation, Fastify is looking to create a neutral community structure ready to scale.
Highly performant: Can serve up to 80 thousand requests per second, as the framework adds no overhead to Node.js core.
Extendible: Fully extensible via lifecycle hooks, plugins and decorators
Schema based: Recommend using JSON Schema to validate routes and serialize outputs
Developer friendly: Built to be expressive and to “help the developer in their daily use, without sacrificing performance and security”
“We’ve been working on Fastify now for 3 years. It was born out of a desire for a HTTP framework with extremely low overhead and astonishing speed,” said Matteo Collina, Project Champion. “We are delighted to see it powering many organizations today – in commercial use and in support of humanitarian causes such as the HospitalRun application where Fastify is enabling a unique modular solution thanks to its plug-in system, developer satisfaction, and framework speed. By joining OpenJS Foundation’s incubation program, Fastify will no doubt open significant new and unimagined opportunities for the future.”
For those curious about contributing to Fastify, their core philosophy is to promote contributions from the community, rather than just have a core team pushing forward a specific agenda.
Why not start now? The Fastify GitHub repo README file provides installation instructions using npm or yarn, and shows how to use Fastify CLI to create new projects, manage plugins, and perform a variety of development tasks testing and running the application. Full details here: www.fastify.io
At the end of October, the Linux Foundation hosted Open Source Summit + Embedded Linux Conference Europe in Lyon, France.
The OpenJS Foundation was front and center, as Robin Ginn, OpenJS Foundation Executive Director, gave a keynote on her new position leading the Foundation as well as the work that has been underway.
Robin highlighted recently accepted projects into the incubation program, the new Node.js Certifications, and innovative use cases from our hosted projects.
This talk was a great opportunity to get in front of the open source community and share not only the Foundation’s goals and vision, but also how the community can get involved and help the Foundation grow.
If you are interested in becoming involved in the Community Committee, head to the CommComm README on Github and get connected. Additionally, the AMA panelists encourage you to reach out directly to help you get plugged in!
The OpenJS Foundation recently started a new AMA initiative where we sit down with experts on certain topics and get community questions answered.
For our first AMA, we sat down with Anatoli Papirovsk and Stephen Belanger on HTTP, Streams. Check out the replay and we hope you’ll join us for the next AMA happening November 6th where we will be speaking with the Node.js Community Committee. Submit your questions here.
By Robin Ginn, Executive Director at the OpenJS Foundation
Since launching our Node.js professional certification program yesterday, we’ve received feedback and concerns around the pricing of these exams. As a foundation that exists to support open source projects, we aim to continually improve from community input. For those who have taken the time to offer up their suggestions, we really appreciate it.
We will continue to explore ways to make the Node.js certification program more open and accessible for diverse communities including a broad range of socioeconomic backgrounds and geographical locations. We’re seeking to partner with community-focused organizations who can potentially bridge gaps and create access, of course pending the specific solution.
We are eager to collaborate with the community on the best solution and would invite anyone interested in providing further feedback on these initiatives to let us know by filling out this form or directly mentioning the OpenJS Foundation on Twitter.
The certifications focus on critical skills that Node.js developers need to build Node.js applications and services in professional environments; Certification is valid for three years with a renewal option
“The OpenJS Node.js professional certification programs are designed to help developers demonstrate their Node.js proficiency in real-world environments and provide them with the knowledge to bring these technologies to their respective organizations,” said Robin Ginn, OpenJS Foundation Executive Director. “The exams provide a framework, developed by expert practitioners from the Node.js community, that illustrates the range of skills for experienced developers. We are excited to provide these certifications through the OpenJS Foundation as a clear, vendor-neutral way of showcasing key Node.js abilities.”
“As a leading telecommunication company serving millions of Canadian customers, a skilled technical talent pipeline is crucial to our continued success at TELUS,” said Luca Maraschi, Principal Architect at TELUS. “Given our role in the alpha testing of these certifications, we are confident that they will highlight the right skills of Node.js developers and we are excited to have these programs available to ensure our developer community continues to thrive.”
“The arrival of these exams is an exciting step for the OpenJS Foundation as it represents another way for us to support developers within the community,” said Todd Moore, OpenJS Foundation Board Chair. “We look forward to having these tests available on the market and for the diverse set of Node.js developers to take these exams, get certified and showcase their knowledge of this crucial technology.”
“The availability of certification is a big milestone for the Node.js project. We now have formal materials and exams available which will support the next wave of adoption of node.js in the enterprise,” said Cian Ó Maidín, NearForm CEO & Founder. “We’re proud of the work all of the partners have put into making this happen.”
“We are thrilled to see this important initiative come to life, and are proud to have been a part of creating this opportunity to enable developers to validate their skills with certification,” said Russ Whitman, CEO of NodeSource. “Backed by the Foundation, supported by NodeSource and key community members we hope this will advance Node.js adoption and the amazing products and services being developed. We couldn’t be more excited.”
OpenJS Node.js Application Developer (JSNAD)The OpenJS Node.js Application Developer certification is ideal for the Node.js developer with at least two years of experience working with Node.js. For more information and how to enroll: https://training.linuxfoundation.org/certification/jsnad/
OpenJS Node.js Services Developer (JSNSD) The OpenJS Node.js Services Developer certification is for the Node.js developer with at least two years of experience creating RESTful servers and services with Node.js. For more information and how to enroll: https://training.linuxfoundation.org/certification/jsnsd/
Both exams are two hours long, performance-based exams delivered via a browser-based terminal and each includes an automatic free retake (if needed). Exams are monitored by a live human proctor and are conducted online in English. Certification is valid for three years and includes a PDF Certificate and a digital badge. Corporate pricing for groups of five or more is available.
Supporting Quotes from Test Takers
Steve Toro, Software Engineer, Addigy Technology Great job on this exam! It definitely exposes the knowledge you’re missing from the core node.js packages. It’s not enough to use Node and Express for web development for this one.
Oleksandr Zhurbenko, Full Stack Developer, Scotiabank This is the first time I took the exam in the live coding format. Even though I didn’t have enough time to finish it, I still loved the process. I wish there were more exams like this. Great job!
Yerko Palma, Senior Developer, Chilena Consolidated This exam format is ideal, and all programming/tech exams should be set up this way. It provides for a much more accurate evaluation of people’s skills over any other format because it mirrors every-day tasks for node.js devs.
Luke Chinworth, Web Developer, Solid Digital I liked that the questions were directly related to real world tasks.
Vinicius Mussak, Microsoft MVP / Project Coordinator, SMN Technologies I very much like the real code, API construction, requests, because it reflects our day jobs in our companies.
Nathaniel Burgwyn, Beta Tester This feels really close to what I feel the exam should be. As a manager, I would feel confident in a candidate who possessed this certification.
AMP enters the open source foundation to broaden open governance, drive diverse, cross-industry adoption and continue improving the web for all.
“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
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.
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”
“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.”
Supported platforms: any POSIX-compliant shell: Linux, OS X, Windows WSL
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!
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!
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!
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.
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.
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.
This October, the OpenJS Foundation, in collaboration with our hosted projects, is starting a brand new “Ask Me Anything” series where community members, developers, and other curious parties can get burning questions answered regarding specific projects and topics.
We are starting this initiative because of the popularity of the live AMA from the last Collab Summit in Berlin. We know not everyone can make those events, and why should we wait 6 months or more to talk about the cool things that are going on in the hosted projects?
We are kicking off this initiative on October 16 with The Node.js Project on “HTTP, Streams”. It will be from 7:00 am to 8:00 am PST. Our panelists will be Anatoli Papirovsk and Stephen Belanger.
If this is a topic you’d like to join us for, fill out this form and we’ll get all the details delivered to you! To make sure we have plenty of things to discuss and answer, you can also send us your questions on this topic.