Skip to main content
All Posts By

Robin Ginn

Application Monitoring Specialist Sentry Joins OpenJS Foundation

By Announcement, Blog

Evolution of observability in software development is moving application performance and error monitoring closer together

SAN FRANCISCO – October 21, 2021 – The OpenJS Foundation, providing vendor-neutral support for sustained growth within the open source JavaScript community, is announcing today that Sentry has joined as a new member. 

Sentry offers error tracking and performance monitoring to help developers monitor their application health from frontend to backend. Used by more than 1 million developers and 80,000 organizations worldwide, the company provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games.

“We rely on JavaScript and multiple OpenJS Foundation projects to deliver Sentry services. Key components of Sentry are community-built open source, without corporate money and highly deserving of support. Joining OpenJS is a great way to give back,” said Milin Desai, CEO, Sentry. “We look forward to working closely with OpenJS to support the open source ecosystem and bring even greater value to our customers around the world.”

Sentry is known for their history of financial support to open source projects and is announcing specifics for a new, formalized round of giving. In addition to supporting the overall operations and infrastructure of the OpenJS Foundation through its membership, project-directed funding includes four projects under the OpenJS Foundation umbrella: Ajv, ESLint, Mocha, and webpack.

“Welcome Sentry to our JavaScript community at the OpenJS Foundation,” said Robin Ginn, OpenJS Foundation Executive Director. “Sentry has long been a champion for making developers happy, and we are grateful for their support to lift up the vast JavaScript ecosystem that calls OpenJS home.” 

“It’s great to have Sentry join the industry in supporting open source JavaScript at the OpenJS Foundation,” said Todd Moore, OpenJS Foundation Board President and VP of Open Technology and Developer Advocacy at IBM. “We appreciate the strategic approach Sentry is taking to supporting the critical infrastructure and business dependencies they and many others have for OpenJS projects.”

Sentry is also making a financial contribution to the Linux Foundation to support the broader efforts of the Linux community. 

“Performance and error monitoring are key to good software development, and open source solutions lead the way,” said Jim Zemlin, executive director of the Linux Foundation. “Sentry’s thoughtful support of open source developers through its contribution to the Linux Foundation and OpenJS Foundation will help further sustain critical open source projects today.”

With a mission to help support the sustainable growth of JavaScript by operating as a neutral organization that hosts projects and funds activities, the OpenJS Foundation invites all companies that depend on JavaScript to join as members. Recently announced JavaScriptlandia provides a way for individuals to join as supporters as well. Click here to learn more and join today!

OpenJS Resources

To learn more about how you could be a part of the OpenJS Foundation, click here.

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 35 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. 

About Linux Foundation

Founded in 2000, the Linux Foundation is supported by more than 1000 members and is the world’s leading home for collaboration on open source software, open standards, and open hardware. Linux Foundation projects like Linux, Kubernetes, Node.js and more are considered critical to the development of the world’s most important infrastructure. Its development methodology leverages established best practices and addresses the needs of contributors, users and solution providers to create sustainable models for open collaboration. For more information, please visit their website.

Node.js 17 is here!

By Blog, Node.js

This blog was written by Bethany Griggs, with additional contributions from the Node.js Technical Steering Committee and project collaborators.

We’re excited to announce that Node.js 17 was released today!

Node.js 17 replaces Node.js 16 as our ‘current’ release line, with Node.js 16 being promoted to long-term support (LTS) next week. You can expect new releases of Node.js 17 approximately every two weeks, keeping you up to date with the latest features and changes. As an odd-numbered release line, Node.js 17 will not be promoted to LTS. You can read more about our release policy at https://github.com/nodejs/release.

To download Node.js v17.0.0, visit: https://nodejs.org/en/download/current/. Similarly, you can find the release post at https://nodejs.org/en/blog/release/v17.0.0, which contains the list of commits included in this release.

Some of the new changes and features delivered in Node.js 17 include:

  • Additional promisified APIs
  • Stack traces with Node.js version
  • OpenSSL 3.0 support
  • V8 JavaScript Engine is updated to 9.5

Following our Release Policy, new features that are contributed to the runtime are shipped approximately every two weeks in our ‘current’ release line. This means that the majority of new commits that are included in the initial major release (v17.0.0) are those that involve breaking changes. We care about minimizing the number and disruption of these breaking changes for the stability of the platform and to make version migrations easier for our users.

Additional Promisified APIs

A continuing strategic initiative within the Node.js project is to provide promise-based Node.js core APIs. In recent years, we have added the Timers Promises API and Streams Promises API (both available since Node.js 15).

In Node.js 17, we introduce promise-based APIs for the Readline module. The readline module provides an interface for reading data from a Readable stream (such as process.stdin) one line at a time.

The following simple example illustrates the basic use of the readline module:

import * as readline from 'node:readline/promises';

import { stdin as input, stdout as output } from 'process';

const rl = readline.createInterface({ input, output });

const answer = await rl.question('What do you think of Node.js? ');

console.log(`Thank you for your valuable feedback: ${answer}`);

rl.close();

You can read more about the Readline module in the API documentation.

OpenSSL 3.0

Node.js now includes the recently released OpenSSL 3.0, specifically quictls/openssl, upgraded from OpenSSL 1.1.1. OpenSSL 1.1.1 will reach the end of support on 2023-09-11 (from OpenSSL Release Strategy), which is before our proposed End-of-Life date for Node.js 18 (LTS). For this reason, we have decided to include OpenSSL 3.0 in Node.js 17 to provide time for user testing and feedback before the next LTS release.

Among the new features in OpenSSL 3.0 is the introduction of Providers, of which one is a FIPS provider which can be enabled in Node.js. For details about how to build Node.js with FIPS support please see BUILDING.md.

While OpenSSL 3.0 APIs should be mostly compatible with those provided by OpenSSL 1.1.1, we do anticipate some ecosystem impact due to tightened restrictions on the allowed algorithms and key sizes. 

If you hit an ERR_OSSL_EVP_UNSUPPORTED error in your application with Node.js 17, it’s likely that your application or a module you’re using is attempting to use an algorithm or key size which is no longer allowed by default with OpenSSL 3.0. A new command-line option, --openssl-legacy-provider, has been added to revert to the legacy provider as a temporary workaround for these tightened restrictions.

Example usage:

$ ./node --openssl-legacy-provider  -p 'crypto.createHash("md4")'

Hash {
  _options: undefined,
  [Symbol(kHandle)]: Hash {},
  [Symbol(kState)]: { [Symbol(kFinalized)]: false }
}

For more details on the OpenSSL 3.0 release please see the OpenSSL 3.0 release post.

Stack traces with Node.js version

Stack traces are an essential part of diagnosing application errors, helping to provide visibility into what has gone wrong. In Node.js 17, the Node.js version will be included at the end of the stack trace when there is a fatal exception that causes the process to exit.

It’s useful to provide this by default as often when diagnosing reported errors one of the first questions asked will be “What Node.js version are you using?”

Node.js 17 also comes with a command-line option, --no-extra-info-on-fatal-exception, to omit this extra information.

V8 9.5

In Node.js 17.0.0, the V8 JavaScript engine has been updated to V8 9.5. (V8 9.4 is the latest available in Node.js 16).

Along with performance tweaks and improvements, this update comes with additional supported types for Intl.DisplayNames API and Extended timeZoneName options in the Intl.DateTimeFormat API.

You can read more details in the V8 9.5 release post – https://v8.dev/blog/v8-release-95.

Node.js 16 promoted to long-term support

Next week, Node.js 16 will be promoted to long-term support. This is a significant milestone, as many users, particularly those operating production deployments, will opt to only use the long-term supported versions of Node.js. This means for the first time some features will be available in a long-term supported release line.

Node.js 16 and later include Corepack, a script that acts as a bridge between Node.js projects and the package managers they are intended to be used with during development. In practical terms, Corepack will let you use Yarn and pnpm without having to install them. Read more about Corepack in the documentation

In Node.js 16, the V8 JavaScript Engine is V8 9.4. It’s through the V8 JavaScript Engine upgrades that Node.js gains the new JavaScript language features. In Node.js 16, we have gained the following language features:

  • Array.prototype.at (from V8 9.2)
  • ECMAScript RegExp Match Indices (from V8 9.0)
  • Errors with cause (from V8 9.3)
  • Object.hasOwn (from V8 9.3)

Other features new to LTS in Node.js 16 include npm 8 and the Experimental Web Streams API.

Node.js 16 is also the first LTS release where we ship prebuilt binaries for Apple Silicon. We provide separate tarballs for the Intel (darwin-x64) and ARM (darwin-arm64) architectures, with the macOS installer (.pkg) shipped as a fat (multi-architecture) binary.

Other project news

The project is also continuing its Next 10 effort. The goal of this effort is to reflect on what led to success in the first 10 years of Node.js and set the direction for success in the next 10. Initial efforts were focused on defining and documenting the project’s technical values and priorities.

Our next steps on this effort are to host deep-dive sessions on specific topics, with improving documentation and growing our contributions being two of the first topics we plan to discuss.

We welcome you to join our meetings, which can be found on the Node.js Calendar.

Call to Action!

Try out the new Node.js 17 release! We’re always happy to hear your feedback. Testing your applications and modules with Node.js 17 helps to ensure the future compatibility of your project with the latest Node.js changes and features.

Now is also a good time to start planning to upgrade to Node.js 16, which is due to be promoted to long-term support next week. Node.js 16 will continue to be supported until April 30th, 2024.

Also of note is that Node.js 12 will go End of Life in April 2021, so we advise you to start planning to upgrade if you are still using Node.js 12.

For the timeline of Node.js releases, check out the Node.js Release Schedule.

Thank you!We’d like to thank all of the Node.js collaborators and contributors, as this release is a sum of all their efforts.

Specifically, thank you to the Node.js Release Working Group for maintaining and producing Node.js releases and the Node.js Build Working Group for keeping the project infrastructure running.

Retiring the Node.js Community Committee

By Blog, Node.js

This blog was originally authored by Tierney Cyren and posted on the nodejs.org blog on October 7, 2021.

tl;dr: we’re going to be retiring the Node.js Community Committee, moving our existing Initiatives to exist under the Node.js Technical Steering Committee (TSC).

From the Community Committee’s side, we’ve seen a convergence of our initiatives’ goals with the goals of the work that is generally under the TSC. Further, we’ve seen a decline in the number of people who can consistently dedicate the necessary amount of time/energy. As such, separation between the TSC and Community Committee has become more of a barrier to accomplishing our collective goals rather than the helpful and necessary construct it once was.

The Past

I want to start with a bit of history as a form of preservation of the context I’ve collected as the Community Committee’s chair for the majority of its existence.

On January 11th, 2017, Tracy Hinds made the first commit to the nodejs/community-committee repository. This commit was the result of in-person discussion with a number of key Node.js community members at the 2016 North America Collaborator Summit in Austin, Texas, though there’d been a rising discourse to push for something like it for some time in various forums including the (now-archived) Inclusivity WG.

The stated goal of the Community Committee has been to be a top-level commitment of and investment in the Node.js project to support community efforts.

At the time, this was particularly important. Node.js as a project was still figuring out its identity as a project independent from a Corporation while existing in a neutral Foundation. The Node.js community was foundational not only in the project’s success – be it in the v0.x era in the early 2010s, during the io.js fork, or post-reunification – and those starting the Committee wanted to be sure that we were effectively representing and enabling that from the project directly.

The Present

Since the creation of the Node.js Community Committee, members have largely spent project and committee time on outward-facing efforts with the goal of continuing to enable and grow the Node.js community. There’ve been multiple facets to this approach, some of which have been relatively successful and others that have been entirely unsuccessful.

The broad trend that I’ve personally witnessed is that the Community Committee’s interest and activity have slowed dramatically since its inception. My perception is that this is due to a couple of different factors:

  • Sponsorship and Investment:
    • A majority of work in Node.js is done by people who can dedicate non-trivial amounts of their paid time to progress the project, sponsored by their employer. Initially, there was already a small number of people who were able to focus their employer-sponsored time on “community” work – work that doesn’t ship features they need – in Node.js, and that number has only gone down over time.
      • do not think that this will be a universal experience in open source. Several other massive-scale projects are relatively successful in approaching this. They also have fundamentally different models and investment than Node.js does, which is likely a contributing factor to their sustainability. The Electron Outreach WG and the Kubernetes Contributor Experience SIG are both good examples of “success” here, in my opinion.
    • In general, JavaScript occupies a relatively unique space. It is ubiquitous, yet very few companies are willing to substantially invest time, energy, and resources into it despite their reliance on it. Lack of investment into community sustainability is one facet of this.
  • Necessity:
    • The Node.js Community Committee was created at a time in which the Node.js project was larger, with louder voices sharing relatively differing opinions on how we should approach the future. The reality is that we’re smaller now than we were then, and there’s generally less conflict around how we should approach community, safety, and governance. As such, the necessity for a distinct “community” focus is not only less but – in my opinion – actively detrimental to progress. It splits the project’s collaborators into different, disconnected groups rather than unifying the project towards the same goal.
    • The Node.js Community Committee was also created at a time when Node.js was relatively alone. Under the Node.js Foundation, we had to do a lot of community organization within the project directly. Under the OpenJS Foundation, we have shifted several initiatives that the Community Committee was charged with under the Node.js foundation up to the OpenJS Foundation Cross-project Council. As such, certain tasks that we initially envisioned being core to the Community Committee are now living in a different home.

The Future

I don’t believe that retiring the Node.js Community Committee means we’ll see a lack of investment in the community from the Node.js project.

Rather, I think it’s an enabling function for Node.js to continue to sustainably invest in the community. This means fewer barriers, more connectedness, and allowing for resilience in the ebb and flow of those who can invest to do so.

I look forward to what we’ll collectively work on next.

A Big, Heartfelt Thanks

Over the years, we’ve seen dozens of people contribute to the Node.js Community Committee and its initiatives, and I’d like to be explicit:

Y’all have been lovely over the past five years. You all care deeply about the Node.js ecosystem, community, and people. It’s been truly a privilege to have the opportunity to work on something like this with each and every one of you.

As we retire the CommComm, I hope that you see this as yet another evolution of the Node.js project’s commitment to the community… just as the CommComm itself was.

OpenJS World 2021 Keynote Recap: Building Great Web Experiences with AMP and TensorFlow

By Blog, OpenJS World

During the OpenJS World Keynote Panel, Jeffrey Jose and Sandeep Gupta spoke on the best practices to follow to create great web experiences and the importance of machine learning to create an interactive and communicative web app.

As user expectations have evolved, web developers have a greater responsibility of evolving with them to create great unique web experiences. 

Jeffrey Jose, Product Manager at Google working on AMP, spoke with Sandeep Gupta, Product Manager on TensorFlow at Google. This keynote session is divided into sections. The first part takes a look at how page experience and AMP work together. Then Gupta explains the use of Tensorflow.js to harness the power of machine learning to build novel experiences for the web.

Jose goes on to explain that a useful way of understanding User Experience is by using the four UX Pillars: Loading, User Annoyance, Security & Privacy, and Accessibility. Additionally, the core of vitals are not just a set of metrics but also a set of threshold guidance that map to user expectations. To further illustrate this, Jose gives the example of how the Chrome team has done a lot of research to come up with guidance to create a metric of performance.

Gupta emphasizes that Machine Learning touches our lives daily as it is spread across multiple fields like healthcare and education. It gives people new ways of interacting. An example of how Machine Learning is improving web experience and communication is how L’oreal uses it for a virtual make-up try on experience.

In their concluding thoughts, they encourage other users to continue following best practices for creating a better web experience. Machine Learning is an important component of this and gives your web application “superpowers.” 

Full video here

Broken down by section:

  • Speaker introduction 0:02
  • The Web 0:28
  • UX Pillars 1:16
  • Page Experience 2:13
  • PX Signals 2:26
  • Thresholds 4:58
  • ML and Web Experience 9:26
  • Does this mean you must learn Python? 12:16
  • An example of text search using the Q & A model 14:46
  • Object Recognition 16:58
  • Train your own custom models 18:03

OpenJS World 2021 Keynote Recap: Game Design Thinking + Social Justice with Ashlyn Sparrow, Assistant Director, Weston Game Lab

By Blog, OpenJS World

During OpenJS World, which was held virtually June 2-3, 2021, we heard from many inspiring people involved in all areas of technology. The presentations are recorded and available for free through the OpenJS Foundation. We are highlighting key points from those valuable contributions here.  

Ashlyn Sparrow, assistant director of the Weston Game Lab, gave a keynote entitled “Game Design Thinking + Social Justice” on how the world of gaming not only influences billions of people across the world, but also how it has a remarkable effect on their social thinking and capacities.  

Games have evolved into a cultural phenomenon and a multibillion-dollar industry. Games like Minecraft, Call of Duty, Among Us and Pokémon Go have seen a dramatic number of downloads within a very short period of time. The most fascinating aspect of gamers is their average age of 37 which explains how games of all kinds, regardless of their medium, influence people of all ages. While describing how fascinating the gaming environment is, Ashley brings up the transmedial (meaning a large number of different media) nature of games. There are board games, card games, computer games, that are all making an impact and establishing a loyal following of their own.  

Gamification and inventive reassuring  

Many things in our daily lives are gamified. Gamification is the process of incorporating gaming objects into non-gaming references. The most notable example of this is how technological advancements use gamification to enhance user personalization. For instance, Fitbit rewards users with stars as an appreciation for achievement. Similarly, Khan Academy rewards students with badges for reaching academic milestones.  

Games are everywhere and influence major aspects of our day-to-day lives.  

Games and social impact 

Gaming allows for mistakes and creativity. If you fail an English test in school, it can have a negative implication on your academic career. However, there are no strict penalties for failing to unlock a mission in a game. It is more of a friendly suggestion encouraging you to do better.  

Results of any kind can be optimized and improved when a safe space for mistakes and failures exists, along with opportunities to recover. This is one of the aspects of gaming that gets people hooked. When people are given a space to grow in an environment where they have power and control over how they navigate, they aspire to succeed by failure, experimentation and improvement.  

This ideal environment is what every single game is based on: room for errors and improvements.  

Graphical user interface, website

Description automatically generated

Seeing the World as a Game Designer 

Just as a game designer considers dynamics, narratives, aesthetics and socio-cultural implications, individuals should think about themselves while also seeking different perspectives.  

A game designer will consider both experts and novices when creating a game, resulting in the concept of difficulty level. Just like a game designer will go to great lengths to make it a pleasurable experience for the audience, an individual must seek out the people they wish to surround themselves with and choose the characteristics and skills they want to inculcate in themselves.  

Just as a game has the same set of rules, gifts, and unlocks for all players regardless of their background, social problems can be eradicated when opportunities and rewards are equitable for all.  

Conclusion  

The most intriguing feature of a game is its inclusiveness and adaptability. A gamer in the west would play Call of Duty the same way as one in the east. Games make no distinctions based on social status.  

Ashley explains in her concluding statements why it is essential to consider the most marginalised people of society. This is vital because the people on the edge will be able to deliver better improvements and insights to what you ultimately want should benefit all. Just like a game designer would consider people of all kinds while drafting the overview of a game, all social decisions should be configured including people on all levels of society. 

Watch original video – https://youtu.be/6jjBe2ZiVKU  

  • 00:00– Introduction
  • 00:32– Gaming as an industry
  • 04:19– Definition of a game
  • 05:19– Elements of a game
  • 07:48– Game designs and socio-cultural systems
  • 10:45– Games and Social impact
  • 17:16– Redesigning system for the future 

OpenJS Foundation Opens New Node.js Certification and Training Scholarship

By Announcement, Blog, Certification, Node.js

Today, the OpenJS Foundation is launching a new scholarship fund to increase access to the OpenJS and Linux Foundation Training (LiFT) Node.js training and certification and help expand diversity in technology. 

The scholarships are being sponsored by the OpenJS Foundation Cross Project Council Community Fund, who will award 20 LiFT Scholarships for Node.js training and certification for deserving individuals who would otherwise be unable to afford it. The OpenJS Foundation is committed to bringing more talent into the open source JavaScript community, which involves reaching people who have traditionally been underrepresented in open source.  

The application is open now through October 15, 2021. Interested applicants are encouraged to complete the application.

Qualifications for applying

The OpenJS Foundation Cross Project Council (CPC), the technical governing body for OpenJS, is offering scholarships to provide opportunities for Node.js skills development to deserving individuals who would otherwise be unable to afford training courses or certification exams.

Global applicants’ must demonstrate a passion for Node.js technologies, have intermediate Node.js skills, and a proven interest in becoming an open source professional. 

What’s covered?

The OpenJS CPC Scholarships will cover the expenses for one Node.js eLearning class and one Node.js certification exam offered by the OpenJS and The Linux Foundation at no cost. 

American Express Joins OpenJS Foundation

By Announcement, Blog

Investing in technology to further financial services globally, providing secure and collaborative development environments through Amex for Developers and Amex APIs

SAN FRANCISCO – September 15, 2021 – The OpenJS Foundation, providing vendor-neutral support for sustained growth within the open source JavaScript community, is announcing today that American Express has joined as a new member. 

As a globally integrated payments company, American Express understands the key role developers play in building next-generation financial service applications and tools. The Amex for Developers portal shares Amex APIs and provides developers with best practice guidelines, documentation and support. Many American Express engineers contribute to OpenJS Foundation projects, and Amex is committed to backing the broader engineering community through open source.

“Open source ignites innovation,” said Brian Moseley, Vice President of Developer Experience at American Express. “We are dedicated to sustaining and supporting critical open source projects that underpin the JavaScript ecosystem. Joining the OpenJS Foundation is a natural next step to deepen that commitment and help us continue to back engineers and developers.”

“American Express is a major proponent of the use of open source, building the next generation of financial services tools and services,” said Robin Ginn, OpenJS Foundation Executive Director. “Fintech is evolving at lightning speed, and American Express is providing a key leadership role. American Express is committed to improving the infrastructure that supports open source and we are excited to work together on the next phase of JavaScript growth and development.” 

“JavaScript continues to be a core piece of many companies’ success, and the community thanks you American Express for your generous support. The OpenJS Foundation is positioned well to pursue its mission of driving broad adoption and ongoing development of key JavaScript solutions and related technologies,” said Todd Moore, OpenJS Foundation Board Chairperson. “We welcome American Express as an OpenJS Foundation member and look forward to continued collaboration.”

With a mission to help support the sustainable growth of JavaScript by operating as a neutral organization that hosts projects and funds activities, the OpenJS Foundation invites all companies that depend on JavaScript to join as members. Recently announced JavaScriptlandia provides a way for individuals to join as members as well. Click here to learn more and become a member today!

OpenJS Resources

To learn more about how you could be a part of the OpenJS Foundation, click here.

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 35 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. 

About American Express
American Express is a globally integrated payments company, providing customers with access to products, insights and experiences that enrich lives and build business success. Learn more at americanexpress.com and connect with us on facebook.com/americanexpressinstagram.com/americanexpresslinkedin.com/company/american-expresstwitter.com/americanexpress, and youtube.com/americanexpress.


About Linux Foundation

Founded in 2000, the Linux Foundation is supported by more than 1000 members and is the world’s leading home for collaboration on open source software, open standards, and open hardware. Linux Foundation projects like Linux, Kubernetes, Node.js and more are considered critical to the development of the world’s most important infrastructure. Its development methodology leverages established best practices and addresses the needs of contributors, users and solution providers to create sustainable models for open collaboration. For more information, please visit their website.

An update on how AMP is served at the OpenJS Foundation

By AMP, Blog, Project Update

When the AMP project moved to the OpenJS Foundation in 2019, our technical governance leaders shared a plan to separate the AMP runtime from the Google AMP Cache, and host the AMP runtime infrastructure at the vendor-neutral OpenJS Foundation. OpenJS is happy to report that this complex task of re-architecting the AMP infrastructure is making tremendous progress thanks to input and guidance from the AMP Technical Steering Committee (TSC) and AMP Advisory Committee, as well as thanks to the AMP Project and OpenJS teams for coming together despite the work and life challenges that were sometimes faced during the pandemic.

About AMP

AMP is a multi-stakeholder open source project used across a broad range of organizations to increase web performance. It’s a web component framework with a collection of complementary technologies that help publishers easily create websites that load quickly and predictably on different networks and devices.

Today AMP powers nearly 10 billion web pages worldwide, and is implemented by Google, Microsoft Bing, Pinterest and Pantheon, among others.

An AMP Cache is a cache of validated AMP documents published to the web, which allows the documents to be served more quickly than if they were generated by the original site each time they were displayed. Two of the largest AMP Caches are operated by Google and Microsoft, each of whom use the foundations developed by the AMP open source project to build their own commercial AMP Cache. This is a similar model to how most commercial products are built today with open source projects such as Linux and other JavaScript technologies such as Electron and Node.js.

Understanding how the AMP runtime will be served moving forward

The AMP runtime is a piece of JavaScript technology that a developer can add to their website to be able to use AMP components for building their website. By using AMP components, their pages become eligible to be hosted by an AMP cache. Some websites may choose to host the AMP runtime files themselves, while others may want to rely upon the AMP runtime soon hosted by the OpenJS Foundation to deliver the latest version of the code on demand. Ultimately, the choice is up to the developer. Please note that  documents served from the Microsoft or Google AMP Caches will still download the runtime from the specific AMP Cache itself.

The AMP runtime itself is developed openly and transparently in the AMP Performance Working Group. This part of AMP will not change, as the goal in moving to the OpenJS Foundation was to ensure this work could continue under a vendor-neutral nonprofit, and this is still a high priority. What’s new is that after disentangling the AMP runtime from the Google AMP Cache, the OpenJS Foundation will manage the servers that deliver the AMP runtime files (the download server and the CDN). As planned, the OpenJS Foundation has been involved in the implementation of hosting the CDN and has been spending additional time to fully understand the technical requirements.

Hosting project infrastructure is a core service of our Foundation – it’s one of many ways we help maintainers manage the stability and delivery of their open source projects. The way OpenJS hosts the AMP runtime infrastructure will be very much like how we support the infrastructure for the popular jQuery CDN, which performs a similar function and distributes 2.2 petabytes of jQuery libraries per month. We are working with Cloudflare to host the AMP runtime CDN. OpenJS Foundation projects benefit from the goodwill of Cloudflare’s contribution to open source through its free Cloudflare Enterprise program, in addition to other CDN providers who support other OpenJS communities. 

As an umbrella organization, the OpenJS Foundation has a governance model that gives a strong voice to its projects. Each of the projects are run independently at the direction of their core maintainers or Technical Steering Committees, as is this case with the AMP TSC. At the same time, OpenJS takes on the non-development aspects of the projects, ranging from infrastructure support to marketing, to help our projects grow and get better every day.

We are thrilled to be making this change to help the open source AMP Project continue to grow and diversify its contributors as they all work to make great experiences for the web.

If you have any questions about OpenJS please reach out to me at rginn@openjsf.org, or on our Slack workspaces: OpenJS Foundation or AMP. If you have any AMP Project specific questions please feel free to reach out via GitHub.

Posted by Robin Ginn, Executive Director, OpenJS Foundation

Happy 25th Anniversary JavaScript

By Announcement, Blog

At the OpenJS Foundation, we owe so much to JavaScript. With more than 97 percent of the world’s websites using JavaScript, it is the foundation for online commerce, economic growth, and innovation. 

Happy Anniversary, JavaScript!

On December 4, 1995, Netscape and Sun announced the creation of JavaScript, “an open source, cross-platform language for enterprise networks and the Internet.”  

At this year’s OpenJS World, we had the honor of hosting Allen Wirfs-Brock, an authority on JavaScript history, for a fireside chat with Alex Williams, the founder and editor in chief of The New Stack. In this talk, “Exploring the History of JavaScript,” The OpenJS World audience got a front-row seat for an intriguing conversation packed with insights from Wirfs-Brock, who was the project editor for the ECMAScript Language Specification, the international standard that defines the latest version of the JavaScript programming language. For those interested in exploring the colorful 25-year history of JavaScript, we encourage you to check out this talk. 

Today, JavaScript is the common language that brings us to work and into our amazing community each and every day, and we want to take its 25th Anniversary to say thank you and reflect on the amazing year we had.

The open source projects that are hosted with the OpenJS Foundation are the heart of what makes the Foundation. The collaboration, innovative tech, and most importantly, the amazing people are what make the OpenJS Foundation special. This year was a great year for our projects, from new releases to bringing on incubation projects. We thank all project contributors for the important work you do.

We are so thankful to our members for their continued support of the OpenJS Foundation. So far this year, we welcomed Skyscanner and Netflix as the newest members of the OpenJS Foundation.

Thank you to our Board for your time, expertise, and leadership as we continue on our mission to drive broad adoption and ongoing development of key JavaScript solutions and related technologies.

While it hasn’t been a typical year for any of us, this community never ceases to amaze when it comes to pivoting and innovating to continue on our path to grow, learn, and collaborate. For those who have experienced loss this year, we see you, and we thank you for being here.