diff --git a/.github/stale.yml b/.github/stale.yml
index 07729841..373e2456 100644
--- a/.github/stale.yml
+++ b/.github/stale.yml
@@ -1,3 +1,19 @@
+#
+# Copyright (C) 2014 jsonwebtoken.io
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
diff --git a/api/src/main/java/io/jsonwebtoken/Clock.java b/api/src/main/java/io/jsonwebtoken/Clock.java
index 9e98d02b..584dd605 100644
--- a/api/src/main/java/io/jsonwebtoken/Clock.java
+++ b/api/src/main/java/io/jsonwebtoken/Clock.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken;
import java.util.Date;
diff --git a/api/src/main/java/io/jsonwebtoken/CompressionCodecs.java b/api/src/main/java/io/jsonwebtoken/CompressionCodecs.java
index 4a2fece6..71c2e8bb 100644
--- a/api/src/main/java/io/jsonwebtoken/CompressionCodecs.java
+++ b/api/src/main/java/io/jsonwebtoken/CompressionCodecs.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken;
import io.jsonwebtoken.lang.Classes;
diff --git a/api/src/main/java/io/jsonwebtoken/io/Base64.java b/api/src/main/java/io/jsonwebtoken/io/Base64.java
index 53293b86..201e3c54 100644
--- a/api/src/main/java/io/jsonwebtoken/io/Base64.java
+++ b/api/src/main/java/io/jsonwebtoken/io/Base64.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
import java.util.Arrays;
diff --git a/api/src/main/java/io/jsonwebtoken/io/Base64Decoder.java b/api/src/main/java/io/jsonwebtoken/io/Base64Decoder.java
index b2798a19..3c8bc817 100644
--- a/api/src/main/java/io/jsonwebtoken/io/Base64Decoder.java
+++ b/api/src/main/java/io/jsonwebtoken/io/Base64Decoder.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
import io.jsonwebtoken.lang.Assert;
diff --git a/api/src/main/java/io/jsonwebtoken/io/Base64Encoder.java b/api/src/main/java/io/jsonwebtoken/io/Base64Encoder.java
index feff18c0..963d8810 100644
--- a/api/src/main/java/io/jsonwebtoken/io/Base64Encoder.java
+++ b/api/src/main/java/io/jsonwebtoken/io/Base64Encoder.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
import io.jsonwebtoken.lang.Assert;
diff --git a/api/src/main/java/io/jsonwebtoken/io/Base64Support.java b/api/src/main/java/io/jsonwebtoken/io/Base64Support.java
index cc954b41..eed404d5 100644
--- a/api/src/main/java/io/jsonwebtoken/io/Base64Support.java
+++ b/api/src/main/java/io/jsonwebtoken/io/Base64Support.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
import io.jsonwebtoken.lang.Assert;
diff --git a/api/src/main/java/io/jsonwebtoken/io/Base64UrlDecoder.java b/api/src/main/java/io/jsonwebtoken/io/Base64UrlDecoder.java
index a648061c..0d26d948 100644
--- a/api/src/main/java/io/jsonwebtoken/io/Base64UrlDecoder.java
+++ b/api/src/main/java/io/jsonwebtoken/io/Base64UrlDecoder.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/Base64UrlEncoder.java b/api/src/main/java/io/jsonwebtoken/io/Base64UrlEncoder.java
index ca1e4072..86781922 100644
--- a/api/src/main/java/io/jsonwebtoken/io/Base64UrlEncoder.java
+++ b/api/src/main/java/io/jsonwebtoken/io/Base64UrlEncoder.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/CodecException.java b/api/src/main/java/io/jsonwebtoken/io/CodecException.java
index 8c483222..5b449bd9 100644
--- a/api/src/main/java/io/jsonwebtoken/io/CodecException.java
+++ b/api/src/main/java/io/jsonwebtoken/io/CodecException.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/Decoder.java b/api/src/main/java/io/jsonwebtoken/io/Decoder.java
index bceb42a6..f9f2c189 100644
--- a/api/src/main/java/io/jsonwebtoken/io/Decoder.java
+++ b/api/src/main/java/io/jsonwebtoken/io/Decoder.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/Decoders.java b/api/src/main/java/io/jsonwebtoken/io/Decoders.java
index e81f9b1e..3e95c28d 100644
--- a/api/src/main/java/io/jsonwebtoken/io/Decoders.java
+++ b/api/src/main/java/io/jsonwebtoken/io/Decoders.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/DecodingException.java b/api/src/main/java/io/jsonwebtoken/io/DecodingException.java
index 1b001053..0bbe62a1 100644
--- a/api/src/main/java/io/jsonwebtoken/io/DecodingException.java
+++ b/api/src/main/java/io/jsonwebtoken/io/DecodingException.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/DeserializationException.java b/api/src/main/java/io/jsonwebtoken/io/DeserializationException.java
index 4431d7f8..59559666 100644
--- a/api/src/main/java/io/jsonwebtoken/io/DeserializationException.java
+++ b/api/src/main/java/io/jsonwebtoken/io/DeserializationException.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/Deserializer.java b/api/src/main/java/io/jsonwebtoken/io/Deserializer.java
index d970dfaf..f66a73ed 100644
--- a/api/src/main/java/io/jsonwebtoken/io/Deserializer.java
+++ b/api/src/main/java/io/jsonwebtoken/io/Deserializer.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/Encoder.java b/api/src/main/java/io/jsonwebtoken/io/Encoder.java
index 0532ded2..6b28f31e 100644
--- a/api/src/main/java/io/jsonwebtoken/io/Encoder.java
+++ b/api/src/main/java/io/jsonwebtoken/io/Encoder.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/Encoders.java b/api/src/main/java/io/jsonwebtoken/io/Encoders.java
index 2d6a4150..3b7c060f 100644
--- a/api/src/main/java/io/jsonwebtoken/io/Encoders.java
+++ b/api/src/main/java/io/jsonwebtoken/io/Encoders.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/EncodingException.java b/api/src/main/java/io/jsonwebtoken/io/EncodingException.java
index dd82bd74..5b65389a 100644
--- a/api/src/main/java/io/jsonwebtoken/io/EncodingException.java
+++ b/api/src/main/java/io/jsonwebtoken/io/EncodingException.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/ExceptionPropagatingDecoder.java b/api/src/main/java/io/jsonwebtoken/io/ExceptionPropagatingDecoder.java
index 23e28a71..a0d98134 100644
--- a/api/src/main/java/io/jsonwebtoken/io/ExceptionPropagatingDecoder.java
+++ b/api/src/main/java/io/jsonwebtoken/io/ExceptionPropagatingDecoder.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
import io.jsonwebtoken.lang.Assert;
diff --git a/api/src/main/java/io/jsonwebtoken/io/ExceptionPropagatingEncoder.java b/api/src/main/java/io/jsonwebtoken/io/ExceptionPropagatingEncoder.java
index ba9dca0d..c483c8cd 100644
--- a/api/src/main/java/io/jsonwebtoken/io/ExceptionPropagatingEncoder.java
+++ b/api/src/main/java/io/jsonwebtoken/io/ExceptionPropagatingEncoder.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
import io.jsonwebtoken.lang.Assert;
diff --git a/api/src/main/java/io/jsonwebtoken/io/IOException.java b/api/src/main/java/io/jsonwebtoken/io/IOException.java
index 14f23c69..9ed1e031 100644
--- a/api/src/main/java/io/jsonwebtoken/io/IOException.java
+++ b/api/src/main/java/io/jsonwebtoken/io/IOException.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
import io.jsonwebtoken.JwtException;
diff --git a/api/src/main/java/io/jsonwebtoken/io/SerialException.java b/api/src/main/java/io/jsonwebtoken/io/SerialException.java
index 8207a9cd..86f70920 100644
--- a/api/src/main/java/io/jsonwebtoken/io/SerialException.java
+++ b/api/src/main/java/io/jsonwebtoken/io/SerialException.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/SerializationException.java b/api/src/main/java/io/jsonwebtoken/io/SerializationException.java
index 5a9a03c2..514830de 100644
--- a/api/src/main/java/io/jsonwebtoken/io/SerializationException.java
+++ b/api/src/main/java/io/jsonwebtoken/io/SerializationException.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/io/Serializer.java b/api/src/main/java/io/jsonwebtoken/io/Serializer.java
index 6129c7c6..5d6cd794 100644
--- a/api/src/main/java/io/jsonwebtoken/io/Serializer.java
+++ b/api/src/main/java/io/jsonwebtoken/io/Serializer.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/lang/Arrays.java b/api/src/main/java/io/jsonwebtoken/lang/Arrays.java
index 600c1658..6b58a376 100644
--- a/api/src/main/java/io/jsonwebtoken/lang/Arrays.java
+++ b/api/src/main/java/io/jsonwebtoken/lang/Arrays.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.lang;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/lang/DateFormats.java b/api/src/main/java/io/jsonwebtoken/lang/DateFormats.java
index e8a67e14..250d9892 100644
--- a/api/src/main/java/io/jsonwebtoken/lang/DateFormats.java
+++ b/api/src/main/java/io/jsonwebtoken/lang/DateFormats.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.lang;
import java.text.DateFormat;
diff --git a/api/src/main/java/io/jsonwebtoken/security/InvalidKeyException.java b/api/src/main/java/io/jsonwebtoken/security/InvalidKeyException.java
index 3c21361b..2e3b84b8 100644
--- a/api/src/main/java/io/jsonwebtoken/security/InvalidKeyException.java
+++ b/api/src/main/java/io/jsonwebtoken/security/InvalidKeyException.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.security;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/security/KeyException.java b/api/src/main/java/io/jsonwebtoken/security/KeyException.java
index d435a762..0db21924 100644
--- a/api/src/main/java/io/jsonwebtoken/security/KeyException.java
+++ b/api/src/main/java/io/jsonwebtoken/security/KeyException.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.security;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/security/Keys.java b/api/src/main/java/io/jsonwebtoken/security/Keys.java
index 3160ac72..cb478424 100644
--- a/api/src/main/java/io/jsonwebtoken/security/Keys.java
+++ b/api/src/main/java/io/jsonwebtoken/security/Keys.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.security;
import io.jsonwebtoken.SignatureAlgorithm;
diff --git a/api/src/main/java/io/jsonwebtoken/security/SecurityException.java b/api/src/main/java/io/jsonwebtoken/security/SecurityException.java
index 57e80b16..8b5f8abd 100644
--- a/api/src/main/java/io/jsonwebtoken/security/SecurityException.java
+++ b/api/src/main/java/io/jsonwebtoken/security/SecurityException.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.security;
import io.jsonwebtoken.JwtException;
diff --git a/api/src/main/java/io/jsonwebtoken/security/SignatureException.java b/api/src/main/java/io/jsonwebtoken/security/SignatureException.java
index 2ab77cfd..7cddb2ca 100644
--- a/api/src/main/java/io/jsonwebtoken/security/SignatureException.java
+++ b/api/src/main/java/io/jsonwebtoken/security/SignatureException.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.security;
/**
diff --git a/api/src/main/java/io/jsonwebtoken/security/WeakKeyException.java b/api/src/main/java/io/jsonwebtoken/security/WeakKeyException.java
index ad32cde2..8a7688fe 100644
--- a/api/src/main/java/io/jsonwebtoken/security/WeakKeyException.java
+++ b/api/src/main/java/io/jsonwebtoken/security/WeakKeyException.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.security;
/**
diff --git a/api/src/test/groovy/io/jsonwebtoken/CompressionCodecsTest.groovy b/api/src/test/groovy/io/jsonwebtoken/CompressionCodecsTest.groovy
index fa018280..33411d35 100644
--- a/api/src/test/groovy/io/jsonwebtoken/CompressionCodecsTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/CompressionCodecsTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken
import io.jsonwebtoken.lang.Classes
diff --git a/api/src/test/groovy/io/jsonwebtoken/JwtsTest.groovy b/api/src/test/groovy/io/jsonwebtoken/JwtsTest.groovy
index 3c540db5..f42793b1 100644
--- a/api/src/test/groovy/io/jsonwebtoken/JwtsTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/JwtsTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken
import io.jsonwebtoken.lang.Classes
diff --git a/api/src/test/groovy/io/jsonwebtoken/MalformedJwtExceptionTest.groovy b/api/src/test/groovy/io/jsonwebtoken/MalformedJwtExceptionTest.groovy
index d07c88ed..0fa3eebf 100644
--- a/api/src/test/groovy/io/jsonwebtoken/MalformedJwtExceptionTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/MalformedJwtExceptionTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/RequiredTypeExceptionTest.groovy b/api/src/test/groovy/io/jsonwebtoken/RequiredTypeExceptionTest.groovy
index e82ff670..3a9f274b 100644
--- a/api/src/test/groovy/io/jsonwebtoken/RequiredTypeExceptionTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/RequiredTypeExceptionTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/SignatureExceptionTest.groovy b/api/src/test/groovy/io/jsonwebtoken/SignatureExceptionTest.groovy
index fa04b3b2..1ae0015b 100644
--- a/api/src/test/groovy/io/jsonwebtoken/SignatureExceptionTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/SignatureExceptionTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/SigningKeyResolverAdapterTest.groovy b/api/src/test/groovy/io/jsonwebtoken/SigningKeyResolverAdapterTest.groovy
index a1c58882..d3520802 100644
--- a/api/src/test/groovy/io/jsonwebtoken/SigningKeyResolverAdapterTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/SigningKeyResolverAdapterTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/UnsupportedJwtExceptionTest.groovy b/api/src/test/groovy/io/jsonwebtoken/UnsupportedJwtExceptionTest.groovy
index b4fde5e2..384617ec 100644
--- a/api/src/test/groovy/io/jsonwebtoken/UnsupportedJwtExceptionTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/UnsupportedJwtExceptionTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/io/Base64DecoderTest.groovy b/api/src/test/groovy/io/jsonwebtoken/io/Base64DecoderTest.groovy
index 81a2b11d..b4d0e161 100644
--- a/api/src/test/groovy/io/jsonwebtoken/io/Base64DecoderTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/io/Base64DecoderTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import io.jsonwebtoken.lang.Strings
diff --git a/api/src/test/groovy/io/jsonwebtoken/io/Base64EncoderTest.groovy b/api/src/test/groovy/io/jsonwebtoken/io/Base64EncoderTest.groovy
index fe4fc9b2..73fe893c 100644
--- a/api/src/test/groovy/io/jsonwebtoken/io/Base64EncoderTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/io/Base64EncoderTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import io.jsonwebtoken.lang.Strings
diff --git a/api/src/test/groovy/io/jsonwebtoken/io/Base64Test.groovy b/api/src/test/groovy/io/jsonwebtoken/io/Base64Test.groovy
index ffcef846..d53f31df 100644
--- a/api/src/test/groovy/io/jsonwebtoken/io/Base64Test.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/io/Base64Test.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import io.jsonwebtoken.lang.Strings
diff --git a/api/src/test/groovy/io/jsonwebtoken/io/CodecExceptionTest.groovy b/api/src/test/groovy/io/jsonwebtoken/io/CodecExceptionTest.groovy
index 92d686e6..19470411 100644
--- a/api/src/test/groovy/io/jsonwebtoken/io/CodecExceptionTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/io/CodecExceptionTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/io/DecodersTest.groovy b/api/src/test/groovy/io/jsonwebtoken/io/DecodersTest.groovy
index 1f953c1b..a10acc74 100644
--- a/api/src/test/groovy/io/jsonwebtoken/io/DecodersTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/io/DecodersTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/io/DecodingExceptionTest.groovy b/api/src/test/groovy/io/jsonwebtoken/io/DecodingExceptionTest.groovy
index 38a85647..0a737f44 100644
--- a/api/src/test/groovy/io/jsonwebtoken/io/DecodingExceptionTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/io/DecodingExceptionTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/io/DeserializationExceptionTest.groovy b/api/src/test/groovy/io/jsonwebtoken/io/DeserializationExceptionTest.groovy
index ded8484c..08b4fb11 100644
--- a/api/src/test/groovy/io/jsonwebtoken/io/DeserializationExceptionTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/io/DeserializationExceptionTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/io/EncodersTest.groovy b/api/src/test/groovy/io/jsonwebtoken/io/EncodersTest.groovy
index fc4acfd1..d4b323cb 100644
--- a/api/src/test/groovy/io/jsonwebtoken/io/EncodersTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/io/EncodersTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/io/EncodingExceptionTest.groovy b/api/src/test/groovy/io/jsonwebtoken/io/EncodingExceptionTest.groovy
index f4fbbd3a..50ada23f 100644
--- a/api/src/test/groovy/io/jsonwebtoken/io/EncodingExceptionTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/io/EncodingExceptionTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/io/ExceptionPropagatingDecoderTest.groovy b/api/src/test/groovy/io/jsonwebtoken/io/ExceptionPropagatingDecoderTest.groovy
index 8268e8f0..3a1946f7 100644
--- a/api/src/test/groovy/io/jsonwebtoken/io/ExceptionPropagatingDecoderTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/io/ExceptionPropagatingDecoderTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/io/ExceptionPropagatingEncoderTest.groovy b/api/src/test/groovy/io/jsonwebtoken/io/ExceptionPropagatingEncoderTest.groovy
index 965115a9..c36d2df6 100644
--- a/api/src/test/groovy/io/jsonwebtoken/io/ExceptionPropagatingEncoderTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/io/ExceptionPropagatingEncoderTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/io/SerializationExceptionTest.groovy b/api/src/test/groovy/io/jsonwebtoken/io/SerializationExceptionTest.groovy
index 1709e2ec..9bc73e61 100644
--- a/api/src/test/groovy/io/jsonwebtoken/io/SerializationExceptionTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/io/SerializationExceptionTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/lang/DateFormatsTest.groovy b/api/src/test/groovy/io/jsonwebtoken/lang/DateFormatsTest.groovy
index bc928b94..39123bd5 100644
--- a/api/src/test/groovy/io/jsonwebtoken/lang/DateFormatsTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/lang/DateFormatsTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.lang
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/lang/StringsTest.groovy b/api/src/test/groovy/io/jsonwebtoken/lang/StringsTest.groovy
index def31169..36540f43 100644
--- a/api/src/test/groovy/io/jsonwebtoken/lang/StringsTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/lang/StringsTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.lang
import org.junit.Test
diff --git a/api/src/test/groovy/io/jsonwebtoken/security/KeysTest.groovy b/api/src/test/groovy/io/jsonwebtoken/security/KeysTest.groovy
index 23742867..7635491c 100644
--- a/api/src/test/groovy/io/jsonwebtoken/security/KeysTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/security/KeysTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.security
import io.jsonwebtoken.SignatureAlgorithm
diff --git a/api/src/test/groovy/io/jsonwebtoken/security/SignatureExceptionTest.groovy b/api/src/test/groovy/io/jsonwebtoken/security/SignatureExceptionTest.groovy
index 8110ef4b..86a406da 100644
--- a/api/src/test/groovy/io/jsonwebtoken/security/SignatureExceptionTest.groovy
+++ b/api/src/test/groovy/io/jsonwebtoken/security/SignatureExceptionTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.security
import org.junit.Test
diff --git a/extensions/gson/src/main/java/io/jsonwebtoken/gson/io/GsonDeserializer.java b/extensions/gson/src/main/java/io/jsonwebtoken/gson/io/GsonDeserializer.java
index b3dfc843..75ac69b7 100644
--- a/extensions/gson/src/main/java/io/jsonwebtoken/gson/io/GsonDeserializer.java
+++ b/extensions/gson/src/main/java/io/jsonwebtoken/gson/io/GsonDeserializer.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.gson.io;
import com.google.gson.Gson;
diff --git a/extensions/gson/src/main/java/io/jsonwebtoken/gson/io/GsonSerializer.java b/extensions/gson/src/main/java/io/jsonwebtoken/gson/io/GsonSerializer.java
index f3050690..bb0d76f5 100644
--- a/extensions/gson/src/main/java/io/jsonwebtoken/gson/io/GsonSerializer.java
+++ b/extensions/gson/src/main/java/io/jsonwebtoken/gson/io/GsonSerializer.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.gson.io;
import com.google.gson.Gson;
diff --git a/extensions/gson/src/test/groovy/io/jsonwebtoken/gson/io/GsonDeserializerTest.groovy b/extensions/gson/src/test/groovy/io/jsonwebtoken/gson/io/GsonDeserializerTest.groovy
index 40c5caf8..dae7d093 100644
--- a/extensions/gson/src/test/groovy/io/jsonwebtoken/gson/io/GsonDeserializerTest.groovy
+++ b/extensions/gson/src/test/groovy/io/jsonwebtoken/gson/io/GsonDeserializerTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.gson.io
import com.google.gson.Gson
diff --git a/extensions/gson/src/test/groovy/io/jsonwebtoken/gson/io/GsonSerializerTest.groovy b/extensions/gson/src/test/groovy/io/jsonwebtoken/gson/io/GsonSerializerTest.groovy
index b65d68a9..0538df4c 100644
--- a/extensions/gson/src/test/groovy/io/jsonwebtoken/gson/io/GsonSerializerTest.groovy
+++ b/extensions/gson/src/test/groovy/io/jsonwebtoken/gson/io/GsonSerializerTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.gson.io
import io.jsonwebtoken.lang.Strings
diff --git a/extensions/jackson/src/main/java/io/jsonwebtoken/io/JacksonDeserializer.java b/extensions/jackson/src/main/java/io/jsonwebtoken/io/JacksonDeserializer.java
index c9dd9e07..74a93ed4 100644
--- a/extensions/jackson/src/main/java/io/jsonwebtoken/io/JacksonDeserializer.java
+++ b/extensions/jackson/src/main/java/io/jsonwebtoken/io/JacksonDeserializer.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/extensions/jackson/src/main/java/io/jsonwebtoken/io/JacksonSerializer.java b/extensions/jackson/src/main/java/io/jsonwebtoken/io/JacksonSerializer.java
index 04650188..89e06ae8 100644
--- a/extensions/jackson/src/main/java/io/jsonwebtoken/io/JacksonSerializer.java
+++ b/extensions/jackson/src/main/java/io/jsonwebtoken/io/JacksonSerializer.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
import com.fasterxml.jackson.core.JsonProcessingException;
diff --git a/extensions/jackson/src/test/groovy/io/jsonwebtoken/io/JacksonDeserializerTest.groovy b/extensions/jackson/src/test/groovy/io/jsonwebtoken/io/JacksonDeserializerTest.groovy
index cfb23c95..56e06d5d 100644
--- a/extensions/jackson/src/test/groovy/io/jsonwebtoken/io/JacksonDeserializerTest.groovy
+++ b/extensions/jackson/src/test/groovy/io/jsonwebtoken/io/JacksonDeserializerTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import com.fasterxml.jackson.databind.ObjectMapper
diff --git a/extensions/jackson/src/test/groovy/io/jsonwebtoken/io/JacksonSerializerTest.groovy b/extensions/jackson/src/test/groovy/io/jsonwebtoken/io/JacksonSerializerTest.groovy
index 08f70ee6..d656c292 100644
--- a/extensions/jackson/src/test/groovy/io/jsonwebtoken/io/JacksonSerializerTest.groovy
+++ b/extensions/jackson/src/test/groovy/io/jsonwebtoken/io/JacksonSerializerTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import com.fasterxml.jackson.core.JsonProcessingException
diff --git a/extensions/orgjson/src/main/java/io/jsonwebtoken/io/OrgJsonDeserializer.java b/extensions/orgjson/src/main/java/io/jsonwebtoken/io/OrgJsonDeserializer.java
index e6ede8a1..fc7e7dea 100644
--- a/extensions/orgjson/src/main/java/io/jsonwebtoken/io/OrgJsonDeserializer.java
+++ b/extensions/orgjson/src/main/java/io/jsonwebtoken/io/OrgJsonDeserializer.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
import io.jsonwebtoken.lang.Assert;
diff --git a/extensions/orgjson/src/main/java/io/jsonwebtoken/io/OrgJsonSerializer.java b/extensions/orgjson/src/main/java/io/jsonwebtoken/io/OrgJsonSerializer.java
index 549342c4..a557b244 100644
--- a/extensions/orgjson/src/main/java/io/jsonwebtoken/io/OrgJsonSerializer.java
+++ b/extensions/orgjson/src/main/java/io/jsonwebtoken/io/OrgJsonSerializer.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io;
import io.jsonwebtoken.lang.Classes;
diff --git a/extensions/orgjson/src/test/groovy/io/jsonwebtoken/io/AndroidOrgJsonSerializerTest.groovy b/extensions/orgjson/src/test/groovy/io/jsonwebtoken/io/AndroidOrgJsonSerializerTest.groovy
index 1146947d..d5eeb58a 100644
--- a/extensions/orgjson/src/test/groovy/io/jsonwebtoken/io/AndroidOrgJsonSerializerTest.groovy
+++ b/extensions/orgjson/src/test/groovy/io/jsonwebtoken/io/AndroidOrgJsonSerializerTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import io.jsonwebtoken.lang.Classes
diff --git a/extensions/orgjson/src/test/groovy/io/jsonwebtoken/io/OrgJsonDeserializerTest.groovy b/extensions/orgjson/src/test/groovy/io/jsonwebtoken/io/OrgJsonDeserializerTest.groovy
index 172ab75c..2e283747 100644
--- a/extensions/orgjson/src/test/groovy/io/jsonwebtoken/io/OrgJsonDeserializerTest.groovy
+++ b/extensions/orgjson/src/test/groovy/io/jsonwebtoken/io/OrgJsonDeserializerTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import io.jsonwebtoken.lang.Strings
diff --git a/extensions/orgjson/src/test/groovy/io/jsonwebtoken/io/OrgJsonSerializerTest.groovy b/extensions/orgjson/src/test/groovy/io/jsonwebtoken/io/OrgJsonSerializerTest.groovy
index bcbbc096..695626bf 100644
--- a/extensions/orgjson/src/test/groovy/io/jsonwebtoken/io/OrgJsonSerializerTest.groovy
+++ b/extensions/orgjson/src/test/groovy/io/jsonwebtoken/io/OrgJsonSerializerTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.io
import io.jsonwebtoken.SignatureAlgorithm
diff --git a/impl/src/main/java/io/jsonwebtoken/impl/DefaultClock.java b/impl/src/main/java/io/jsonwebtoken/impl/DefaultClock.java
index 0bf8171c..bd9d4ecb 100644
--- a/impl/src/main/java/io/jsonwebtoken/impl/DefaultClock.java
+++ b/impl/src/main/java/io/jsonwebtoken/impl/DefaultClock.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl;
import io.jsonwebtoken.Clock;
diff --git a/impl/src/main/java/io/jsonwebtoken/impl/FixedClock.java b/impl/src/main/java/io/jsonwebtoken/impl/FixedClock.java
index 88de45dc..205035ce 100644
--- a/impl/src/main/java/io/jsonwebtoken/impl/FixedClock.java
+++ b/impl/src/main/java/io/jsonwebtoken/impl/FixedClock.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl;
import io.jsonwebtoken.Clock;
diff --git a/impl/src/main/java/io/jsonwebtoken/impl/io/InstanceLocator.java b/impl/src/main/java/io/jsonwebtoken/impl/io/InstanceLocator.java
index e96f4bda..4c1e1224 100644
--- a/impl/src/main/java/io/jsonwebtoken/impl/io/InstanceLocator.java
+++ b/impl/src/main/java/io/jsonwebtoken/impl/io/InstanceLocator.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl.io;
/**
diff --git a/impl/src/main/java/io/jsonwebtoken/impl/io/RuntimeClasspathDeserializerLocator.java b/impl/src/main/java/io/jsonwebtoken/impl/io/RuntimeClasspathDeserializerLocator.java
index 022bb289..bf9ba81c 100644
--- a/impl/src/main/java/io/jsonwebtoken/impl/io/RuntimeClasspathDeserializerLocator.java
+++ b/impl/src/main/java/io/jsonwebtoken/impl/io/RuntimeClasspathDeserializerLocator.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl.io;
import io.jsonwebtoken.io.Deserializer;
diff --git a/impl/src/main/java/io/jsonwebtoken/impl/io/RuntimeClasspathSerializerLocator.java b/impl/src/main/java/io/jsonwebtoken/impl/io/RuntimeClasspathSerializerLocator.java
index 425325b6..c87b41f0 100644
--- a/impl/src/main/java/io/jsonwebtoken/impl/io/RuntimeClasspathSerializerLocator.java
+++ b/impl/src/main/java/io/jsonwebtoken/impl/io/RuntimeClasspathSerializerLocator.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl.io;
import io.jsonwebtoken.io.Serializer;
diff --git a/impl/src/test/groovy/io/jsonwebtoken/impl/Base64CodecTest.groovy b/impl/src/test/groovy/io/jsonwebtoken/impl/Base64CodecTest.groovy
index d9f0dedd..1b6264b5 100644
--- a/impl/src/test/groovy/io/jsonwebtoken/impl/Base64CodecTest.groovy
+++ b/impl/src/test/groovy/io/jsonwebtoken/impl/Base64CodecTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl
import org.junit.Test
diff --git a/impl/src/test/groovy/io/jsonwebtoken/impl/Base64UrlCodecTest.groovy b/impl/src/test/groovy/io/jsonwebtoken/impl/Base64UrlCodecTest.groovy
index b1f4971b..5101b6f5 100644
--- a/impl/src/test/groovy/io/jsonwebtoken/impl/Base64UrlCodecTest.groovy
+++ b/impl/src/test/groovy/io/jsonwebtoken/impl/Base64UrlCodecTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl
import io.jsonwebtoken.lang.Strings
diff --git a/impl/src/test/groovy/io/jsonwebtoken/impl/DefaultJwtParserTest.groovy b/impl/src/test/groovy/io/jsonwebtoken/impl/DefaultJwtParserTest.groovy
index 1080b218..e044adae 100644
--- a/impl/src/test/groovy/io/jsonwebtoken/impl/DefaultJwtParserTest.groovy
+++ b/impl/src/test/groovy/io/jsonwebtoken/impl/DefaultJwtParserTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl
import com.fasterxml.jackson.databind.ObjectMapper
diff --git a/impl/src/test/groovy/io/jsonwebtoken/impl/DefaultJwtTest.groovy b/impl/src/test/groovy/io/jsonwebtoken/impl/DefaultJwtTest.groovy
index e916e509..1832d6a2 100644
--- a/impl/src/test/groovy/io/jsonwebtoken/impl/DefaultJwtTest.groovy
+++ b/impl/src/test/groovy/io/jsonwebtoken/impl/DefaultJwtTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl
import io.jsonwebtoken.Jwt
diff --git a/impl/src/test/groovy/io/jsonwebtoken/impl/FixedClockTest.groovy b/impl/src/test/groovy/io/jsonwebtoken/impl/FixedClockTest.groovy
index fc092e6a..3e39f03f 100644
--- a/impl/src/test/groovy/io/jsonwebtoken/impl/FixedClockTest.groovy
+++ b/impl/src/test/groovy/io/jsonwebtoken/impl/FixedClockTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl
import org.junit.Test
diff --git a/impl/src/test/groovy/io/jsonwebtoken/impl/compression/CompressionCodecsTest.groovy b/impl/src/test/groovy/io/jsonwebtoken/impl/compression/CompressionCodecsTest.groovy
index 06fd6def..4fea8b96 100644
--- a/impl/src/test/groovy/io/jsonwebtoken/impl/compression/CompressionCodecsTest.groovy
+++ b/impl/src/test/groovy/io/jsonwebtoken/impl/compression/CompressionCodecsTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl.compression
import org.junit.Test
diff --git a/impl/src/test/groovy/io/jsonwebtoken/impl/crypto/DefaultJwtSignatureValidatorTest.groovy b/impl/src/test/groovy/io/jsonwebtoken/impl/crypto/DefaultJwtSignatureValidatorTest.groovy
index b510ae80..5362d40c 100644
--- a/impl/src/test/groovy/io/jsonwebtoken/impl/crypto/DefaultJwtSignatureValidatorTest.groovy
+++ b/impl/src/test/groovy/io/jsonwebtoken/impl/crypto/DefaultJwtSignatureValidatorTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl.crypto
import io.jsonwebtoken.SignatureAlgorithm
diff --git a/impl/src/test/groovy/io/jsonwebtoken/impl/crypto/DefaultJwtSignerTest.groovy b/impl/src/test/groovy/io/jsonwebtoken/impl/crypto/DefaultJwtSignerTest.groovy
index 5888899a..e0f1b7ea 100644
--- a/impl/src/test/groovy/io/jsonwebtoken/impl/crypto/DefaultJwtSignerTest.groovy
+++ b/impl/src/test/groovy/io/jsonwebtoken/impl/crypto/DefaultJwtSignerTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl.crypto
import io.jsonwebtoken.SignatureAlgorithm
diff --git a/impl/src/test/groovy/io/jsonwebtoken/impl/crypto/PowermockMacProviderTest.groovy b/impl/src/test/groovy/io/jsonwebtoken/impl/crypto/PowermockMacProviderTest.groovy
index 824ad0e6..4058d422 100644
--- a/impl/src/test/groovy/io/jsonwebtoken/impl/crypto/PowermockMacProviderTest.groovy
+++ b/impl/src/test/groovy/io/jsonwebtoken/impl/crypto/PowermockMacProviderTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl.crypto
import io.jsonwebtoken.SignatureAlgorithm
diff --git a/impl/src/test/groovy/io/jsonwebtoken/impl/io/RuntimeClasspathDeserializerLocatorTest.groovy b/impl/src/test/groovy/io/jsonwebtoken/impl/io/RuntimeClasspathDeserializerLocatorTest.groovy
index 986a5edb..ad6a46b1 100644
--- a/impl/src/test/groovy/io/jsonwebtoken/impl/io/RuntimeClasspathDeserializerLocatorTest.groovy
+++ b/impl/src/test/groovy/io/jsonwebtoken/impl/io/RuntimeClasspathDeserializerLocatorTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl.io
import com.fasterxml.jackson.databind.ObjectMapper
diff --git a/impl/src/test/groovy/io/jsonwebtoken/impl/io/RuntimeClasspathSerializerLocatorTest.groovy b/impl/src/test/groovy/io/jsonwebtoken/impl/io/RuntimeClasspathSerializerLocatorTest.groovy
index b2faa4b4..2bd736cb 100644
--- a/impl/src/test/groovy/io/jsonwebtoken/impl/io/RuntimeClasspathSerializerLocatorTest.groovy
+++ b/impl/src/test/groovy/io/jsonwebtoken/impl/io/RuntimeClasspathSerializerLocatorTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.impl.io
import io.jsonwebtoken.io.Serializer
diff --git a/impl/src/test/groovy/io/jsonwebtoken/security/KeysImplTest.groovy b/impl/src/test/groovy/io/jsonwebtoken/security/KeysImplTest.groovy
index e7aeb0c9..80e571bd 100644
--- a/impl/src/test/groovy/io/jsonwebtoken/security/KeysImplTest.groovy
+++ b/impl/src/test/groovy/io/jsonwebtoken/security/KeysImplTest.groovy
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2014 jsonwebtoken.io
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package io.jsonwebtoken.security
import io.jsonwebtoken.SignatureAlgorithm
diff --git a/pom.xml b/pom.xml
index d71fb126..29c05046 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,6 +31,12 @@
pom
https://github.com/jwtk/jjwt
+
+ jsonwebtoken.io
+ https://github.com/jwtk/jjwt
+
+ 2014
+
Apache License, Version 2.0
@@ -231,6 +237,30 @@
100.000000%
+
+ com.mycila
+ license-maven-plugin
+ 3.0
+
+ true
+ true
+ ${jjwt.root}/src/license/header.txt
+
+ ${jjwt.root}/src/license/header_format.xml
+
+
+ ${project.organization.name}
+ 2019
+
+
+ **/*.txt
+ LICENSE
+ **/lombok.config
+ **/mvnw
+ .gitattributes
+
+
+
diff --git a/src/license/header.txt b/src/license/header.txt
new file mode 100644
index 00000000..07a81f4c
--- /dev/null
+++ b/src/license/header.txt
@@ -0,0 +1,13 @@
+Copyright (C) ${year} ${organization.name}
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
\ No newline at end of file
diff --git a/src/license/header_format.xml b/src/license/header_format.xml
new file mode 100644
index 00000000..9ce0b82b
--- /dev/null
+++ b/src/license/header_format.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+ ~
+ ]]>
+ $]]>
+
+ (\s|\t)*$]]>
+ false
+ true
+ false
+
+
+ /*
+ *
+ */
+ (\s|\t)*/\*.*$
+ .*\*/(\s|\t)*$
+ false
+ true
+ false
+
+
\ No newline at end of file