Organization Application for Google Summer of Code 2008

A part of Google Summer of Code.

Below are the questions which need to be answered for the Mentoring Organization Application.

The application is due between 3 March and 12 March. Have at it!

Matthew Burke

PS I think we can leave the Google account information off of this page and just include it when we send in the application.

Describe your organization.

The Tcl/Tk community includes anybody who uses Tcl/Tk, is interested in Tcl/Tk, or just wants to be in the club! Tcl/Tk is used by a wide range of governmental, commercial and educational institutions around the globe. Many well-known and well-regarded systems have either been developed in Tcl/Tk or are using Tcl/Tk as an embedded language (e.g. Expect, AOLserver, DejaGnu, Metakit, Starkit and SQLite). We communicate through IRC (see below), an active development list (see below) and a wiki ( ). The Seventh European Tcl/Tk Users Meeting will be held in June, and September we will be holding our fifteenth annual Tcl/Tk conference in the USA.

Our application was written by the organizing committee of the annual Tcl/Tk conference, although all members of the Tcl/Tk community were encouraged to participate. The group we have put together to submit this application include members of the Tcl/Tk core team, developers from well-established Tcl/Tk projects (such as AOLserver and OpenACS), and educators.

Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?

Warm bodies!

We expect two things from participating in GSoC 2008: we will attract new members to the Tcl community and we will use this new talent to scratch various itches we have not yet had the resources to attack. We think there are many things about Tcl/Tk that are attractive and beneficial to students. The Tcl/Tk code base is very mature and clean. In addition, the evolution of the language over the past 20 years is an excellent case study of a reasoned, thoughtful approach to language design. Therefore, working with it is an excellent opportunity for students to learn a new language and improve their development skills. Acceptance of our application will have a large impact on the open source world both because Tcl/Tk is used by a range of governmental and industrial organizations and because of the number of large and influential software systems developed in Tcl/Tk including Expect, eggdrop, CACTVS (a system for computational chemistry) and a number of programs for NASA.

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


If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?


Who will your organization administrator be? Please include Google Account information.

Matthew Burke

What license(s) does your project use?

Tcl/Tk is licensed under the Tcl/Tk license ( ), a BSD-like license. Individual projects included with this application may have different open source licenses as indicated in the project descriptions.

What is the URL for your ideas page?

What is the main development mailing list or forum for your organization?

[email protected] Subscription information and list archives can be found at .

What is the main IRC channel for your organization?

Of course, we encourage you to use TkChat ( ) to connect to our XMPP Chatroom at [email protected]! However, many people connect up with us via irc:// . The IRC channel is mirrored to/from the XMPP Chatroom.

Does your organization have an application template you would like to see students use? If so, please provide it now.

Students should use the application template available at GSoc 2008 Student Application.

Who will be your backup organization administrator? Please include Google Account information.

Jeffrey Hobbs

Who will your mentors be? Please include Google Account information.

I will collect names from ideas page before submitting the application. Please contact me with your Google account information.

What criteria did you use to select these individuals as mentors? Please be as specific as possible.

We are selecting mentors by looking at enthusiasm, expertise and their ability to get projects done. We judge these factors by examining the potential mentor's previous involvement in the Tcl/Tk community and their development history.

What is your plan for dealing with disappearing students?

We will draw upon the Tcl Community's long history of being very welcoming and helpful towards newcomers to help provide an overall environment where the student doesn't feel cast out (the main source of avoidable abandonment of projects). In particular, we will maintain frequent communication between mentor and student, particularly at the beginning of the project; encourage communication between the student and others in the Tcl/Tk community by holding IRC (or other similar) sessions where students will give progress reports to each other (and the community); monitor students' progress so they do not flounder when they run into difficulty, and structure the projects so that the time between achievable milestones is short.

What is your plan for dealing with disappearing mentors?

We specify a backup Mentor with each project included in our application. In addition, we have identified a pool of professionals with suitable teaching, CS and Tcl internals knowledge to be tapped if both Mentor and Backup fail.

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

As mentioned above, we have plans to foster communication between the students and the community as a means of keeping the students involved in their projects. Specifically, we will schedule several presentation sessions (most likely through XMPP Chat and IRC) throughout the summer, post progress summaries to the Tcl discussion lists, create section of the Tcl wiki devoted to each project, and recruit Tcl/Tk community members to become early adopters of the students' efforts.

We feel that the ability to code in Tcl/Tk provides a leg up in several non-programming careers like chip design, telecommunications, and engineering. Consequently, we believe that our students will find their familiarity with Tcl/Tk to be a strong asset in developing their careers and therefore they will have an incentive for developing this skill.

Students will be encouraged to present their successful projects at and submit a paper to our annual conference. This will also provide them with a publication credit. We will award a "Best Student Paper" prize at the conference. Moreover, we intend to use the Mentoring Organization's share of the Google award to help fund the students' attendance at the conference.

What will you do to ensure that your accepted students stick with the project after GSoC concludes?

First, we expect successful projects are likely to be included in commercial and/or open source offerings. We think the pride of ownership that students will have after developing these projects will motivate them to stay involved. Additionally, we expect that by offering our students a real mentoring relationship will foster a sense of belonging to a community that the students will want to maintain.