Google Summer of Code Organization Application 2008
We didn't get it :( but here are some tips for next year:
0. Who is the Organization Administrator?
1. What is your Organization's Name?
Pure Data (aka Pd)
2. What is your Organization's Homepage?
3. Describe your organization.
Pd (aka Pure Data) is a real-time graphical programming environment for audio, video, and graphical processing. It has been used to make music, build audio/visual performance interfaces using sensor data and controllers, process and generate video, create 3D graphics, control robots, run a sound engine for video games like Spore, and more. Pd was written to be multi-platform and therefore is quite portable; versions exist for Win32, IRIX, GNU/Linux, BSD, and MacOS X running on anything from a PocketPC to an old Mac to a brand new PC. It is the third major branch of the family of patcher programming languages known as Max (Max/FTS, ISPW Max, Max/MSP, jMax, etc.) originally developed by Miller Puckette and company at IRCAM in the late eighties. The core of Pd is written and maintained by Miller Puckette and includes the work of many developers, making the whole package very much a community effort.
The main community distribution is known as Pd-extended, and it includes the work of at least 100 different people. Most of the code for Pure Data is organized into libraries, mostly known as "externals", which build upon the core functionality of the language itself.
4. Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?
Right now, we have a lot of people using Pd who want to get more involved in the development of Pd itself. We think that the Google's sponsorship will provide people with the time to focus on getting up to speed and through the hardest part of the steep learning curve. We have found that once people get past the first wall of the learning curve, they are much more likely to stay involved and get more deeply involved.
Also, the main developers often get stuck in certain ruts with ideas about what needs doing and how they should be done. By giving new people the chance to dive in and come up with new features and new solutions to existing problems, we can all benefit.
5. Did your organization participate in previous GSoC years? If so, please summarize your involvement and the successes and failures of your student projects. (optional)
We participated last year, but we were listed as the Institute of Electronic Music (IEM). The IEM is a university center that is the major institutional supporter of Pure Data, including hosting the website and mailing lists. While "Pure Data" as a organization did not apply last year, the IEM was in effect applying as "Pure Data" since all of the IEM GSoC projects were part of Pure Data, and all of the people involved in the IEM GSoC effort last year were Pure Data developers and community members.
We had two sponsored projects last semester, Porting FTM to Pd and VideoIO Library. The core parts of both were completed successfully, but both ended up being much larger projects that originally intended. This means that not every goal of the project was meet. We were able to get the foundation work completed and into a useful form, and it is now being integrated into the common distributions. With the remaining parts, they have been laid out into chunks which can then be handled by other developers or also future GSoC students.
From this experience, we learned that we should accept either compact projects, or for larger projects, they need to be in a form that the work can be completed in steps. That way if it turns out to be more work than is possible for the summer, the student can achieve useful goals, and the community can build upon that work.
6. If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)? (optional)
7. What license does your project use?
The current code uses BSD for the core, most of the libraries are GPL with the rest being BSD-like. The preferred licenses are either the GPL or a BSD-like license. In other projects that we contribute to that have been initiated by others, we use the existing license, as long as it is free.
8. URL for your ideas page
9. What is the main development mailing list for your organization?
10. Where is the main IRC channel for your organization?
11. Does your organization have an application template you would like to see students use? If so, please provide it now. (optional)
12. Who will be your backup organization administrator? Please enter their Google Account address. We will email them to confirm, your organization will not become active until they respond. (optional)
IOhannes m zmoelnig umlaeute AA gmail.com
About Your Mentors
1. What criteria did you use to select these individuals as mentors? Please be as specific as possible.
The mentors were chosen because they all have been informal mentors within the Pd community, and have a proven record of success in that regard. Additionally, here are some other criteria for choosing mentors:
active community member for at least 2-3 years
strong knowledge in at least one area of Pd
demonstrated willingness to help others on mailing list, forums, IRC
regularly shares code and creates examples for others to learn from
2. Who will your mentors be? Please enter their Google Account address separated by commas. If your organization is accepted we will email each mentor to invite them to take part. (optional)
IOhannes m zmoelnig umlaeute AA gmail.com
Damian Stewart damian.stewart AA gmail.com
Hans-Christoph Steiner pdgsocmentor AA gmail.com
Jamie Bullock jamie.b.bullock AA googlemail.com
ClaudiusMaximus clodmax AA googlemail.com
Andy Farnell andyfarnell AA googlemail.com
Alexandre Castonguay anaxel.guy.de.tarascon AA gmail.com
Bryan Jurish moocow.bovine AA gmail.com
Chris McCormick mccormix AA gmail.com
David Plans Casal davidplans AA gmail.com
B. Bogart p314159265358978 AA gmail.com
About The Program
1. What is your plan for dealing with disappearing students?
First and foremost, at the beginning, the mentors and the community will discuss directly with the students to make clear they are making a real contribution to the community and such contributions by others have allowed them to do what they are doing currently with free software. The mentors will work with the students to set regular milestones that make sense for both parties. This gives both student and mentor a basis to track the progress of the project. These milestones will also serve as a means to get recognition for the students. Positive reinforcement is by far the most effective means of keeping people involved.
At the beginning of the project, we will help the students get over any possible shyness about communication and get them in the habit of regular communications. This will also make the community more involved in the progress of the student.
If a student disappears, they will be fully expected to catch up to those milestones if and when they reappear. If they disappear for good, we will try to communicate with them through the methods at hand. If all else fails, we would be forced to give a negative review and withhold payment.
2. What is your plan for dealing with disappearing mentors?
The mentors will also be expected to regularly communicate the progress of the project. Since all of the mentors are longstanding active community members, we know where to find each other in case one is falling behind.
Following the example of the Drupal project, we will assign each project with a second, backup mentor. Then worst comes to worst, we'll have someone in place to take over if a mentor disappears. This backup mentor will keep track of the progress of the project through the regular posts on the mailing lists that we expect students to do.
3. What steps will you take to encourage students to interact with your project's community before, during and after the program?
The Pd community is known for being quite supportive and it is something we pride ourselves on. Students will be encouraged to introduce themselves to the related communities as soon as possible, and explain in their own words what they are working on. The students will also be encouraged to provide regular status reports and test releases to engage the community and get feedback.
The next step is integrating the students work into the standard channels. For example, as the code becomes usable, we will help the student get his code into the main distribution, Pd-extended, so that it will have an automatic wide audience.
There are many meetings all over the world for community members, and the accepted students would be encouraged to attend any meeting that is close to where they live. While mailing lists, forums, and IRC are the mainstays of our project, we believe that face-to-face meetings are very effective, and people are much more likely to feel like they are part of a community if they have met face to face.
Of course there are always trolls, but the trolls are all well known to the mentors, and part of the role of the mentors is to educate the students not to worry about the trolls, as they are well known to the community. Additionally, the mentors will be expected to defend the students in particularly egregious cases of trolling.
4. What will you do to ensure that your accepted students stick with the project after GSoC concludes?
What is most likely to make a student remain an active contributor is the quality of their experience, their interactions with the community, and the level of recognition that they get for their work. There is already an vibrant Pd community that is quick to recognize new contributions, and there is already some excitement in the community about the GSoC projects. This translates into recognition and support for the student projects.
Also, there has to be a match between project, mentor, and student. A student interested in working on a given project needs to demonstrate some level of prior interest and hopefully also some experience in the related fields. A Summer of Code project does not seem like the right place to start as a complete newbie. If the student was already interested in the the subject matter beforehand, they are much more likely to remain interested after the summer funding dries up.