Melange, the Spice of Creation

What is Melange?

Melange is the combination of a framework and multiple web applications (including GSoC and GHOP) implemented to be 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 Google Summer of CodeTM web application. At first, the GSoC web application appears to be part content management system, part issue tracking system, and part 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 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 Open Source Programs Office (OSPO) at Google believes in promoting the release of Google source code under open source licenses. Google Summer of CodeTM 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 and 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 and the Google Highly Open ParticipationTM Contest) on the 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 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 guidelines for contributors if you are interested in contributing to the design and development of Melange and the SoC framework.

Concept Diagram

Legend

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

Copyright 2008 Google Inc. This work is licensed under a Creative Commons Attribution 2.5 License.