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