diff --git a/annotation/pom.xml b/annotation/pom.xml
new file mode 100644
index 00000000..e71fc2b1
--- /dev/null
+++ b/annotation/pom.xml
@@ -0,0 +1,40 @@
+
+
+ 4.0.0
+
+
+ io.smallrye.common
+ smallrye-common-parent
+ 1.0.2-SNAPSHOT
+
+
+ smallrye-common-annotation
+
+ SmallRye Common: Annotations
+
+
+
+ coverage
+
+ @{jacocoArgLine}
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
+ report
+ verify
+
+ report
+
+
+
+
+
+
+
+
+
diff --git a/annotation/src/main/java/io/smallrye/common/annotation/Experimental.java b/annotation/src/main/java/io/smallrye/common/annotation/Experimental.java
new file mode 100644
index 00000000..522ebc6f
--- /dev/null
+++ b/annotation/src/main/java/io/smallrye/common/annotation/Experimental.java
@@ -0,0 +1,24 @@
+package io.smallrye.common.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation that specifies that an element is experimental and may change without notice.
+ */
+@Inherited
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ ElementType.METHOD, ElementType.TYPE })
+public @interface Experimental {
+ /**
+ * Describes why the annotated element is experimental.
+ *
+ * @return the experimental description.
+ */
+ String value() default "";
+}
diff --git a/pom.xml b/pom.xml
index 8a17a4f4..72adf87c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,6 +45,7 @@
+ annotation
constraint
cpu
expression