Melange

From Google Summer of Code Mentor Wiki

Jump to: navigation, search

Contents

[edit] Where Melange is Going and History

Leslie wants to add some social features to Melange, karma based reviews and stuff like that. Not 'yet another social network', just a pool of knowledge about people that could potentially be mentors and involved in educational programs at institutions.

The app was not open before, was tied to the "Google platform". It has been opened up after Google App Engine was launched. The devs for Melange were watching Google App Engine before it came out. Holding onto as the solution to re-write the app.


[edit] How to Help

[edit] Coding in Python and Django

Currently the only language supported is Python. PHP developers do find it hard to contribute to Melange. The reality is that Python is what App Engine supports right now, that's why Melange is written in Python. There are technical and cultural reasons too for Python to be the language being used.

Are there small tasks that could take an afternoon? Yes, a Chinese developer did it more than once, and became a commiter. His first email was a patch!!! He never talks!!!

[edit] Other Ways to Contribute...

  • Find a Wiki Topic that interests you and comment on the wiki. The Melange team does follow the emails that are sent out from the Wiki. If you send your comments straight to the mailing list it will be locked into that. Putting it into the wiki gives it more visibility.
  • Documentation, mockups. There is a place for those in the subversion repository. If you do mockups they will be turned into Django templates.
  • OR: talk to James if you want to do something that doesn't involve writing code, e.g. helping with user stories, researching GUI options etc....


[edit] Getting Running

Matthew Wilkes could not get Melange to work. He tried installing the SDK and it didn't work out. (this was fixed during this Melange session using a more up to date version and corrected path. A couple of other people got Melange running during the session too.)

The Google App Engine SDK is checked into the Subversion repository. Just follow the instructions on the Wiki. There's a small shell script that zips Django into a single zip file and then zipimport is used. It creates a subdirectory called 'release' and then that's pushed to App Engine.

There are a lot of things that could make the SDK not run. Python 2.4 is not supported for example, Python 2.5 is required.

Can we assume the person knows how to use 'grep' to find something in source code?

In Plone we have a label in tasks that says 'this is a novice task'. In Melange we are using a label called 'Effort-Minimal'. Is there value in differentiating 'Newbie' (no knowledge at all?) from 'Effort-Minimal'? Probably not.

Melange just got it's first test!! There's a private buildbot. We are looking at running it on OSU. There are Google owned machines there.

If you need help you should be able to go to Melange and find 'sane' people that could help you, like at an 'Install Fest' event. Those people would be considered 'pre-vetted' for helping each other.

[edit] Are we Ready for GHOP?

How far are we from running GHOP on Melange?

  • The tasks are known but there's no predictability on the time it would take to achieve them.
  • Current proposal from Todd is to implement the barebones social aspects of it. People having to request roles in a group, having approval by host. All of 'identifying yourself to Summer of Code' as a participant. Do we approve 'who are you affiliated with'? If we had this, we could treat it as a live system (production worthy). We have no feedback yet. If we had feedback we could start to figure out how far are we away from GHOP.
  • The existing web app requires constant effort and that effort has been spread over the last five years, so that's a lot of effort being spent every year just to get it up and running.
  • GHOP was a pilot last year. This year, it will be started whenever Melange is ready for it. No fixed that.

Pavel and Todd say we cannot easily estimate the effort yet. If the project was designed upfront and we knew everything that we wanted to do it would be easier. We cannot have a long base of gathering requirements and find out if it the things are right. The open source developers are not interested in writing requirements in general.

The intention here is to run SoC 2009 on it. Not so sure about GHoP. Todd intends that Melange is a mentoring organization. This is classic software development, 'eating your own dogfood'. We want the users participating in the program to help it make better.

We could have it running by now if it was run as a Google internal project. There are no engineers interested in it right now.

  • What do we want from the system?
  • What kinds of skills and effort can be dedicated to the project?


[edit] How Much Time Involvement?

Todd says he can spend 3 months every year fixing the existing app, but it will never be perfect. It cannot be open-sourced either. Now Melange is hosted somewhere and can be hacked on. Guess what? Now you can fix it.

A lot of people have 'X' amount of time to look at their pet peeve. But it's too early in the project to get people interested in it. There's a little more incubation time required. People that really want to get into a challenge might have more interest. The rest of the people could give you User Stories.

We have about 100 User Stories right now.

We could have better feedback if it was live and people could start using it and find the things that are missing. If it's running on the live site and they register and find things that they don't like about it they can enter issues.

First milestone is getting from 'Club' to 'Mentoring Organization', and 'Club Members' can get turned into people to pick from to be part of the project.

We are trying to be very friendly to accepting individual tests.


[edit] What is Melange for (the Big Picture)?

a.k.a. World Domination

[edit] Coders Helping Coders

Summer of Code Summit has become a hub or nexus for bringing developers together undistracted from other influences. We are a lot more focused here. This is a larger, overreaching conference were you can get people from a broader spectrum of the Open Source world.

The idea is that this kind of 'community building' would be an year around thing that would occur online. A place to share ideas and collaborate and find people that are 'experts' on their field. Much easier to reach people that would actually be useful.

This is about 'coders helping coders'. There should be a higher signal-to-noise rate on this site than on other forums elsewhere.

The problem with communication over IRC is that if things are not logged and if people have no way to search for it the information is lost forever. This comment was about IRC in general and its usual use in projects. #melange IS logged

The knowledge captured by mentors about how to actually work with the students seems to be trapped within their minds.

Summer of Code is a good catalyst for getting people into Open Source. Angie Byron thought she was not skilled enough to get into Open Source but then when Summer of Code came out she notice 'oh, they are looking for newbies'. People in general are afraid of looking stupid.

Melange is (or will be) an opportunity to ask for help live. Like, inviting people to talk at your school.

You will be given the option about what to 'reveal' in Melange (privacy features). There's a level of trust that starts at Leslie and carries through Mentor and Students. You will be able to see historically what was the participation of a certain person throughout the years.

'Fail' GSoC entries get pulled. It already does and will keep being like that. This is about success, not about publicizing failures. It might be valuable to make failures public and to get people to say why they failed and what the lessons learned were.

[edit] Bridges (between Open Source and Education)

If there's anything teachers lack is not motivation but time to create homework. Our goal as part of SoC and GHOP could be to create homework tasks for students and help to bring IT into more and more schools.

How to redirect questions to the place where the community gathers together? Like getting questions about your project (say OpenAFS) channeled into the IRC or Jabber channel?

People are afraid of getting into IRC. The developers would have to be prodded to use Melange.

How to present contact information on Melange? It is already duplicated on the Website. How to forward the information from Melange into the Projects channels? It could redirect to your site, or have instructions to get into the Jabber server.

Out of the web app we will have only feeds or http stuff. IRC is not in the plans. Someone could implement a feed -> IRC bridge?

When a question gets entered the backend could check and propose ways to contact the person/organization.

We cannot know upfront how much traffic that would generate. It could end up flooding your Jabber server of IRC channel. It needs to be an incremental improvement. We should wait until we reach a point where we can try this sort of improvements.

[edit] Concluding Remarks

You cannot use tools to solve social problems but you can use tools to enable people to solve social problems. That's our goal. This could be one of the best codebases that Google can contribute to the world.

Personal tools