2008 GSoC Application

This application was submitted here on March 12, around 13:00 UTC.

About Your Organization

What is your Organization's Name?

TurboGears

2. What is your Organization's Homepage?

http://www.turbogears.org/

3. Describe your organization.

TurboGears is an open source project which was founded by Kevin Dangoor in 2005. Kevin brought together a number of tools which people were using for web development into one usable package, in a few hundred lines of code. The result was a framework which allowed for swappable components, allowing a developer the flexibility to choose the best-of-breed technology to solve their web application challenges.

As the popularity of TurboGears grew, more developers began to participate. The development of TurboGears became a world-wide effort. Though our developer base has changed throughout the project's life, our ultimate goal has remained: To provide web developers a toolkit which is easy to get started with, supports agile development and provides an exceedingly high level of flexibility, unmatched in the world of web frameworks.

Currently our development staff consists of about a dozen programmers (though this figure might be a little bit misleading since there are dozens more developers working on core dependencies, from Genshi and SQLAlchemy to ToscaWidgets, and DBSprockets) whose efforts are divided between supporting a stable base and developing the next generation of our software. This has resulted in merging our efforts with those of another popular Python web framework (Pylons) with the goal to build an even more component-oriented framework and to perpetuate our active role in the Python web frameworks domain. TurboGears, strives to bring together the open source community to develop cutting-edge technology which is enjoyable to use.

The main administrator contact is: gsoc@turbogears.org

Main administrator:

- Christopher Arndt: chr...@turbogears.org, Google shortname: strogon14

Backup admins:

- Christopher Perkins: chr...@percious.com, Google shortname: percious17)

- Mark Ramm: mar...@gmail.com, Google shortname: mark dot ramm

He is the treasurer of the TurboGears project. He will handle any financial issues concerning our GSoC participation.

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

TurboGears wants to be a major contender for the position of the leading web framework in the Python world, and we think it is widely recognized for its flexibility and ability to combine best-of-breed technologies to help the web developer create web content more efficiently. Competing web frameworks have a broader developer toolset because they make sacrifices in flexibility to add functionality. TurboGears is on the cusp of adding its own feature-rich toolset which could make things like dynamic web interaction a lot easier to do, while maintaining it's flexibility.

TurboGears is also currently undergoing a transformation from TurboGears 1 to TurboGears 2, and we are adding industrial strength features that will allow TurboGears to become a great platform to get started quickly and easily, and a great platform for scalability. TurboGears uses widely used Python components, and it's been our goal to make everything we do as widely reusable as possible within the greater python community.

TurboGears needs a few vibrant developers who are eager to get their hands dirty and make a difference. We are hoping to gain some fresh developers with new ideas about how to make web programming more fun. The projects TurboGears is putting forth require a significant amount of collaboration between them, something that reflects TurboGears's core values. It is our hope that with this collaborative effort we will be able to provide developers with a new toolset, which is cool and fun to use, while maintaining a well-documented, usable set of components which can be extended. We also hope to raise the visibility of TurboGears in the community and demonstrate that it's an actively developed project with a healthy developer and user base.

5. Did your organization participate in past GSoCs?

TurboGears maintainers have sponsored projects like SQLAlchemy Migrations, which were not TurboGears specific in the past, using PSF as a GSoC mentoring organization. We have also submitted 4 tasks to GHOP through the PSF project, which were all completed. Those tasks were based on web framework advocacy and can be viewed here:

!TurboGears GHOP tasks

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

TurboGears applied in 2006 when it was still a very young project, and was not accepted, but TurboGears community members did sponsor work that year using the PSF as a mentoring organization (see also the answer to the previous question).

7. What license(s) does your project use?

MIT License

Component projects may use other (all open source licenses. For details see our Licensing page:

8. URL for your ideas page?

http://docs.turbogears.org/GSoC/Ideas2008

9. What is the main development mailing list for your organization?

http://groups.google.com/group/turbogears-trunk

10. Where is the main IRC channel for your organization?

#turbogears @ freenode.net

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

Dear Student,

Please fill out the application form below and send it to the TurboGears GSoC 
project administrator (gsoc@turbogears.org) by email. We will then contact you 
with information about the next steps.

The TurboGears GSoC Team

 
Applicant
---------

Name
    Obvious, no?
Contact information
    Your email address, organization (university etc.)
Experience
    Education, Job experience, work on other open source projects.
Background
    Tell us about yourself, include information about why you want
    to participate in the GSoC program and the TurboGears project
    in particular. What can you bring into this project so that both
    sides will benefit from the program?

Project
-------

Summary
    One-line summary of your proposed project
Mentor
    Is there a specific mentor you would like to request?
Description
    A longer description of your project, including goals, tasks, and
    requirements.
Milestones
    Please provide a list of milestones with expected completion dates.
Testing
    What methods do you plan to use to assure quality in your project?

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

chr...@percious.com, mar...@gmail.com

About Your Mentors

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

All of our mentors are core developers of either the TurboGears project itself or founders of one of the component projects like Genshi, DBSprockets, registration etc. They have volunteered to be mentors and are known in the TurboGears community for a long time. Many of them have already acted as mentors in previous GSoC or GHOP installments.

We also have a GSoC Mentor page here:

Every project idea on the GSoC ideas page lists at least one possible Mentor, most have multiple mentors.

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

[list of mentors' email addresses]

About The Program

1. What is your plan for dealing with disappearing students?

It is the nature of distributed, collaborative development, that we can only interact with students through remote communication. To ensure that they stick with their projects, we encourage them to set realistic goals for themselves and require them to set specific milestone dates for the completion of their tasks. This will give us some measure of control and opportunity for frequent feedback and should also keep up the students motivation by giving him reassurance and opportunity for evaluation.

We will ask mentors to plan an evaluation IRC meeting with their student(s) every two-weeks (apart from being available for questions the rest of the time, of course). This will also serve as an opportunity for assessment of progress and appreciation of the students work, but also as a measure to detect and counteract signs of an impending drop-out at an early stage.

In addition, all of the projects use agile development techniques, so the loss of a person does not really mean the loss of a project or the results achieved so far. If a student drops out early enough, we would want to try and replace them, and if all is lost, well there is always garbage collection... :-)

2. What is your plan for dealing with disappearing mentors?

Each project will have mentor and a backup mentor. If the backup mentor is for some reason unavailable then Mark Ramm and other project leaders have promised to step up and take over. Of course, we doubt that will happen, and we're pretty sure that even in that case someone else can be coaxed into participating by one of the administrators... possibly with bribes.

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

Before the program students are welcome to participate as any other developer would, through the wiki, with patches, and on our message boards. We put a specific call-out for Google Summer of Code participation, and made our application as well as our ideas pages freely editable wikis.

Our project ideas have a collaborative element, which requires that students interact with other students, as well as within the community to solve their problems. Most of our mentors are only a few minutes away either by email or global message boards. TurboGears requests that all technical discussions are purposefully made public so that everyone has a say when there is a question of implementation.

We would strongly encourage students to create a personal page on our wiki where they can present themselves and their project(s). When they produce the first results, which can be integrated into the TurboGears project, they will of course be listed on our contributors page. We will also encourage students to keep a blog with a diary of their project progress and can give them advice and help on setting this up. The blogs can then be added to the TurboGears planet blog aggregator (planet.turbogears.org), where they will reach many other TurboGears developers.

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

The projects we are proposing as ideas are important to our framework, and they will continue to be developed in the open environment they were born into when the student has finished her tenure. TurboGears has a sprint about once a month and developers from across the globe are encouraged to attend. It is our hope that these monthly sprints would encourage a new developer to keep up the good work even after their project has met it's expectations. While we cannot offer jobs or other monetary perks, having your name associated as a developer of TurboGears is a good way to help obtain employment opportunities. Lately the TG board has been swamped with requests for employees, and we are currently developing a TurboGears specific job board to manage that need.

In addition, all of our mentors are committed to treating students as full members of the TurboGears development community, and helping them to integrate their work into the community development efforts as their individual projects progress. Our goal is to create ongoing relationships, encourage open source participation, and help students not only accomplish their technical tasks, but also learn how to work with others in open source projects.

GSoC/Application2008 (last edited 2008-03-17 22:13:18 by ChristopherArndt)