diff --git a/UserRoles.md b/UserRoles.md
new file mode 100644
index 0000000..5e8b651
--- /dev/null
+++ b/UserRoles.md
@@ -0,0 +1,68 @@
+The [SoC framework](SoCOverview.md) implements workflows that pass
+[Proposals](ProposalModel.md), [Tasks](TaskModel.md), and other WorkItems from
+one [user](UserModel.md) to another.  These users can serve in one or more
+roles, and these roles define which RoleViews and WorkViews the user
+is able to see and interact with.
+
+Each role is represented in the [Google App Engine Datastore](http://code.google.com/appengine/docs/datastore/) by an entity model.  RoleModels summarizes the relationships between these models.
+
+## Person
+
+The Person role is a basic role from which all other user roles derive.  This
+role is represented in the [http://code.google.com/appengine/docs/datastore/
+Datastore] by [Person entities](PersonModel.md).
+
+## Contributor
+
+The Contributor role is filled by a [Person](UserRoles#Person.md) who contributes
+progress on Tasks to a [Reviewer](UserRoles#Reviewer.md).  In Google Summer of
+Code, for example, an accepted student would be considered a Contributor.
+
+## Reviewer
+
+The Reviewer role is filled by a [Person](UserRoles#Person.md) who reviews the
+work performed on Tasks done by a [Contributor](UserRoles#Contributor.md).  Again,
+in Google Summer of Code, a mentor with an assigned, accepted student would be
+considered a Reviewer.
+
+## Author
+
+The Author role is filled by a [Person](UserRoles#Person.md) who creates (or
+"authors") Tasks for a Program.  In Google Summer of Code, students who create
+applications to be reviewed for acceptance into the program are Authors.
+Contrast this with Google Highly Open Participation, where representatives of
+participating [Organizations](PersonGroups#Organisation.md) author the Tasks to be
+completed by the students.
+
+## Administrator
+
+The Administrator role is filled by a [Person](UserRoles#Person.md) who:
+  * submits an [Organization](PersonGroups#Organization.md) for participation in a Program
+  * approves [Reviewers](UserRoles#Reviewer.md) for that [Organization](PersonGroups#Organization.md)
+
+## Host
+
+The Host role is filled by a [Person](UserRoles#Person.md) who:
+  * manages the overall Program for a [Sponsor](PersonGroups#Sponsor.md)
+  * approves [Organizations](PersonGroups#Organization.md) for participation in a Program
+
+## Developer
+
+The Developer role is the Melange super-admin, who:
+  * manages the application deployment
+  * must create the [Sponsor](PersonGroups#Sponsor.md) and [Host](UserRoles#Host.md)
+
+This is not currently modeled in the [User Model](UserModel.md) (but may be, as a
+new Property, in the future), but is instead managed via the
+[Google AppEngine function](http://code.google.com/appengine/docs/users/adminusers.html)
+`users.is_current_user_admin()`.
+This solves the "chicken-and-egg" problem about how any "super-user" entities
+in the Melange application get created if there are no existing such entities.
+
+
+---
+
+_Copyright 2008 Google Inc._
+_This work is licensed under a_
+[Creative Commons Attribution 2.5 License](http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-attribution-2_5.html).
+[![](http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-2_5-88x31.png)](http://creativecommons.org/licenses/by/2.5/)
\ No newline at end of file
diff --git a/UserRoles.wiki b/UserRoles.wiki
deleted file mode 100644
index d9c5fca..0000000
--- a/UserRoles.wiki
+++ /dev/null
@@ -1,69 +0,0 @@
-#summary Various user roles in Melange
-#labels Phase-Requirements,Contents-Draft,Importance-Details
-
-The [SoCOverview SoC framework] implements workflows that pass
-[ProposalModel Proposals], [TaskModel Tasks], and other WorkItems from
-one [UserModel user] to another.  These users can serve in one or more
-roles, and these roles define which RoleViews and WorkViews the user
-is able to see and interact with.
-
-Each role is represented in the [http://code.google.com/appengine/docs/datastore/ Google App Engine Datastore] by an entity model.  RoleModels summarizes the relationships between these models.
-
-== Person ==
-
-The Person role is a basic role from which all other user roles derive.  This
-role is represented in the [http://code.google.com/appengine/docs/datastore/
-Datastore] by [PersonModel Person entities].
-
-== Contributor ==
-
-The Contributor role is filled by a [UserRoles#Person Person] who contributes
-progress on Tasks to a [UserRoles#Reviewer Reviewer].  In Google Summer of
-Code, for example, an accepted student would be considered a Contributor.
-
-== Reviewer ==
-
-The Reviewer role is filled by a [UserRoles#Person Person] who reviews the
-work performed on Tasks done by a [UserRoles#Contributor Contributor].  Again,
-in Google Summer of Code, a mentor with an assigned, accepted student would be
-considered a Reviewer.
-
-== Author ==
-
-The Author role is filled by a [UserRoles#Person Person] who creates (or
-"authors") Tasks for a Program.  In Google Summer of Code, students who create
-applications to be reviewed for acceptance into the program are Authors.
-Contrast this with Google Highly Open Participation, where representatives of
-participating [PersonGroups#Organisation Organizations] author the Tasks to be
-completed by the students.
-
-== Administrator ==
-
-The Administrator role is filled by a [UserRoles#Person Person] who:
-  * submits an [PersonGroups#Organization Organization] for participation in a Program
-  * approves [UserRoles#Reviewer Reviewers] for that [PersonGroups#Organization Organization]
-
-== Host ==
-
-The Host role is filled by a [UserRoles#Person Person] who:
-  * manages the overall Program for a [PersonGroups#Sponsor Sponsor]
-  * approves [PersonGroups#Organization Organizations] for participation in a Program
-
-== Developer ==
-
-The Developer role is the Melange super-admin, who:
-  * manages the application deployment
-  * must create the [PersonGroups#Sponsor Sponsor] and [UserRoles#Host Host]
-
-This is not currently modeled in the [UserModel User Model] (but may be, as a
-new Property, in the future), but is instead managed via the
-[http://code.google.com/appengine/docs/users/adminusers.html Google AppEngine function]
-`users.is_current_user_admin()`.
-This solves the "chicken-and-egg" problem about how any "super-user" entities
-in the Melange application get created if there are no existing such entities.
-
-----
-_Copyright 2008 Google Inc._
-_This work is licensed under a_
-[http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-attribution-2_5.html Creative Commons Attribution 2.5 License].
-[http://creativecommons.org/licenses/by/2.5/ http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-2_5-88x31.png]
\ No newline at end of file
