diff --git a/.changeset/slow-buckets-wash.md b/.changeset/slow-buckets-wash.md
new file mode 100644
index 0000000000..45729be9bb
--- /dev/null
+++ b/.changeset/slow-buckets-wash.md
@@ -0,0 +1,6 @@
+---
+'modular-scripts': minor
+---
+
+- Fix prefixed logger debug method logging as info
+- Copy LICENSE files when building packages
diff --git a/packages/modular-scripts/src/__tests__/build.test.ts b/packages/modular-scripts/src/__tests__/build.test.ts
index 2e262795cb..935de1d903 100644
--- a/packages/modular-scripts/src/__tests__/build.test.ts
+++ b/packages/modular-scripts/src/__tests__/build.test.ts
@@ -33,6 +33,7 @@ describe('WHEN building with preserve modules', () => {
           "dist-es",
           "dist-types",
           "README.md",
+          "LICENSE",
         ],
         "main": "dist-cjs/index.js",
         "modular": Object {
@@ -51,6 +52,7 @@ describe('WHEN building with preserve modules', () => {
     expect(tree(path.join(modularRoot, 'dist', packageName)))
       .toMatchInlineSnapshot(`
       "sample-async-package
+      ├─ LICENSE #1gat5ri
       ├─ dist-cjs
       │  ├─ index.js #p1m6x9
       │  ├─ index.js.map #16jes1h
@@ -168,6 +170,7 @@ describe('WHEN building packages with private cross-package dependencies', () =>
     expect(tree(path.join(modularRoot, 'dist', dependentPackage)))
       .toMatchInlineSnapshot(`
       "sample-depending-package
+      ├─ LICENSE #1gat5ri
       ├─ dist-cjs
       │  ├─ index.js #1m9v9ya
       │  ├─ index.js.map #79ot9r
diff --git a/packages/modular-scripts/src/__tests__/index.test.ts b/packages/modular-scripts/src/__tests__/index.test.ts
index 548c30b607..69e0e63f70 100644
--- a/packages/modular-scripts/src/__tests__/index.test.ts
+++ b/packages/modular-scripts/src/__tests__/index.test.ts
@@ -207,6 +207,7 @@ describe('modular-scripts', () => {
             "dist-es",
             "dist-types",
             "README.md",
+            "LICENSE",
           ],
           "main": "dist-cjs/index.js",
           "modular": Object {
@@ -285,6 +286,7 @@ describe('modular-scripts', () => {
       expect(tree(path.join(modularRoot, 'dist', 'sample-view')))
         .toMatchInlineSnapshot(`
         "sample-view
+        ├─ LICENSE #1gat5ri
         ├─ dist-cjs
         │  ├─ index.js #p1m6x9
         │  ├─ index.js.map #16jes1h
@@ -354,6 +356,7 @@ describe('modular-scripts', () => {
             "dist-es",
             "dist-types",
             "README.md",
+            "LICENSE",
           ],
           "main": "dist-cjs/index.js",
           "modular": Object {
@@ -372,6 +375,7 @@ describe('modular-scripts', () => {
       expect(tree(path.join(modularRoot, 'dist', 'sample-package')))
         .toMatchInlineSnapshot(`
         "sample-package
+        ├─ LICENSE #1gat5ri
         ├─ dist-cjs
         │  ├─ index.js #p1m6x9
         │  ├─ index.js.map #16jes1h
@@ -430,6 +434,7 @@ describe('modular-scripts', () => {
             "dist-es",
             "dist-types",
             "README.md",
+            "LICENSE",
           ],
           "main": "dist-cjs/nested-sample-package.cjs.js",
           "modular": Object {
@@ -448,6 +453,7 @@ describe('modular-scripts', () => {
       expect(tree(path.join(modularRoot, 'dist', 'nested-sample-package')))
         .toMatchInlineSnapshot(`
         "nested-sample-package
+        ├─ LICENSE #1gat5ri
         ├─ dist-cjs
         │  ├─ nested-sample-package.cjs.js #kv2xzp
         │  └─ nested-sample-package.cjs.js.map #bgpzsg
diff --git a/packages/modular-scripts/src/build/buildPackage/index.ts b/packages/modular-scripts/src/build/buildPackage/index.ts
index 2df5145784..a070f8a8f1 100644
--- a/packages/modular-scripts/src/build/buildPackage/index.ts
+++ b/packages/modular-scripts/src/build/buildPackage/index.ts
@@ -16,6 +16,7 @@ import getModularRoot from '../../utils/getModularRoot';
 import { makeBundle } from './makeBundle';
 import { makeTypings } from './makeTypings';
 import getRelativeLocation from '../../utils/getRelativeLocation';
+import { maybeCopyRootLicense } from './maybeCopyRootLicense';
 
 const outputDirectory = 'dist';
 
@@ -79,6 +80,8 @@ export async function buildPackage(
     );
   });
 
+  await maybeCopyRootLicense(target, targetOutputDirectory);
+
   /// and... that's it
   logger.log(`built ${target} in ${targetOutputDirectory}`);
 }
diff --git a/packages/modular-scripts/src/build/buildPackage/makeBundle.ts b/packages/modular-scripts/src/build/buildPackage/makeBundle.ts
index 1acd735f27..6b74c6fc94 100644
--- a/packages/modular-scripts/src/build/buildPackage/makeBundle.ts
+++ b/packages/modular-scripts/src/build/buildPackage/makeBundle.ts
@@ -313,6 +313,7 @@ export async function makeBundle(
       'dist-es',
       'dist-types',
       'README.md',
+      'LICENSE',
     ]),
   };
 }
diff --git a/packages/modular-scripts/src/build/buildPackage/maybeCopyRootLicense.ts b/packages/modular-scripts/src/build/buildPackage/maybeCopyRootLicense.ts
new file mode 100644
index 0000000000..54827ad41f
--- /dev/null
+++ b/packages/modular-scripts/src/build/buildPackage/maybeCopyRootLicense.ts
@@ -0,0 +1,24 @@
+import * as fs from 'fs-extra';
+import * as path from 'path';
+import getPrefixedLogger from '../../utils/getPrefixedLogger';
+import getModularRoot from '../../utils/getModularRoot';
+
+export async function maybeCopyRootLicense(
+  target: string,
+  targetOutputDirectory: string,
+) {
+  const logger = getPrefixedLogger(target);
+  const modularRoot = getModularRoot();
+
+  const targetOutputLicense = path.join(targetOutputDirectory, 'LICENSE');
+  if (!fs.existsSync(targetOutputLicense)) {
+    logger.debug(
+      `No license found in ${targetOutputDirectory}. Looking for root license.`,
+    );
+    const rootLicense = path.join(modularRoot, 'LICENSE');
+    if (fs.existsSync(rootLicense)) {
+      logger.log(`Copying LICENSE found in ${modularRoot}`);
+      fs.copyFileSync(rootLicense, targetOutputLicense);
+    }
+  }
+}