diff --git a/lib/cell.js b/lib/cell.js
index e938f6d5c6aaf72e53e0d222df848e4c5eb088cb..9d783bf39c81e674f6e68251253a0e1c14cd939b 100644
--- a/lib/cell.js
+++ b/lib/cell.js
@@ -1,3 +1,19 @@
+// Sudoku Solver
+// Copyright (C) 2020  Christoph (Sheogorath) Kern
+//
+// 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 <http://www.gnu.org/licenses/>.
+
 const EventEmitter = require('events');
 const {isValidSudokuNumber} = require("./utils.js");
 
diff --git a/lib/dependencySet.js b/lib/dependencySet.js
index f67713b1fcfac138d618117d55eb496a841cfa4c..67ad4f79eb9ee7d8d9d43ea53a26147be96586d3 100644
--- a/lib/dependencySet.js
+++ b/lib/dependencySet.js
@@ -1,3 +1,19 @@
+// Sudoku Solver
+// Copyright (C) 2020  Christoph (Sheogorath) Kern
+//
+// 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 <http://www.gnu.org/licenses/>.
+
 const EventEmitter = require('events');
 const {arrayEquals} = require('./utils');
 
diff --git a/lib/sudoku.js b/lib/sudoku.js
index 6a28ebd39f6bc767c67bf43cee508c09157b7880..f8ee891fe10501d67e2c42ffd86136d64d273902 100644
--- a/lib/sudoku.js
+++ b/lib/sudoku.js
@@ -1,3 +1,19 @@
+// Sudoku Solver
+// Copyright (C) 2020  Christoph (Sheogorath) Kern
+//
+// 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 <http://www.gnu.org/licenses/>.
+
 const Cell = require("./cell")
 const DependencySet = require("./dependencySet")
 
diff --git a/lib/utils.js b/lib/utils.js
index 8ad5d83beef4d22e4d18158614f0bb5463dbddfe..8d2e941adc87cfd9e5bb64929d088ce74c2245a0 100644
--- a/lib/utils.js
+++ b/lib/utils.js
@@ -1,3 +1,19 @@
+// Sudoku Solver
+// Copyright (C) 2020  Christoph (Sheogorath) Kern
+//
+// 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 <http://www.gnu.org/licenses/>.
+
 module.exports.isValidSudokuNumber = function isValidSudokuNumber(x) {
   // Some validation because we play sudoku
   if (x > 9 || x < 1) {
diff --git a/main.js b/main.js
index f78be315622dae293f8c7f68086aa85926f2b334..03fd184fa941de7a39610de0e1bf906ccd46e354 100644
--- a/main.js
+++ b/main.js
@@ -1,3 +1,19 @@
+// Sudoku Solver
+// Copyright (C) 2020  Christoph (Sheogorath) Kern
+//
+// 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 <http://www.gnu.org/licenses/>.
+
 const Sudoku = require("./lib/sudoku");
 
 const sudoku = new Sudoku();
diff --git a/test/cell.js b/test/cell.js
index 8fc44b0cc508389f0f10e22b0f7a8ac71525a187..9d64717fb43efcf6211f098c5d85ac4053d8c033 100644
--- a/test/cell.js
+++ b/test/cell.js
@@ -1,3 +1,19 @@
+// Sudoku Solver
+// Copyright (C) 2020  Christoph (Sheogorath) Kern
+//
+// 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 <http://www.gnu.org/licenses/>.
+
 const Cell = require("../lib/cell.js");
 const assert = require('assert');
 
diff --git a/test/dependencySet.js b/test/dependencySet.js
index 2db54e02035a99be25ee33fd9a9d8bb86d9dc41c..bed27ac13b0cd2bc2d3b377285bd4bd019dc70ac 100644
--- a/test/dependencySet.js
+++ b/test/dependencySet.js
@@ -1,3 +1,19 @@
+// Sudoku Solver
+// Copyright (C) 2020  Christoph (Sheogorath) Kern
+//
+// 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 <http://www.gnu.org/licenses/>.
+
 const Cell = require("../lib/cell");
 const DependencySet = require("../lib/dependencySet");
 const assert = require('assert');