diff --git a/SoCOverview.md b/SoCOverview.md
new file mode 100644
index 0000000..dd3cb0e
--- /dev/null
+++ b/SoCOverview.md
@@ -0,0 +1,47 @@
+## SoC, the Spice of Creation framework
+
+SoC is the software framework, implemented in [Python](http://www.python.org),
+that underpins the [Melange](MelangeIntro.md) project.  This framework is
+designed to make it possible to host Melange applications, such as the
+[Google Summer of Code](GSoC.md) <sup>TM</sup> and the
+[Google Highly Open Participation](GHOP.md) <sup>TM</sup> Contest on the
+[Google App Engine](http://code.google.com/appengine/).
+
+The framework follows a ModelViewController pattern.  Entities of each
+[Model](ModelsOverview.md) are stored in the
+[Google App Engine Datastore](http://code.google.com/appengine/docs/datastore/).
+Sharing the Models between different [Melange](MelangeIntro.md) web
+applications not only promotes code reuse, it also permits similar
+real-world programs to import and export entites and share them.
+
+A variety of [Views](ViewsOverview.md) are implemented using Django templates
+and forms.  Other possible Views are implemented as
+[GData APIs](GDataOverview.md) and [Atom feeds](FeedsOverview.md).  Since the
+Views are accessing entities of common Models shared amongst Melange
+web applications, much of the code is reused.  In most cases, only
+Django templates need to be modified to customize these existng Views
+for a specific real-world program.
+
+The different [Controllers](ControllersOverview.md) in the SoC framework
+implement the "business logic" that actually forms the core of each separate
+[Melange](MelangeIntro.md) web application.  For each real-world program
+(e.g. [GSoC](GSoC.md) or [GHOP](GHOP.md)), a web application is created, built on
+top of a new Controller that is derived from one of the similar existing
+Controllers in the framework.  This pattern encourages code sharing between
+the different Melange web applications used to run these different
+real-world programs.  Reuse of Controller code is further enhanced by the
+Models and Views that are shared between Melange web applications.
+
+### Contributing
+
+Please see the [guidelines for contributors](ContributionTerms.md) if you are
+interested in contributing to the design and development of the SoC
+framework.
+
+
+---
+
+_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/SoCOverview.wiki b/SoCOverview.wiki
deleted file mode 100644
index fd627ce..0000000
--- a/SoCOverview.wiki
+++ /dev/null
@@ -1,48 +0,0 @@
-#summary Overview of SoC
-#labels Phase-Requirements,Contents-Draft,Importance-Overview
-
-== SoC, the Spice of Creation framework ==
-
-SoC is the software framework, implemented in [http://www.python.org Python],
-that underpins the [MelangeIntro Melange] project.  This framework is
-designed to make it possible to host Melange applications, such as the
-[GSoC Google Summer of Code] ^TM^ and the
-[GHOP Google Highly Open Participation] ^TM^ Contest on the
-[http://code.google.com/appengine/ Google App Engine].
-
-The framework follows a ModelViewController pattern.  Entities of each
-[ModelsOverview Model] are stored in the
-[http://code.google.com/appengine/docs/datastore/ Google App Engine Datastore].
-Sharing the Models between different [MelangeIntro Melange] web
-applications not only promotes code reuse, it also permits similar
-real-world programs to import and export entites and share them.
-
-A variety of [ViewsOverview Views] are implemented using Django templates
-and forms.  Other possible Views are implemented as 
-[GDataOverview GData APIs] and [FeedsOverview Atom feeds].  Since the
-Views are accessing entities of common Models shared amongst Melange
-web applications, much of the code is reused.  In most cases, only
-Django templates need to be modified to customize these existng Views
-for a specific real-world program.
-
-The different [ControllersOverview Controllers] in the SoC framework
-implement the "business logic" that actually forms the core of each separate 
-[MelangeIntro Melange] web application.  For each real-world program
-(e.g. [GSoC GSoC] or [GHOP GHOP]), a web application is created, built on
-top of a new Controller that is derived from one of the similar existing
-Controllers in the framework.  This pattern encourages code sharing between
-the different Melange web applications used to run these different
-real-world programs.  Reuse of Controller code is further enhanced by the
-Models and Views that are shared between Melange web applications.
-
-=== Contributing ===
-
-Please see the [ContributionTerms guidelines for contributors] if you are
-interested in contributing to the design and development of the SoC
-framework.
-
-----
-_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
