diff --git a/Makefile b/Makefile
index f114789..078cd37 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,20 @@
+# crossfire: distributed brute force infrastructure
+#
+# Copyright (C) 2020 haskal
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+
.PHONY: all clean
all:
diff --git a/README.md b/README.md
index 123bbf4..740aac9 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,21 @@
+
# crossfire
distributed brute force infrastructure
diff --git a/crossfire/codegen.rkt b/crossfire/codegen.rkt
index 9e0271b..5792b3b 100644
--- a/crossfire/codegen.rkt
+++ b/crossfire/codegen.rkt
@@ -1,4 +1,20 @@
#lang racket/base
+;; crossfire: distributed brute force infrastructure
+;;
+;; Copyright (C) 2020 haskal
+;;
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU Affero General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU Affero General Public License for more details.
+;;
+;; You should have received a copy of the GNU Affero General Public License
+;; along with this program. If not, see .
(require racket/match racket/runtime-path
scribble/text (rename-in scribble/text/output [output scribble-output]))
diff --git a/crossfire/codegen.template b/crossfire/codegen.template
index dff8fe0..40bc341 100644
--- a/crossfire/codegen.template
+++ b/crossfire/codegen.template
@@ -1,4 +1,22 @@
-@; vim: ft=c
+@;; crossfire: distributed brute force infrastructure
+@;;
+@;; Copyright (C) 2020 haskal
+@;;
+@;; This program is free software: you can redistribute it and/or modify
+@;; it under the terms of the GNU Affero General Public License as published by
+@;; the Free Software Foundation, either version 3 of the License, or
+@;; (at your option) any later version.
+@;;
+@;; This program is distributed in the hope that it will be useful,
+@;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+@;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+@;; GNU Affero General Public License for more details.
+@;;
+@;; You should have received a copy of the GNU Affero General Public License
+@;; along with this program. If not, see .
+
+@;; vim: ft=c
+
#include
#include
#include
diff --git a/crossfire/info.rkt b/crossfire/info.rkt
index 8b9b75a..0dd936d 100644
--- a/crossfire/info.rkt
+++ b/crossfire/info.rkt
@@ -1,6 +1,22 @@
#lang info
+;; crossfire: distributed brute force infrastructure
+;;
+;; Copyright (C) 2020 haskal
+;;
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU Affero General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU Affero General Public License for more details.
+;;
+;; You should have received a copy of the GNU Affero General Public License
+;; along with this program. If not, see .
-(define pkg-desc "a package. whoa")
+(define pkg-desc "distributed brute force infrastructure")
(define version "0.1")
(define pkg-authors '(haskal))
diff --git a/crossfire/main.rkt b/crossfire/main.rkt
index a7397d1..739e74b 100644
--- a/crossfire/main.rkt
+++ b/crossfire/main.rkt
@@ -1,4 +1,20 @@
#lang racket/base
+;; crossfire: distributed brute force infrastructure
+;;
+;; Copyright (C) 2020 haskal
+;;
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU Affero General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU Affero General Public License for more details.
+;;
+;; You should have received a copy of the GNU Affero General Public License
+;; along with this program. If not, see .
(require racket/bool racket/function racket/match
(for-syntax racket/base racket/syntax)
diff --git a/crossfire/pattern.rkt b/crossfire/pattern.rkt
index 324ff03..927ae53 100644
--- a/crossfire/pattern.rkt
+++ b/crossfire/pattern.rkt
@@ -1,4 +1,20 @@
#lang racket/base
+;; crossfire: distributed brute force infrastructure
+;;
+;; Copyright (C) 2020 haskal
+;;
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU Affero General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU Affero General Public License for more details.
+;;
+;; You should have received a copy of the GNU Affero General Public License
+;; along with this program. If not, see .
(require racket/list racket/match)
diff --git a/crossfire/scribblings/crossfire.scrbl b/crossfire/scribblings/crossfire.scrbl
index ae2f4b7..09a33e8 100644
--- a/crossfire/scribblings/crossfire.scrbl
+++ b/crossfire/scribblings/crossfire.scrbl
@@ -1,4 +1,21 @@
#lang scribble/manual
+@;; crossfire: distributed brute force infrastructure
+@;;
+@;; Copyright (C) 2020 haskal
+@;;
+@;; This program is free software: you can redistribute it and/or modify
+@;; it under the terms of the GNU Affero General Public License as published by
+@;; the Free Software Foundation, either version 3 of the License, or
+@;; (at your option) any later version.
+@;;
+@;; This program is distributed in the hope that it will be useful,
+@;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+@;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+@;; GNU Affero General Public License for more details.
+@;;
+@;; You should have received a copy of the GNU Affero General Public License
+@;; along with this program. If not, see .
+
@require[@for-label[crossfire
racket/base]]
diff --git a/license.template b/license.template
new file mode 100644
index 0000000..90b7bcb
--- /dev/null
+++ b/license.template
@@ -0,0 +1,20 @@
+#lang scribble/text
+@(require racket/date "crossfire/info.rkt")
+@(define year-now (date-year (current-date)))
+@(define year (if (= year-now 2020) year-now @list{2020 - @year-now}))
+;; @#%info-lookup['collection]: @#%info-lookup['pkg-desc]
+;;
+;; Copyright (C) @year @(add-between (#%info-lookup 'pkg-authors) ", ")
+;;
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU Affero General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU Affero General Public License for more details.
+;;
+;; You should have received a copy of the GNU Affero General Public License
+;; along with this program. If not, see .