diff --git a/.babel-eslint.rc.js b/.babel-eslint.rc.js
index afc7d7c98a4ce60f4575ba9460c5825e0318228c..3d691dcecd06c9021340ba3f2f142f8398330aeb 100644
--- a/.babel-eslint.rc.js
+++ b/.babel-eslint.rc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 module.exports = {
   plugins: [
     "@babel/plugin-syntax-optional-chaining",
diff --git a/browser/.eslintrc.js b/browser/.eslintrc.js
index b345038e3e5656476d4791f072b880a99c8d973a..2461a90b6718a51331feb19dbd2ed823de7efd86 100644
--- a/browser/.eslintrc.js
+++ b/browser/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/.eslintrc.js b/browser/components/.eslintrc.js
index c6c6fa502c9acc4cbea35c00aa61058673c19df7..52bf9c5e322cebd5e68aa4a41b7043e4c9d6366a 100644
--- a/browser/components/.eslintrc.js
+++ b/browser/components/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/aboutlogins/content/.eslintrc.js b/browser/components/aboutlogins/content/.eslintrc.js
index f811aa790b28cc6808e34ecf5ee486e91ea4f428..c85129a731f048a081695a31c12a9edf4c9ad2e1 100644
--- a/browser/components/aboutlogins/content/.eslintrc.js
+++ b/browser/components/aboutlogins/content/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/aboutlogins/content/components/.eslintrc.js b/browser/components/aboutlogins/content/components/.eslintrc.js
index f811aa790b28cc6808e34ecf5ee486e91ea4f428..c85129a731f048a081695a31c12a9edf4c9ad2e1 100644
--- a/browser/components/aboutlogins/content/components/.eslintrc.js
+++ b/browser/components/aboutlogins/content/components/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/customizableui/content/.eslintrc.js b/browser/components/customizableui/content/.eslintrc.js
index f6f548d93ff3057a3889c7268b4beb25eed49e53..43ab18578daa06c67caaec45ca04fcf300eb9f87 100644
--- a/browser/components/customizableui/content/.eslintrc.js
+++ b/browser/components/customizableui/content/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/extensions/.eslintrc.js b/browser/components/extensions/.eslintrc.js
index 177c9922b26307d52860311f59ff314b10fa63b4..ae06935e90d94b005634bebac9c1bbe3ce390302 100644
--- a/browser/components/extensions/.eslintrc.js
+++ b/browser/components/extensions/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/extensions/child/.eslintrc.js b/browser/components/extensions/child/.eslintrc.js
index 7273998e4a77cd858698fa4f4b5d4413006bf6e6..3073b22caf786f108d2b113cf5baae8bccf58d7f 100644
--- a/browser/components/extensions/child/.eslintrc.js
+++ b/browser/components/extensions/child/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/extensions/parent/.eslintrc.js b/browser/components/extensions/parent/.eslintrc.js
index 4dc46f3cbfc6eee7ba12041cc3cd28b7b902adbd..632ab1d218b03a235ed5010345bd873985202663 100644
--- a/browser/components/extensions/parent/.eslintrc.js
+++ b/browser/components/extensions/parent/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/migration/.eslintrc.js b/browser/components/migration/.eslintrc.js
index 8ccd5bdf113cf411c58b952ba9a0327e90a713ce..a0a02387644e0a8ced993c57178b01d90b853407 100644
--- a/browser/components/migration/.eslintrc.js
+++ b/browser/components/migration/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/newtab/.eslintrc.js b/browser/components/newtab/.eslintrc.js
index 7d5055ff707bb271659b799c784ad03b38e16af9..e166a246bc4613c46db2a6395bc637892f5c3fa6 100644
--- a/browser/components/newtab/.eslintrc.js
+++ b/browser/components/newtab/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 module.exports = {
   // When adding items to this file please check for effects on sub-directories.
   parserOptions: {
diff --git a/browser/components/newtab/content-src/.eslintrc.js b/browser/components/newtab/content-src/.eslintrc.js
index 0733d6ce2836db20d3fb6a5b89bef90c3fec3e48..fec99b40e00f58184917d6f42b9c844d84cd72a2 100644
--- a/browser/components/newtab/content-src/.eslintrc.js
+++ b/browser/components/newtab/content-src/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 /* eslint-disable import/no-commonjs */
 
 module.exports = {
diff --git a/browser/components/payments/.eslintrc.js b/browser/components/payments/.eslintrc.js
index 08549fdac1c1a7d723b2a2ae372001b8e2a1c289..249713292733fdc9070fa2b1b7d6752880473722 100644
--- a/browser/components/payments/.eslintrc.js
+++ b/browser/components/payments/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/protections/.eslintrc.js b/browser/components/protections/.eslintrc.js
index f811aa790b28cc6808e34ecf5ee486e91ea4f428..c85129a731f048a081695a31c12a9edf4c9ad2e1 100644
--- a/browser/components/protections/.eslintrc.js
+++ b/browser/components/protections/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/search/.eslintrc.js b/browser/components/search/.eslintrc.js
index 2cbe6f4e241829e78934e00642328637cd05b241..df5578171dc0a326228c505567011c9af79dcf3f 100644
--- a/browser/components/search/.eslintrc.js
+++ b/browser/components/search/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/translation/content/.eslintrc.js b/browser/components/translation/content/.eslintrc.js
index f6f548d93ff3057a3889c7268b4beb25eed49e53..43ab18578daa06c67caaec45ca04fcf300eb9f87 100644
--- a/browser/components/translation/content/.eslintrc.js
+++ b/browser/components/translation/content/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/components/urlbar/.eslintrc.js b/browser/components/urlbar/.eslintrc.js
index 6cfbf408f5c0b754f139f2d192e010c26c327705..8218b7f0898e414a1e28acae5a92f522682206f5 100644
--- a/browser/components/urlbar/.eslintrc.js
+++ b/browser/components/urlbar/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/extensions/formautofill/.eslintrc.js b/browser/extensions/formautofill/.eslintrc.js
index 6e438f431d60b98ea54141adab29723e772121e7..0187f91da3627c4983fe6c66148a930054094866 100644
--- a/browser/extensions/formautofill/.eslintrc.js
+++ b/browser/extensions/formautofill/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/extensions/report-site-issue/.eslintrc.js b/browser/extensions/report-site-issue/.eslintrc.js
index 7db27dfc47a0c5ee23e62f43b0362823dc86f3ef..e26bd6da3f11085279fddeee1b88ea64f1fb9281 100644
--- a/browser/extensions/report-site-issue/.eslintrc.js
+++ b/browser/extensions/report-site-issue/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/browser/tools/mozscreenshots/.eslintrc.js b/browser/tools/mozscreenshots/.eslintrc.js
index be0ff469c92bb75699bc2b78098597dd1c6dc82f..195cc854a55bf47f349d9c3855d6ed1b1f3ec3a4 100644
--- a/browser/tools/mozscreenshots/.eslintrc.js
+++ b/browser/tools/mozscreenshots/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/.eslintrc.js b/devtools/.eslintrc.js
index 330e1e9fff3e6f2faf0d72ce99844daa432fa77a..b6ab71a0da3bfc3c438ce2b9c89c3b6b7734dec5 100644
--- a/devtools/.eslintrc.js
+++ b/devtools/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/.eslintrc.mochitests.js b/devtools/.eslintrc.mochitests.js
index 6eb7f66ea565cc24aec1c83bcf7a9f30fa960487..2a0ce303b495f34522f5ef822ebb7b7285d2943b 100644
--- a/devtools/.eslintrc.mochitests.js
+++ b/devtools/.eslintrc.mochitests.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 // Parent config file for all devtools browser mochitest files.
 module.exports = {
   "extends": [
diff --git a/devtools/.eslintrc.xpcshell.js b/devtools/.eslintrc.xpcshell.js
index 0a1d6550e2fdca25dd92997922588a04da21893a..0eea96b8690c60aac2ecb7b7cb7405aac27876fc 100644
--- a/devtools/.eslintrc.xpcshell.js
+++ b/devtools/.eslintrc.xpcshell.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 // Parent config file for all devtools xpcshell files.
 module.exports = {
   "extends": [
diff --git a/devtools/client/.eslintrc.js b/devtools/client/.eslintrc.js
index 321cdeeffa89146b112d844322ad28fb57ec0eaf..81eb6568ee5bdc2caf3f62c6d0334760bd87cc54 100644
--- a/devtools/client/.eslintrc.js
+++ b/devtools/client/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/client/debugger/.prettierrc.js b/devtools/client/debugger/.prettierrc.js
index 37ec8de80d37a8036d25063206bac4937085baea..71adaa1aa9e54663b41e61a094cba990fae51615 100644
--- a/devtools/client/debugger/.prettierrc.js
+++ b/devtools/client/debugger/.prettierrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 const fs = require("fs");
 
 module.exports = {
diff --git a/devtools/client/dom/.eslintrc.js b/devtools/client/dom/.eslintrc.js
index 53235d15b48c0586a48a199a10a539b1e64be45b..8e2ca9a042b02fec0be7f0a69d17c357a5e9c5d2 100644
--- a/devtools/client/dom/.eslintrc.js
+++ b/devtools/client/dom/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/client/inspector/.eslintrc.js b/devtools/client/inspector/.eslintrc.js
index 6190f90f82fe323c315ef23cf8584bf45aabfdfe..c1782e594cd8f334767a07cf2ded6b026fa733b7 100644
--- a/devtools/client/inspector/.eslintrc.js
+++ b/devtools/client/inspector/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/client/jsonview/.eslintrc.js b/devtools/client/jsonview/.eslintrc.js
index 45d39dce8bf75f4512dc52791f4138d7104653e8..cd16102c9812d7d2149dd207bc3aaa39fdf28a5e 100644
--- a/devtools/client/jsonview/.eslintrc.js
+++ b/devtools/client/jsonview/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/client/memory/.eslintrc.js b/devtools/client/memory/.eslintrc.js
index c4e3f559e745be4f2fa78082e0a6686b4b25c7a8..5500a7eb10b087f7f016ac591bfc87a3138d6f51 100644
--- a/devtools/client/memory/.eslintrc.js
+++ b/devtools/client/memory/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/client/performance-new/.eslintrc.js b/devtools/client/performance-new/.eslintrc.js
index 7fc4cd0147f8ebe5eb910727b04e7db409f56b11..bb4f0e5e1665c0a95d63712d8558c10472974bcd 100644
--- a/devtools/client/performance-new/.eslintrc.js
+++ b/devtools/client/performance-new/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/client/shared/components/.eslintrc.js b/devtools/client/shared/components/.eslintrc.js
index 1842ba09a5266f393ea5ce46977a4d306e4e8cc6..b67123ad2ce11c20e699d760c8d6412b7bc47714 100644
--- a/devtools/client/shared/components/.eslintrc.js
+++ b/devtools/client/shared/components/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/client/shared/redux/middleware/xpcshell/.eslintrc.js b/devtools/client/shared/redux/middleware/xpcshell/.eslintrc.js
index 89edb9d4b233c741e8b6844c29e212897a23c1de..032dbbbefe364c77c43e93ea0e5fda31ae7c890f 100644
--- a/devtools/client/shared/redux/middleware/xpcshell/.eslintrc.js
+++ b/devtools/client/shared/redux/middleware/xpcshell/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/client/shared/sourceeditor/.eslintrc.js b/devtools/client/shared/sourceeditor/.eslintrc.js
index 3bbd5adcad035f3874e23361801b1838e18716de..0b078ccf4010a89248145cca34963840748ab9c0 100644
--- a/devtools/client/shared/sourceeditor/.eslintrc.js
+++ b/devtools/client/shared/sourceeditor/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/shared/.eslintrc.js b/devtools/shared/.eslintrc.js
index a0f7c966d86916c95adf4448dc8273c7b25ca2ed..1ec0251734d3aa6fe2d98c7e67a5eee53e117c40 100644
--- a/devtools/shared/.eslintrc.js
+++ b/devtools/shared/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/shared/adb/xpcshell/.eslintrc.js b/devtools/shared/adb/xpcshell/.eslintrc.js
index 6581a0bf32ee3fa9b4eb9398ed8d3d571c054bcf..626f662ba522d2a20a516ab2074cfd72773b4e82 100644
--- a/devtools/shared/adb/xpcshell/.eslintrc.js
+++ b/devtools/shared/adb/xpcshell/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/devtools/shared/performance/xpcshell/.eslintrc.js b/devtools/shared/performance/xpcshell/.eslintrc.js
index df720af35c22e95b51f6295ef75b278220cdca2f..6cb13c0af4ce62a1948a6657cbe919404781fa36 100644
--- a/devtools/shared/performance/xpcshell/.eslintrc.js
+++ b/devtools/shared/performance/xpcshell/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/js/src/builtin/.eslintrc.js b/js/src/builtin/.eslintrc.js
index 29a2d3b83f3127e5a9f625f3ec6cd8f9e3e73e39..ddaad0e09f1d257fc8a15b18cc129c6badc43526 100644
--- a/js/src/builtin/.eslintrc.js
+++ b/js/src/builtin/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/js/src/shell/.eslintrc.js b/js/src/shell/.eslintrc.js
index 3e8d7942e3dffa9bf2e4a1f05439b8e87cba3fae..029c34579071f3e1eacf14fa2e0727147c1d10f5 100644
--- a/js/src/shell/.eslintrc.js
+++ b/js/src/shell/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/mobile/android/.eslintrc.js b/mobile/android/.eslintrc.js
index d3442147805a759ab4ccbc11b08cd8a32a55b51e..44823eae9477b9d3a76a3941548384879d513526 100644
--- a/mobile/android/.eslintrc.js
+++ b/mobile/android/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/mobile/android/examples/messaging_example/app/src/main/assets/messaging/.eslintrc.js b/mobile/android/examples/messaging_example/app/src/main/assets/messaging/.eslintrc.js
index e57058ecb1c4a04a6aece5e40028e7c9c2fb0d7f..c5fda00676412c0c1c97cf93d98cd0ed1708963b 100644
--- a/mobile/android/examples/messaging_example/app/src/main/assets/messaging/.eslintrc.js
+++ b/mobile/android/examples/messaging_example/app/src/main/assets/messaging/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/mobile/android/examples/port_messaging_example/app/src/main/assets/messaging/.eslintrc.js b/mobile/android/examples/port_messaging_example/app/src/main/assets/messaging/.eslintrc.js
index e57058ecb1c4a04a6aece5e40028e7c9c2fb0d7f..c5fda00676412c0c1c97cf93d98cd0ed1708963b 100644
--- a/mobile/android/examples/port_messaging_example/app/src/main/assets/messaging/.eslintrc.js
+++ b/mobile/android/examples/port_messaging_example/app/src/main/assets/messaging/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/mobile/android/modules/geckoview/.eslintrc.js b/mobile/android/modules/geckoview/.eslintrc.js
index 271c09dfc360f880d7249bf82f12993eaa057e32..6b95ae40268bda5ce684dae0dd95905bd4411cca 100644
--- a/mobile/android/modules/geckoview/.eslintrc.js
+++ b/mobile/android/modules/geckoview/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/security/.eslintrc.js b/security/.eslintrc.js
index 4b4748c5fb09ea5ca29c882628399b4d8e1058d9..ab27326778870ddc238281c61b0de403d12f88bc 100644
--- a/security/.eslintrc.js
+++ b/security/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/security/manager/tools/.eslintrc.js b/security/manager/tools/.eslintrc.js
index 06c4e5248ec5a011605243cf588dec237aca8e65..44c1d9cba600dd5a3ba24d51829813f158861a1c 100644
--- a/security/manager/tools/.eslintrc.js
+++ b/security/manager/tools/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/services/automation/.eslintrc.js b/services/automation/.eslintrc.js
index 638738894c820292af4375cf3258edcd35978e10..21c7383fe2ad06eee163574813cd1d13d2775dab 100644
--- a/services/automation/.eslintrc.js
+++ b/services/automation/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/taskcluster/docker/index-task/.eslintrc.js b/taskcluster/docker/index-task/.eslintrc.js
index 4406e04a0b6fb86ff388ac8dc505ed52b0f14ada..ff84d9cb69a92304fffdddd2d56617a7f7544839 100644
--- a/taskcluster/docker/index-task/.eslintrc.js
+++ b/taskcluster/docker/index-task/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/taskcluster/docker/periodic-updates/.eslintrc.js b/taskcluster/docker/periodic-updates/.eslintrc.js
index c9e349cf80d681c31a2381286ba1f5f2ff2bf918..b00eb26544130c543b32fe0fef7bffc15333df03 100644
--- a/taskcluster/docker/periodic-updates/.eslintrc.js
+++ b/taskcluster/docker/periodic-updates/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/.eslintrc.js b/toolkit/.eslintrc.js
index c79cf495f398bbabfe3ce2c6c27297e6ed3d9c1a..9181dfce0cdbf88d84fae16b13c8599af7e3b776 100644
--- a/toolkit/.eslintrc.js
+++ b/toolkit/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/components/certviewer/content/.eslintrc.js b/toolkit/components/certviewer/content/.eslintrc.js
index 571d69a7b39a7b39f2cde099b26e31738cf00772..53d23f831d061751a0836d524f72058b4071c1fc 100644
--- a/toolkit/components/certviewer/content/.eslintrc.js
+++ b/toolkit/components/certviewer/content/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 module.exports = {
   parserOptions: {
     sourceType: "module",
diff --git a/toolkit/components/extensions/.eslintrc.js b/toolkit/components/extensions/.eslintrc.js
index caf8d2aaece779fb2c2df520c2f69ff28d01c273..8b68a8c6abcc794063930c6f7cbf817239d7d3aa 100644
--- a/toolkit/components/extensions/.eslintrc.js
+++ b/toolkit/components/extensions/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/components/extensions/child/.eslintrc.js b/toolkit/components/extensions/child/.eslintrc.js
index 001e5265594d73b5b4d2d02009af514505f1b8b4..01f6e45d35ae02c10e2f449090ca548131809f42 100644
--- a/toolkit/components/extensions/child/.eslintrc.js
+++ b/toolkit/components/extensions/child/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/components/extensions/parent/.eslintrc.js b/toolkit/components/extensions/parent/.eslintrc.js
index 9a2d234190f856847c73d31cd1745c5b01aa2b94..356dda7c70e9124c7ac8a115f711774fbf4dbb70 100644
--- a/toolkit/components/extensions/parent/.eslintrc.js
+++ b/toolkit/components/extensions/parent/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/components/narrate/.eslintrc.js b/toolkit/components/narrate/.eslintrc.js
index 316aed2b3e9d6c04cec3278ea0f3e527f6190f19..1c8d425c6c500388f403d8a247da12296b01eb5b 100644
--- a/toolkit/components/narrate/.eslintrc.js
+++ b/toolkit/components/narrate/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/components/passwordmgr/.eslintrc.js b/toolkit/components/passwordmgr/.eslintrc.js
index 64f64d93739e708cdb8de464629cf2d8696e7730..fb895536880a63292ec23d34344e96bcd3db3373 100644
--- a/toolkit/components/passwordmgr/.eslintrc.js
+++ b/toolkit/components/passwordmgr/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/components/reader/.eslintrc.js b/toolkit/components/reader/.eslintrc.js
index d0438c9aa4a7373971f5e77d3f5d167a2dc79256..4df95dd5f8b0c5728a384b922372c1a0cc789eb6 100644
--- a/toolkit/components/reader/.eslintrc.js
+++ b/toolkit/components/reader/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/components/satchel/.eslintrc.js b/toolkit/components/satchel/.eslintrc.js
index aa643a1d2f8e7692ffae2d56b1685d6dc29f46a9..9c9c7befff235ef2ac8e100bae5359ca54c0801d 100644
--- a/toolkit/components/satchel/.eslintrc.js
+++ b/toolkit/components/satchel/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/components/search/.eslintrc.js b/toolkit/components/search/.eslintrc.js
index 565b577262a4f9ff563ca0b7f688971e21d61057..1c83c5d5cad2ae38588bcb92d215cc22d6434b22 100644
--- a/toolkit/components/search/.eslintrc.js
+++ b/toolkit/components/search/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/content/.eslintrc.js b/toolkit/content/.eslintrc.js
index 371eab457e6851f39b24a94601ef23a67fc9cb0d..ea5a72ce6723f72f743aeb28635af6ca03a386d5 100644
--- a/toolkit/content/.eslintrc.js
+++ b/toolkit/content/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/modules/subprocess/.eslintrc.js b/toolkit/modules/subprocess/.eslintrc.js
index 1d232946d538710f67d07c1e155a4b2d59d04527..3e775d8eb47e71bff12372ee78fb55b6fa787737 100644
--- a/toolkit/modules/subprocess/.eslintrc.js
+++ b/toolkit/modules/subprocess/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/mozapps/extensions/.eslintrc.js b/toolkit/mozapps/extensions/.eslintrc.js
index a73b554ee10c46a9e205ca77e1b65c7c33f1ee70..2e1909b8fbfbbfa94583c2308669bced85bd7cb8 100644
--- a/toolkit/mozapps/extensions/.eslintrc.js
+++ b/toolkit/mozapps/extensions/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/toolkit/profile/xpcshell/.eslintrc.js b/toolkit/profile/xpcshell/.eslintrc.js
index 69e89d0054ba49849eebdd6c6f350176047fd0c5..a02973d1870456c333c9e8b76ccfc88e7c5f9644 100644
--- a/toolkit/profile/xpcshell/.eslintrc.js
+++ b/toolkit/profile/xpcshell/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/tools/lint/eslint/.eslintrc.js b/tools/lint/eslint/.eslintrc.js
index 25fe96b1b68ba9799e1d184546188f3a8f64e199..279d0d5a636ab29dee3e2e01d834863f9e1fb182 100644
--- a/tools/lint/eslint/.eslintrc.js
+++ b/tools/lint/eslint/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/tools/quitter/.eslintrc.js b/tools/quitter/.eslintrc.js
index 776dac1ef8e8fefcc1206f2d767650ef911706dd..ca920089606d0851a7b544d9345249c2010ab9b3 100644
--- a/tools/quitter/.eslintrc.js
+++ b/tools/quitter/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {
diff --git a/tools/tryselect/selectors/chooser/.eslintrc.js b/tools/tryselect/selectors/chooser/.eslintrc.js
index d6a57dd4178ae50801c9a8ef6f5720a820b189e2..861d6bafc29181287e7485ceba1d4c0e61b70462 100644
--- a/tools/tryselect/selectors/chooser/.eslintrc.js
+++ b/tools/tryselect/selectors/chooser/.eslintrc.js
@@ -1,3 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 "use strict";
 
 module.exports = {