#summary An introduction to Melange
#labels Contents-Draft,Featured

= Melange, the Spice of Creation =

== What is Melange? ==

Melange is the combination of a [SoCOverview framework] and multiple web
applications (including [GSoC GSoC] and [GHOP GHOP]) implemented to be
[AppEngine deployed on Google App Engine].

=== Replacing the GSoC web application ===

Originally, Melange was envisioned is an effort to produce an
open-source implementation of the [GSoC Google Summer of Code]^TM^ web
application.  At first, the GSoC web application appears to be part
[http://en.wikipedia.org/wiki/Content_management_system content management system],
part
[http://en.wikipedia.org/wiki/Ticketing_system issue tracking system],
and part
[http://en.wikipedia.org/wiki/Customer_relationship_management customer relationship manager].

But, while the GSoC web application shares some features in common with
those systems, it is quite different in its purpose.  The purpose of GSoC
(which is facilitiated by the web application) is to serve as a catalyst
for introducing college students to open source and free software
communities, in the hopes that these students would find a homes in those
communities and thrive.  To that end, the GSoC web application tends to
be more specific and less general than existing systems like those
mentioned previously.

As much as GSoC attempts to inspire new open source developers, it has not
previously been able to actually embrace them in the development of the
GSoC web application itself.  Initially, with the launch of the enabling
[http://code.google.com/appengine/ Google App Engine], the plan was to create
an open-sourced GSoC web application.  It would have to be created from
scratch, because the existing code is (unfortunately) wired directly to
Google infrastructure interfaces, which are old enough to be quite
unlike AppEngine.

=== Contributing ===

Please see the [ContributionTerms guidelines for contributors] if you are
interested in contributing to the design and development of Melange and
the [SoCOverview SoC framework].

=== Concept Diagram ===

[http://soc.googlecode.com/svn/wiki/images/MelangeOverview.dot http://soc.googlecode.com/svn/wiki/images/MelangeOverview.dot.png]

== Legend ==

|| *-------* || direct dependency (inheritance, method call, etc.) ||
|| *- - - -* || indirect dependency (call-back, etc.) ||

----
_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]
