Declare that bazel is under an Apache 2.0 license

- Creates the license declaration.
- Applies it to src:*
- Add tools/compliance to demonstrate how we will gather all the license
  - bazel build //tools/compliance:*
  - cat bazel-bin/tools/compliance/*.txt

Closes #15543.

PiperOrigin-RevId: 450909439
Change-Id: Id3b249592ade8089583edb14bf91af930810f8f2
diff --git a/WORKSPACE b/WORKSPACE
index 2e3994d..c7fa7f8 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -57,6 +57,12 @@
     actual = "//third_party:guava",
 )
 
+# We must control the version of rules_license we use, so we load ours before
+# any other repo can bring it in through their deps.
+dist_http_archive(
+    name = "rules_license",
+)
+
 # For src/test/shell/bazel:test_srcs
 load("//src/test/shell/bazel:list_source_repository.bzl", "list_source_repository")
 
@@ -658,7 +664,3 @@
 load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
 
 bazel_skylib_workspace()
-
-dist_http_archive(
-    name = "rules_license",
-)