diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index f80afbf..b74f087 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -53,6 +53,19 @@
 - <https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EPP>
 
 
+EPP Committer and Maintainer Policy
+-----------------------------------
+
+In EPP, the "maintainer" of a package is a committer in EPP. Partially so they can do work on their package, and also so that can participate in project discussions and decisions that effect the project or whole set of EPP packages.
+
+Historical note 1: in 2010, the current set of committers were "seeded" by making all current maintainers committers. Prior to that, there was only one active committer, the Project Lead, Markus Knauer, which was less than ideal for many reasons. Now that time has passed, it was thought best to document the EPP project's policy on making new people committers and maintainers of packages (either new packages, or transfer "ownership" of an existing package). In particular, it was decided to follow "the Orbit model" of committership and package "owner".
+
+Historical note 2: this policy used to live on the wiki and was moved to the git repo from: https://wiki.eclipse.org/EPP/EPP_Committer_and_Maintainer_Policy
+
+If someone is a committer on another Eclipse project, and they state they are interested in contributing and maintaining an EPP package (or, transferring ownership of an existing EPP package), that history with other Eclipse projects suffices for them to be nominated and voted-in as a committer. This differs from most other projects where, for good reason, a person must (usually) have a history of contributions to that specific project, not just Eclipse in general. There still could be reasons an existing committer would note "no" (-1) for a nomination, for example, "no, I am the current maintainer and I do not agree to this!" ... or some other fairly large issue. Normally people do not vote "0" just because they have no first hand knowledge of a person's committer history (as they might on other projects), but vote "+1" if basic criteria are met, to be welcoming and supportive of new people coming in.
+
+Normally, as with most other Eclipse projects, unless a committer explicitly "resigns" there would be no automatic removal of a committer just because package responsibility is transferred, except eventually the usual "inactive" reasons would apply ... if someone is no longer responsible for maintaining a package and has not been active on mailing lists, etc., for a period of 6 months or so, the Project Lead can remove them via Eclipse Portal for "inactivity". And, of course, committers should explicitly resign, when appropriate, such as they are changing responsibilities and know they have no interest or time to be involved.
+
 
 [1]: http://eclipse.org/epp/
 [2]: http://wiki.eclipse.org/Simultaneous_Release
diff --git a/README.md b/README.md
index 1c9a4fd..fdded3a 100644
--- a/README.md
+++ b/README.md
@@ -77,3 +77,44 @@
 composite Eclipse 2020-03 repository:
 
     -Declipse.simultaneous.release.repository="http://download.eclipse.org/releases/2020-03"
+
+EPP Configuration File format
+-----------------------------
+
+The individual EPP packages have a special file called epp.website.xml that defines various
+pieces of information about the package. The format of the file is:
+
+```
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+ <!-- Package Description information to be picked up by www.eclipse.org/packages -->
+ <!-- PackageName is the title of your package
+      maintainer is the project or persons that are maintaining the package
+      iconurl is the fully qualified URL to the icon you wish to use on the site (48x48)
+      bugzillaComponentID is used to gather bugzilla information about your package.
+         This should be given to you after provisioning of the package is finished
+      testPlan is the fully qualified URL to the test plan for this package
+   -->
+  <packageMetaData
+   packageName="Eclipse IDE for C/C++ Developers"
+   maintainer="Eclipse Packaging Project"
+   iconurl="http://www.eclipse.org/downloads/images/c.jpg"
+   bugzillaComponentId="cpp-package"
+   testPlan="http://www.eclipse.org/epp/testplan.php" >
+
+     <!-- Description is wrapped in CDATA tags to allow you to insert HTML code if necessary -->
+     <description><![CDATA[An IDE for C/C++ developers.]]></description>
+
+     <!-- packageTesters is a list of the people that are testing the package -->
+     <packageTesters>
+       <tester>Markus Knauer</tester>
+    </packageTesters>
+
+  </packageMetaData>
+
+...
+
+</configuration>
+```
+
+This content in this section has been migrated from the [wiki](https://wiki.eclipse.org/EPP/Packaging_Site)
