blob: ed5350eec0c215a935b149e077f2cb93e44c20df [file] [log] [blame]
#summary An introduction to Melange
#labels Contents-Draft,Phase-Guidelines,Importance-Overview
= 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 as 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.
The [http://code.google.com/opensource/ Open Source Programs Office (OSPO)]
at Google believes in promoting the release of Google source code under
open source licenses. [GSoC Google Summer of Code]^TM^ is a major
program for the OSPO team. So, it makes sense for the OSPO team to
develop the GSoC web application as open source and in the open. And,
now that hosting infrastructure with Google scalability is available
via AppEngine, we intend to do just that.
=== Moving beyond the GSoC web application ===
It seems there are other real-world programs and sponsors that are
interested in a workflow similar to that found in the GSoC web
application. In order to take advantage of hosting on AppEngine,
the existing GSoC web application needs to be rewritten from scratch.
Given that necessity, _now_ seems like the ideal time involve the
community of users (mentors, students, and organization administrators)
of the existing web application in the creation of something that can
be used not just by Google, but by anyone, to host programs like the
[GSoC GSoC] and [GHOP GHOP], to the continued benefit of open source
and free software.
So, the goal of this project is not merely to open-source the GSoC web
application, but to create a framework for representing open source and
free software contribution workflows. Using this framework, and copying
and modifying the Melange web applications built upon it, it should be
possible for anyone to host future programs similar to
[GSoC GSoC] and the
[GHOP Google Highly Open Participation]^TM^ Contest) on the
[http://code.google.com/appengine/ Google App Engine].
This project will be a success if these real-world programs continue
to bring students and other open source and free software contributors
together with existing open source and free software organizations.
As previous years of _Google Summer of Code_ have shown, the open source
and free software communities benefit greatly from the catalyst for
development that these programs provide.
=== Building a community to help open source and free software build theirs ===
This project is not just about code. It is about forming a thriving
community. The results of the Melange project will not be
[http://www.youtube.com/watch?v=ZtYJoatnHb8 thrown over the wall or worked on in secret],
with only occasional releases and annual sponsorship of
_Google Summer of Code_ programs. Instead, we will actively engage the
open source and free software community to continue to make these
programs, and the web applications that make them possible, better and
more effective at welcoming new contributors to the community.
=== Contributing ===
To expand the usefulness of the fruits of this development effort, we
seek suggestions, guidance, and contributions (in the form of source
code, of course!) from the open source and free software community.
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]