Deliver to:
Oracle Corporation
2300 Oracle Way
Austin, TX 78741
United States of America

Oracle, it’s time to free JavaScript.

Dear Oracle,

You have long ago abandoned the JavaScript trademark, and it is causing widespread, unwarranted confusion and disruption.

JavaScript is the world’s most popular programming language, powering websites everywhere. Yet, few of the millions who program in it realize that JavaScript is a trademark you, Oracle, control. The disconnect is glaring: JavaScript has become a general-purpose term used by countless individuals and companies, independent of any Oracle product.

Oracle’s hold on the JavaScript trademark clearly fits the legal definition of trademark abandonment. A previous blog post addressed this issue, requesting that you, Oracle, release the trademark. Unsurprisingly, the request was met with silence. It is therefore time to take active steps in order to bring the JavaScript trademark into the public domain, where it belongs.

Trademark abandonment

Title 15 of the United States Code, section 1127, states:

mark shall be deemed to be “abandoned” if either of the following occurs:

  1. When its use has been discontinued with intent not to resume such use. Intent not to resume may be inferred from circumstances. Nonuse for 3 consecutive years shall be prima facie evidence of abandonment. “Use” of a mark means the bona fide use of such mark made in the ordinary course of trade, and not made merely to reserve a right in a mark.
  2. When any course of conduct of the owner, including acts of omission as well as commission, causes the mark to become the generic name for the goods or services on or in connection with which it is used or otherwise to lose its significance as a mark. Purchaser motivation shall not be a test for determining abandonment under this paragraph.

In the case of JavaScript, both criteria apply.

Netscape, Sun, Oracle

The JavaScript trademark is currently held by Oracle America, Inc. (US Serial Number: 75026640, US Registration Number: 2416017). How did this come to be?

In 1995, Netscape partnered with Sun Microsystems to create interactive websites. Brendan Eich famously spent only 10 days creating the first version of JavaScript, a dynamic programming language with a rough syntactic lineage from Sun’s Java language. As a result of this partnership, Sun held the JavaScript trademark. In 2009, Oracle acquired Sun Microsystems and the JavaScript trademark as a result.

The trademark is simply a relic of this acquisition. Neither Sun nor Oracle has ever built a product using the mark. Legal staff, year after year, have renewed the trademark without question. It’s likely that only a few within Oracle even know they possess the JavaScript trademark, and even if they do, they likely don’t understand the frustration it causes within the developer community.

Use it or lose it

Oracle has abandoned the JavaScript trademark through nonuse.

Oracle has never seriously offered a product called JavaScript. In the 1990s and early 2000s, Netscape Navigator, which supported JavaScript as a browser feature, was a key player. However, Netscape’s usage and influence faded by 2003, and the browser saw its final release in 2008. JavaScript, meanwhile, evolved into a widely used, independent programming language, embedded in multiple browsers, entirely separate from Oracle.

The most recent specimen, filed with the USPTO in 2019, references nodejs.org (a project created by Ryan Dahl, the author of this letter) and Oracle’s JavaScript Extension Toolkit (JET). But Node.js is not an Oracle product, and JET is merely a set of JavaScript libraries for Oracle services, particularly Oracle Cloud. There are millions of JavaScript libraries; JET is not special.

(Oracle is not even a member of the OpenJS Foundation - the body that the Node.js project lives under now. Nor does Oracle have any involvement whatsoever in the development of Node.js.)

Oracle also offers GraalVM, a JVM that can execute JavaScript, among other languages. But GraalVM is far from a canonical JavaScript implementation; engines like V8, JavaScriptCore, and SpiderMonkey hold that role. GraalVM’s product page doesn’t even mention “JavaScript”; you must dig into the documentation to find its support.

Oracle’s use of JavaScript in GraalVM and JET does not reflect genuine use of the trademark. These weak connections do not satisfy the requirement for consistent, real-world use in trade.

A generic term

A mark can also be considered abandoned if it becomes a generic term.

In 1996, Netscape announced a meeting of the ECMA International standards organization to standardize the JavaScript programming language. Sun (now Oracle), refused to give up the “JavaScript” mark for this use though, so it was decided that the language would be called “ECMAScript” instead. (Microsoft happily offered up “JScript”, but no-one else wanted that.) Brendan Eich, the creator of JavaScript and a co-signatory of this letter, wrote in 2006 that “ECMAScript was always an unwanted trade name that sounds like a skin disease.”

Ecma International formed TC39, a technical steering committee, which publishes ECMA-262, the specification for JavaScript. This committee includes participants from all major browsers, like Google’s Chrome, Apple’s Safari, and Mozilla’s Firefox, as well as representatives from server-side JavaScript runtimes like Node.js and Deno.

Oracle’s ownership of the JavaScript trademark only causes confusion. The term “JavaScript” is used freely by millions of developers, companies, and organizations around the world, with no interference from Oracle. Oracle has done nothing to assert its rights over the JavaScript name, likely because they do not believe their claim to the mark would hold up in court. Unlike typical trademark holders who protect their trademarks by extracting licensing fees or enforcing usage restrictions, Oracle has allowed the JavaScript name to be used by anyone. This inaction further supports the argument that the trademark has lost its significance and has become generic.

Programmers working with JavaScript have formed innumerable community organizations. These organizations, like the standards bodies, have been forced to painstakingly avoid naming the programming language they are built around—for example, JSConf. Sadly, without risking a legal trademark challenge against Oracle, there can be no “JavaScript Conference” nor a “JavaScript Specification.” The world’s most popular programming language cannot even have a conference in its name.

There is a vast misalignment between the trademark’s ownership and its widespread, generic use.

Free the mark

By law, a trademark is abandoned if it is either not used or becomes a generic term. Both apply to JavaScript.

It’s time for the USPTO to end the JavaScript trademark and recognize it as a generic name for the world’s most popular programming language, which has multiple implementations across the industry.

Oracle, you likely have no real business interest in the mark. It’s renewed simply because legal staff are obligated to renew all trademarks, regardless of their relevance or use.

We urge you to release the mark into the public domain. However, asking nicely has been tried before, and it was met with silence. If you do not act, we will challenge your ownership by filing a petition for cancellation with the USPTO.

To you, the readers of this letter:

If you agree with us, you are encouraged to sign this open letter below. Your support will help raise awareness and add weight to this cause. If you want to sign as an organization (minimum 25 employees), please email companies@javascript.tm.

In addition, we’re seeking pro bono assistance from lawyers with experience in trademark law to help file a Petition for Trademark Cancellation with the USPTO. It’s likely that simply asking nicely will not get a response from Oracle; a legal challenge must be made. Reach out to lawyers@javascript.tm if you can help.

Sincerely,

Ryan Dahl - creator of Node.js

Brendan Eich - creator of JavaScript

Michael Ficarra - editor of the JavaScript spec

Rich Harris - creator of Svelte

Isaac Z. Schlueter - creator of npm

Feross Aboukhadijeh - CEO of Socket

James M Snell - member of Node.js TSC

Wes Bos - host of Syntax.fm

Scott Tolinski - host of Syntax.fm

Shu-yu Guo - editor of the JavaScript spec

Jordan Harband - emeritus editor of the JavaScript spec

Matt Pocock - author of Total Typescript course

and 13,477 more members of the JavaScript community

Sign the letter

Press inquiries: press@javascript.tm