diff --git a/EclipseUserGroupTrademarkLicenseAgreement-v1.0.pdf b/EclipseUserGroupTrademarkLicenseAgreement-v1.0.pdf
new file mode 100644
index 0000000..9effc5f
--- /dev/null
+++ b/EclipseUserGroupTrademarkLicenseAgreement-v1.0.pdf
Binary files differ
diff --git a/content/en_index.php b/content/en_index.php
index 79e3e16..3e99e8a 100644
--- a/content/en_index.php
+++ b/content/en_index.php
@@ -1,13 +1,12 @@
 <?php
 /**
- * Copyright (c) 2005, 2018 Eclipse Foundation and others.
+ * Copyright (c) 2005, 2020 Eclipse Foundation and others.
  *
  * This program and the accompanying materials are made available
  * under the terms of the Eclipse Public License 2.0 which accompanies
  * this distribution, and is available at http://eclipse.org/legal/epl-2.0
  *
- * Contributors:
- * Eric Poirier (Eclipse Foundation)
+ * SPDX-License-Identifier: EPL-2.0
  */
 ?>
 
@@ -100,6 +99,10 @@
         <li><a href="tck.php">Eclipse Foundation TCK License:</a>
           The binary license used by Technology Compatibility Kits to demonstrate compatibility with their corresponding Specifications.
         </li>
+        <li><a href="usergroups.php">Eclipse Foundation User Group Trademark License Agreement:</a>
+          Guidelines and agreements for user groups that are based on Eclipse Foundation projects 
+          and/or working groups. 
+        </li>
       </ul>
     </div>
     <div class="homeitem3col">
diff --git a/content/en_usergroups.php b/content/en_usergroups.php
new file mode 100644
index 0000000..7d0e04a
--- /dev/null
+++ b/content/en_usergroups.php
@@ -0,0 +1,68 @@
+<?php
+/**
+ * Copyright (c) 2005, 2020 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made available
+ * under the terms of the Eclipse Public License 2.0 which accompanies
+ * this distribution, and is available at http://eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+?>
+
+<div id="maincontent">
+	<div id="midcolumn">
+		<h1><?php echo $pageTitle; ?></h1>
+		<p>This document provides guidelines for user groups that are based on
+			Eclipse Foundation projects and/or working groups. These user groups
+			may leverage one or more Eclipse Foundation brands (e.g.,
+			Eclipse&reg; , Jakarta&reg; , or Tangle&trade; ).</p>
+		<p>
+			A User Group must first sign the <a
+				href="./EclipseUserGroupTrademarkLicenseAgreement-v1.0.pdf">Eclipse
+				User Group Trademark License Agreement</a> before using the relevant
+			brand. The agreement provides more detail about how the brand can be
+			used.
+		</p>
+		<ul>
+			<li>Any User Group must have a focus on an Eclipse Foundation open
+				source project and/or a working group community.</li>
+			<li>A User Group can be a separate organization, or a subgroup of a
+				larger group.</li>
+			<li>User Groups should promote free software both within the group
+				and in relationships with other organizations.</li>
+			<li>User Groups should make an effort to foster a positive message
+				about both Eclipse and free software.</li>
+			<li>It is necessary for any User Group to have a contact person who
+				can act as a representative for the group and who accepts
+				responsibility to ensure that the guidelines are followed. If the
+				User Group has a president, then the president would be a good
+				person to fill this role. For example, this person will be
+				responsible to ensure that the User Group follows the requirements
+				regarding how to use the Eclipse brand.</li>
+			<li>User Group members are expected to follow the Eclipse Foundation
+				<a href="/org/documents/Community_Code_of_Conduct.php">Community
+					Code of Conduct</a> at functions and interactions.
+			</li>
+		</ul>
+		<p>If a User Group is interested in having its own domain (e.g.
+			eclipse.xx), then please contact the Eclipse Foundation to discuss if
+			this is possible before registering the domain yourself.</p>
+		<p>
+			User Groups must follow the <a href="/legal/logo_guidelines.php">Guidelines
+				for Eclipse Logos &amp; Trademarks</a>.
+		</p>
+		<p>
+			<br>General questions or inquiries about starting a User Group or to
+			discuss a specific matter in relation to a User Group, please email <a
+				href="mailto:license@eclipse.org">license@eclipse.org</a>
+		</p>
+		<hr />
+		<p>
+			Based on <a class="https://wiki.gnome.org/UserGroups/Guidelines">GNOME
+				User Group Guidelines</a> and subject to the <a
+				href="https://creativecommons.org/licenses/by/4.0/">Creative Commons
+				Attribution 4.0 International License</a>
+		</p>
+	</div>
+</div>
\ No newline at end of file
diff --git a/usergroups.php b/usergroups.php
new file mode 100644
index 0000000..22e9282
--- /dev/null
+++ b/usergroups.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Copyright (c) 2005, 2020 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made available
+ * under the terms of the Eclipse Public License 2.0 which accompanies
+ * this distribution, and is available at http://eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
+require_once (dirname(__FILE__) . "/../eclipse.org-common/system/app.class.php");
+require_once (dirname(__FILE__) . "/../eclipse.org-common/system/nav.class.php");
+
+$App = new App();
+$Nav = new Nav();
+$Theme = $App->getThemeClass();
+
+include($App->getProjectCommon());
+
+$pageTitle = "Guidelines for User Groups that Support Eclipse Foundation Projects and Working Groups";
+$Theme->setPageTitle($pageTitle);
+$Theme->setPageKeywords("legal, documents, about");
+$Theme->setPageAuthor("Wayne Beaton");
+
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+ob_end_clean();
+$Theme->setNav($Nav);
+$Theme->setHtml($html);
+$Theme->generatePage();
\ No newline at end of file
