gsoc2011 edited this page Mar 11, 2011 · 28 revisions

Here's where we'll work out our application to GSoC. Feel free to edit the below if you're confident that your edits are an improvement. If you want to suggest a change but you think it needs more discussion, put your suggestion below the section it refers to, as a "quote":

> Like this.

>> Or respond like this.

> Respond to responses like this.

Organization Name


Description (required)

Pyjamas is a way to run Python on web clients as pure HTML5 applications. You can think of it as like GWT, but with Python instead of Java - a better fit for Javascript. Pyjamas apps can run either as pure Python using the installed Pyjamas Desktop UI, or be compiled using a Python-to-javascript compiler and viewed in a standard web client.

Home page (required)

Main Organization License (required)

Apache License, Version 2

Why is your organization applying to participate in GSoC 2011? What do you hope to gain by participating (required)

We hope to mature our project, raise our profile as an open-source project, and bring new members into our community. If we don't get in this year, we hope to learn from the experience so that we can get in next year.

If accepted, would this be your first year participating in GSoC?

Technically no. Waaay back in the day we had one GSoC student in 2007:

Recently, however, we have not.

Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.

We had 1 student who successfully completed GSoC. TODO: VERIFY THIS

If your organization participated in past GSoCs, please let us know the ratio of students passing to students allocated, e.g. 2006: 3/6 for 3 out of 6 students passed in 2006.


What is the URL for your ideas page?

GSoC 2011 ideas (

What is the main development mailing list for your organization? This question will be shown to students who would like to get more information about applying to your organization for GSoC 2011. If your organization uses more than one list, please make sure to include a description of the list so students know which to use.

The mailing list is also visible at

What is the main IRC channel for your organization? (required)

pyjamas at irc dot freenode dot net

Does your organization have an application template you would like to see students use? If so, please provide it now. Please note that it is a very good idea to ask students to provide you with their contact information as part of your template. Their contact details will not be shared with you automatically via the GSoC 2011 site.

GSoc Application Template

What criteria did you use to select the individuals who will act as mentors for your organization? Please be as specific as possible. (required)

To select mentors we asked the community for volunteers. When asking we made several points about mentor commitments:

  • Mentors must make sure the student is progressing
  • Mentors must commit to around 10-hour-per-week
  • Mentors must perform beginning, midterm and end evaluation

We said Mentors should also lead by example, and start out with daily meetings with their mentee to set as a pace that will serve the project well.

We have a number of contributors have the time and are willing to step up as mentors. All our mentors regularly participate in the mailing list and are part of the Pyjamas community. They are intelligent, knowledgable, have proven themselves to be self-motivated, shown that they are willing to communicate what they are doing, can confidently discuss ideas in the all-important "ego-less" manner by demonstrating that they can take on-board input from others.

What is your plan for dealing with disappearing students? (required)

We will take 2 proactive steps to avoid this problem. First, we will integrate students into the community so they form relationships and are more likely to stay. Second, the project ideas we've chosen are fun and exciting features that have a community backing. Good people and meaninful projects should prevent this problem.

While students are contributing, we will advise them use git and use a branch. If a student dissapears, our Project's Lead Developer and the mentor will review work up to that point and complete a status report documenting how far along the work is and what will be needed to be complete the work. This way anyone else wishing to pick up the work can hit the ground running.

What is your plan for dealing with disappearing mentors? (required)

As "backup", the Project Lead Developer will work with the student, publicly, on the mailing list, with the informal and additional assistance of any of the other 500 or so people on the list (of whom approximately 10-15 or so are regular contributors, including those people who have volunteered as mentors). Additionally, we have backup mentors who are willing to step in and mentor students should assigned mentors dissapear.

What steps will you take to encourage students to interact with your project's community before, during and after the program? (required)

To get students started, we will have them to introduce themselves and describe their project to the community through the mailing list. The project ideas come from the community. They are projects the community wants implemented so they have a vested interest in helping and encouraging the students to succeed.

During the summer we will encourage students to participate in the mailing list. We will treat the students with the same respet and status as other independent contributors. This way they can form connections to community memebers and become integrated into the Pyjamas community. We hope the relationships they form will keep them around after the program.

If you are a small or new organization applying to GSoC, please list a larger, established GSoC organization or a Googler that can vouch for you here.

The Python Software Foundation and Web2py are willing to vouch for us.

From Web2py Lead Developer Prof. Massimo Di Pierro: To the Google Summer of Code Program Commitee,

I write in support of the Pyjamas project that has applied for the Google Summer of Code Program. I am the lead developer of the web2py framework. I have some experience with web development and I found that client side rich user interfaces are becoming increasingly important for users and developers. Python is the 4th programming language by popularity, according to TIOBE index and many web frameworks and web applications are written in Python. Python has replaced Java and JavaScript in many intro programming courses in schools across the world. There is a lot of demand for better tools to develop rich client interfaces using Python. Yet the browsers do not run Python but run JavaScript, which is not a very use friendly language. The Pyjamas project aims to bridge this gap by providing a Python-to-JavaScript compiler. Pyjamas is a solid and well established project that I hope to see it grow and become more popular.

Prof. Massimo Di Pierro
School of Computing and Digital Media
DePaul University
Chicago, IL
Tel. 312-362-5173
Fax. 312-362-6116

If you are a large organization who is vouching for a small organization applying to GSoC for their first time this year, please list their name and why you think they'd be good candidates for GSoC here:


Anything else you'd like to tell us?

Pyjamas rocks :) It covers an extremely broad range of modern and cutting-edge computer science, from computer technology and language translation (high-level compiler) including java to python as well as python to javascript, five different types of web browsers, five different types of web browser engines, Python on Win32 using DCOM to its absolute maximum extent (which is very rare - even the Microsoft IE Team Leader had never heard of anyone making such extensive and complete use of IWebBrowser2 before), DOM bindings written in c and c++, using both perl as well as python code-generators with 400+ IDL files to provide *two* sets of python bindings to Webkit; XULRunner from the Mozilla foundation (python-xpcom and hulahop from OLPC) - the list of other projects leveraged, the skills that can be learned, and the opportunities that can be had to learn about "practical" Computer Science are far, far higher than is apparent at first glance.

Fortunately, not all of these skills are required all at once! Pyjamas is about providing a very powerful and simple framework, almost exclusively written in pure python, behind which there is an extraordinary amount going on that the application writer simply does not need to know about. Any student working on pyjamas however will get a glimpse of what's going on, and will know that they're working on something that makes application writers lives just that little bit easier when it comes to developing GUI applications that happen to work on both the web as well as the desktop.

Backup Admin (Link ID)