Deno vs Oracle: The ugly custody battle for JavaScript…

Fireship · Intermediate ·🛡️ AI Safety & Ethics ·11mo ago

Key Takeaways

The video discusses the custody battle for the JavaScript trademark between Deno and Oracle, with Ryan Dahl, creator of Node.js and Deno, trying to change the ownership of the trademark.

Full Transcript

Have you ever thought about who owns JavaScript? The answer may surprise you. At this point, it feels so common that it's kind of like asking who owns water. But if we've learned anything from Nestle, it's that corporate greed has no limit. And to make it even worse, the actual owner of JavaScript didn't create it, doesn't maintain it, and isn't even involved in its ongoing development. I could literally be thrown in prison for broadcasting the words JavaScript on screen without the express written consent of the Oracle Corporation. But there's one guy who took a look at this mess and in a stunning act of developer heroism or sheer boredom, decided to pick a legal battle against a company with unlimited resources. In today's video, we'll break down the crazy battle to control the JavaScript trademark. It is August 27th, 2025, and you're watching the Code Report. Now, I can't prove it, but I think this whole problem first started in 1995 when Nicholas Cage won his first Oscar. At the time, websites were simple static documents, and the way you view them was most likely using the Netscape Navigator browser. The founder of Netscape, Mark Andre, had a vision for the web that made it more than just a way to share and distribute documents. He envisioned a more dynamic platform with rich clientside interactivity. And to achieve this, you need to put a programming language inside the browser. And there was one obvious choice at the time, Scheme. Developed in the 1970s at MIT, Scheme was a minimal, lightweight, embedded dialect of lisp. It's got first class functions, closures, and dynamic typing. And there was only one man in the world up to the challenge of adding it to Netscape Navigator, Brendan Ike. By the time he had joined the company on that vision, Netscape and Sun Microsystems, the owner of the newly created awesome programming language, Java, had made a quote wide-ranging agreement for product distribution and technology exchange. That meant the scheme dream was over and the Java nightmare was about to begin. However, they couldn't just put Java in the browser because the language needed to be dumbed down enough for web developers. From there, as the legend states, in just 10 days, Brennan created the first version of the language and called it Mocha. It had the functionality of Scheme, the object orientation of Small Talk, and because of the collaboration with Sun Micros Systemystems, the syntax of Java. Eventually, the name Mocha was changed to livescript, then lives script to JavaScript as a marketing ploy to ride the hype train of Java at the time. It's hard to believe, but back then people thought Java was a good programming language. But most importantly, it gave Sun the legal grounds to trademark the JavaScript name. Fast forward to today, and Sun doesn't even exist, as it blew up in the do-com bubble and sold to Oracle in 2010, which gave them control of the JavaScript trademark. Like, have you ever wondered why the official language spec for JavaScript is called ECMAScript? And why is there no JavaScript conference or JavaScript newsletter? Well, it's all because of Larry. >> Damn it, Larry. Bananas. Oracle is a company that's more involved in sailboat racing than the JavaScript ecosystem and can choose to sue your ass if you dare to use the magic word. So, how do we fix this? Well, it's simple. You build up a decade of goodwill, then ask them kindly to release the trademark. And when they ignore you, you sue them. At least that's exactly the path Ryan Dull has taken, the creator of Node.js and founder of Dino. Ryan wrote an open letter to Oracle back in 2022 on his personal blog, claiming the trademark is a dark cloud looming over the world's most popular programming language, and the best value Oracle could derive from the trademark would be from the goodwill it receives by granting it to the public domain. After that was ignored, he created JavaScript.tm, a more strongly worded letter that again argued that Oracle needs to release the trademark and by this time also included some legal arguments. In short, it's because Oracle has never offered a product called JavaScript and that the term JavaScript has become so widely used without any interference from Oracle. The trademark should be considered abandoned according to the definition of title 15 of the United States trademark code. And oh, by the way, Oracle actually committed fraud when they renewed the JavaScript trademark in 2019 by submitting no.js as evidence of Oracle's use in commerce, a project which ironically Ryan created and has no involvement from Oracle. As of today, this letter has received over 26,000 signatures of support, including one of them from Brendan Ike himself and many prominent members of the JavaScript community, and Oracle has completely ignored it. This led to Ryan and Dino formally filing a petition with the USPTO to cancel the trademark a few months later in November of 2024. This forced Oracle to respond after delaying until after the deadline when they submitted a partial motion disputing the fraud claim by saying that the fact they submitted notice evidence of proof was irrelevant since they also submitted another project called Oracle Jet. If we have any Oracle Jet users in the room, please raise your hand. But I had never heard of it and apparently it's a UI toolkit based on modern JavaScript, CSS3, and HTML 5. After going back and forth and paying lawyers to repeat a few of the same arguments, the trademark trial and appeal board cited with Oracle and dismissed Dino's fraud claim is stating the no.js screenshot isn't fraud by itself and that fraud will require a specific false statement or knowledge and intent to deceive. And just a few weeks ago, Oracle also addressed the two other claims, again denying that JavaScript is a generic term and that the trademark has been abandoned. So, what's next? In short, more lawyers. Both sides will go to Discovery where they'll set some ground rules and keep gathering evidence over the next year. From there, they'll present in the summer of 2026 with closing arguments coming later that year, and we should have a final decision from the government sometime before January 2027. Win or lose though, using the JavaScript trademark freely isn't going to help you write better code. And that's why you need to check out Atlassian, the sponsor of today's video. They just launched the Rodev CLI, which transforms your terminal into an AI coding agent that speeds up your entire workflow. It can automate repetitive jobs like writing tests and reviewing pull requests. And it's intelligent enough to answer questions about specific repos in your company's codebase. That's because unlike most AI tools, Robo is designed specifically for professional developers working on large enterprise applications. And if your team already uses Atlassian, it works seamlessly with your Jira tickets and will update Confluence documentation for you directly from the terminal. You'll try out the robo dev beta for free with the link below. This has been the code report. Thanks for watching and I will see you in the next

Original Description

Try out Atlassian’s Rovo Dev CLI for free - https://fnf.dev/fireship The actual owner of the JavaScript trademark didn't create it, doesn't maintain it and isn't even involved in its ongoing development. But Ryan Dahl, creator of Node.js and Deno is trying to change that, even if it means waging a legal battle against a corporation with unlimited resources. In today's video, we'll breakdown the crazy battle between Deno and Oracle to control the JavaScript trademark. #programming #tech #coding 💬 Chat with Me on Discord https://discord.gg/fireship 🔗 Resources - https://deno.com/blog/deno-v-oracle4 - https://javascript.tm/ 🔥 Get More Content - Upgrade to PRO Upgrade at https://fireship.io/pro Use code YT25 for 25% off PRO access 🎨 My Editor Settings - Atom One Dark - vscode-icons - Fira Code Font 🔖 Topics Covered - Who owns JavaScript? - History of the JavaScript trademark - Why is Ryan Dahl taking on Oracle - Deno vs Oracle
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Fireship · Fireship · 0 of 60

← Previous Next →
1 Angular 4 Development and Production Environments with Firebase
Angular 4 Development and Production Environments with Firebase
Fireship
2 OAuth with Angular and Firebase Tutorial
OAuth with Angular and Firebase Tutorial
Fireship
3 Anonymous Authentication with Angular and Firebase - Lazy Registration
Anonymous Authentication with Angular and Firebase - Lazy Registration
Fireship
4 Angular Router Guards for Firebase Users
Angular Router Guards for Firebase Users
Fireship
5 Angular Firebase CRUD App with NoSQL Database Tutorial
Angular Firebase CRUD App with NoSQL Database Tutorial
Fireship
6 Upload Files from Angular to Firebase Storage
Upload Files from Angular to Firebase Storage
Fireship
7 How to Deploy an Angular App to Firebase Hosting
How to Deploy an Angular App to Firebase Hosting
Fireship
8 Sharing Data between Components in Angular
Sharing Data between Components in Angular
Fireship
9 Loading Spinners for Asynchronous Firebase Data
Loading Spinners for Asynchronous Firebase Data
Fireship
10 Angular 4 Transactional Email with Google Firebase Cloud Functions
Angular 4 Transactional Email with Google Firebase Cloud Functions
Fireship
11 Firebase Database Rules Tutorial
Firebase Database Rules Tutorial
Fireship
12 Autocomplete Search with Angular4 and Firebase
Autocomplete Search with Angular4 and Firebase
Fireship
13 Reddit Inspired Upvoting System with Angular and Firebase NoSQL
Reddit Inspired Upvoting System with Angular and Firebase NoSQL
Fireship
14 Angular Drag-and-Drop File Uploads to Firebase Storage
Angular Drag-and-Drop File Uploads to Firebase Storage
Fireship
15 Text Translation with Firebase Cloud Functions onWrite and Angular 4
Text Translation with Firebase Cloud Functions onWrite and Angular 4
Fireship
16 Custom Usernames with Firebase Authentication
Custom Usernames with Firebase Authentication
Fireship
17 Twitter-Inspired Follow Unfollow Feature with Firebase and Angular 4
Twitter-Inspired Follow Unfollow Feature with Firebase and Angular 4
Fireship
18 Simple Pagination with Firebase and Angular 4
Simple Pagination with Firebase and Angular 4
Fireship
19 How to Connect Firebase Users to their Data - 3 Methods
How to Connect Firebase Users to their Data - 3 Methods
Fireship
20 Add Toast Message Notifications to your Angular App
Add Toast Message Notifications to your Angular App
Fireship
21 Facebook-Inspired Reactions System with Angular and Firebase
Facebook-Inspired Reactions System with Angular and Firebase
Fireship
22 Learn NgModule in Angular with Examples
Learn NgModule in Angular with Examples
Fireship
23 Lazy Loading Components in Angular 4
Lazy Loading Components in Angular 4
Fireship
24 Stripe Checkout Payments with Angular and Firebase - Part 1
Stripe Checkout Payments with Angular and Firebase - Part 1
Fireship
25 Process Stripe Payments with Firebase Cloud Functions - Part 2
Process Stripe Payments with Firebase Cloud Functions - Part 2
Fireship
26 Selling Digital Content in Angular with Stripe Payments - Part 3
Selling Digital Content in Angular with Stripe Payments - Part 3
Fireship
27 Angular 4 Full Text Search with Algolia - Part 1
Angular 4 Full Text Search with Algolia - Part 1
Fireship
28 Algolia with Firebase Cloud Functions - Part 2
Algolia with Firebase Cloud Functions - Part 2
Fireship
29 Firebase Phone Authentication in Angular 4
Firebase Phone Authentication in Angular 4
Fireship
30 Top 7 RxJS Concepts for Angular Developers
Top 7 RxJS Concepts for Angular Developers
Fireship
31 Learn Angular Animations with 5 Examples
Learn Angular Animations with 5 Examples
Fireship
32 Advanced Firebase Data Filtering (Multi-Property)
Advanced Firebase Data Filtering (Multi-Property)
Fireship
33 Realtime Maps with Mapbox + Firebase + Angular
Realtime Maps with Mapbox + Firebase + Angular
Fireship
34 Angular Reactive Forms with Firebase Database Backend
Angular Reactive Forms with Firebase Database Backend
Fireship
35 Send Push Notifications in Angular with Firebase Cloud Messaging
Send Push Notifications in Angular with Firebase Cloud Messaging
Fireship
36 Top 7 Ways to Debug Angular 4 Apps
Top 7 Ways to Debug Angular 4 Apps
Fireship
37 Infinite Scroll with Angular and Firebase
Infinite Scroll with Angular and Firebase
Fireship
38 Use TypeScript with Firebase Cloud Functions
Use TypeScript with Firebase Cloud Functions
Fireship
39 Realtime Graphs and Charts with Plotly and Firebase
Realtime Graphs and Charts with Plotly and Firebase
Fireship
40 Role-Based User Permissions in Firebase
Role-Based User Permissions in Firebase
Fireship
41 User Presence System in Realtime - Online, Offline, Away
User Presence System in Realtime - Online, Offline, Away
Fireship
42 Location-based Queries with GeoFire and Angular Google Maps
Location-based Queries with GeoFire and Angular Google Maps
Fireship
43 Angular ngrx Redux Quick Start Tutorial
Angular ngrx Redux Quick Start Tutorial
Fireship
44 Angular Ngrx Effects with Firebase Database
Angular Ngrx Effects with Firebase Database
Fireship
45 Progressive Web Apps with Angular
Progressive Web Apps with Angular
Fireship
46 Angular Ngrx with Firebase Google OAuth User Authentication
Angular Ngrx with Firebase Google OAuth User Authentication
Fireship
47 RxJS Quick Start with Practical Examples
RxJS Quick Start with Practical Examples
Fireship
48 Send SMS Text Messages with Twilio and Firebase
Send SMS Text Messages with Twilio and Firebase
Fireship
49 Firebase Database Performance Profiling
Firebase Database Performance Profiling
Fireship
50 Native Desktop Apps with Angular and Electron
Native Desktop Apps with Angular and Electron
Fireship
51 Subscription Payments with Stripe, Angular, and Firebase
Subscription Payments with Stripe, Angular, and Firebase
Fireship
52 Firestore with AngularFire5 Quick Start Tutorial
Firestore with AngularFire5 Quick Start Tutorial
Fireship
53 Angular HTTP Client Quick Start Tutorial
Angular HTTP Client Quick Start Tutorial
Fireship
54 Google Sign-In with Firestore Custom User Data
Google Sign-In with Firestore Custom User Data
Fireship
55 Star Review System from Scratch with Firestore + Angular
Star Review System from Scratch with Firestore + Angular
Fireship
56 Angular Chatbot with Dialogflow (API.ai)
Angular Chatbot with Dialogflow (API.ai)
Fireship
57 Learn @ngrx/entity and Feature Modules
Learn @ngrx/entity and Feature Modules
Fireship
58 Infinite Scroll Pagination with Firestore
Infinite Scroll Pagination with Firestore
Fireship
59 Faster Firestore via Data Aggregation
Faster Firestore via Data Aggregation
Fireship
60 Contentful - CMS for Angular Progressive Web Apps
Contentful - CMS for Angular Progressive Web Apps
Fireship

The video explores the dispute over the JavaScript trademark and its implications for the programming community. Ryan Dahl's efforts to challenge Oracle's ownership of the trademark are examined, and the potential consequences of the outcome are discussed.

Key Takeaways
  1. Understand the history of the JavaScript trademark
  2. Learn about the current dispute between Deno and Oracle
  3. Explore the implications of the trademark ownership for the programming community
  4. Discover the efforts of Ryan Dahl to challenge Oracle's ownership
  5. Follow the developments in the trademark trial
💡 The ownership of the JavaScript trademark has significant implications for the programming community, and the outcome of the dispute between Deno and Oracle will shape the future of the language.

Related Reads

📰
The Sandbox Escape: The Fatal Mistakes Behind OpenAI’s AI Breach
Learn from OpenAI's AI breach and understand the fatal mistakes behind the Sandbox Escape to improve AI security
Medium · AI
📰
The Sandbox Escape: The Fatal Mistakes Behind OpenAI’s AI Breach
Learn from OpenAI's AI breach and the fatal mistakes that led to a sandbox escape, to improve your own AI security measures
Medium · Cybersecurity
📰
A Semioethical Framework for Artificial Intelligence
Learn a semioethical framework for artificial intelligence to ensure responsible AI development and deployment
Hacker News
📰
Google Account Selfie Login Bets Your Security on AI
Google's new selfie login recovery feature relies on AI to distinguish between real and fake faces, highlighting the importance of AI security in authentication
Dev.to AI
Up next
Your AI Output Is Wrong and You Don't Know It Yet
Kevin Farugia AI Automation
Watch →