diff --git a/README.rst b/README.rst
index 3a78aac..61f8e32 100644
--- a/README.rst
+++ b/README.rst
@@ -47,3 +47,20 @@ License
Synthale is released under the GPLv3_ license.
.. _GPLv3: LICENSE
+
+::
+
+ Copyright (C) 2019 Mike Shoup
+
+ 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 .
diff --git a/src/synthale/cli.py b/src/synthale/cli.py
index 4b41418..38cb9ea 100644
--- a/src/synthale/cli.py
+++ b/src/synthale/cli.py
@@ -1,5 +1,20 @@
"""Contains the commands for the CLI interface."""
+# Copyright (C) 2019 Mike Shoup
+#
+# 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 .
+
import click
from synthale.recipes import load_file, load_all_files, write_recipes
diff --git a/src/synthale/convert.py b/src/synthale/convert.py
index 05b8ed7..13961ac 100644
--- a/src/synthale/convert.py
+++ b/src/synthale/convert.py
@@ -5,6 +5,21 @@ units are the defaults used in the BeerXML format, and as a result, in
`pybeerxml`.
"""
+# Copyright (C) 2019 Mike Shoup
+#
+# 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 .
+
def liters(liters, format_spec=''):
"""Return a string with the unit appended.
diff --git a/src/synthale/markdown.py b/src/synthale/markdown.py
index 0348dfa..7513c46 100644
--- a/src/synthale/markdown.py
+++ b/src/synthale/markdown.py
@@ -1,5 +1,20 @@
"""This module contains functions to generate markdown elements."""
+# Copyright (C) 2019 Mike Shoup
+#
+# 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 .
+
import re
diff --git a/src/synthale/recipes.py b/src/synthale/recipes.py
index 86d5ee7..39fc47b 100644
--- a/src/synthale/recipes.py
+++ b/src/synthale/recipes.py
@@ -1,5 +1,20 @@
"""Use this module to parse BeerXML files."""
+# Copyright (C) 2019 Mike Shoup
+#
+# 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 .
+
import os
import re
import sys
diff --git a/tests/conftest.py b/tests/conftest.py
index 974e0ee..f7aa05b 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,5 +1,20 @@
"""Contains fixtures used during tests."""
+# Copyright (C) 2019 Mike Shoup
+#
+# 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 .
+
import pytest
import pybeerxml
diff --git a/tests/test_cli.py b/tests/test_cli.py
index e37c39b..ad7c13d 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -1,5 +1,20 @@
"""Test interactions with the CLI."""
+# Copyright (C) 2019 Mike Shoup
+#
+# 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 .
+
from click.testing import CliRunner
from synthale.cli import main
diff --git a/tests/test_convert.py b/tests/test_convert.py
index 41394bd..9e457db 100644
--- a/tests/test_convert.py
+++ b/tests/test_convert.py
@@ -1,5 +1,20 @@
"""Contains tests for the synthale.convert module."""
+# Copyright (C) 2019 Mike Shoup
+#
+# 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 .
+
from synthale import convert
diff --git a/tests/test_markdown.py b/tests/test_markdown.py
index f8ba151..610f7c7 100644
--- a/tests/test_markdown.py
+++ b/tests/test_markdown.py
@@ -1,4 +1,20 @@
"""Contains tests for the synthale.markdown module."""
+
+# Copyright (C) 2019 Mike Shoup
+#
+# 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 .
+
import pytest
from synthale import markdown
diff --git a/tests/test_recipes.py b/tests/test_recipes.py
index 1f0e608..151895d 100644
--- a/tests/test_recipes.py
+++ b/tests/test_recipes.py
@@ -1,5 +1,20 @@
"""Contains tests for the synthale.recipes module."""
+# Copyright (C) 2019 Mike Shoup
+#
+# 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 .
+
import pybeerxml
from synthale.recipes import (