Google Application Questions 2008

Describe your organization.

FarCry Core is a powerful, web application framework, based on the ColdFusion programming language. FarCry CMS is a very popular, content management solution built with FarCry Core. As a community we provide support for the framework, CMS and a host of community plugins including libraries for Google Maps, image manipulation, free text serching, and many more.

The FarCry Community was formed in April 2003, when Daemon open sourced the underlying FarCry Core framework and associated FarCry CMS solution. Since that time FarCry has grown into one of the largest ColdFusion code bases, with active community of happy-go-lucky developers spanning the globe.

The community comprises of a cross section of individuals, web development firms, and larger corporate, government and education institutions. Although code contributions range across a large spectrum of the community, primary feature development is driven and managed by a close knit team at Daemon, and a small coterie of additional core committers.

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

We're hoping that being a part of GSoC will give our community profile a boost, help us encourage students to get involved in our favourite programming language, and make our code base just that little bit more useful to the world at large.

As a community we've attracted developers based on their own self-interests. It's about time we "got out more". We're proud of what we've accomplished so far, but we need all the help we can get – we have too many great ideas just waiting to be implemented.

In truth, just getting ready for GSoC, discussing our application, working out project ideas and coordinating mentors has already got us all fired up. Bring on the students we say – bring them on!

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

Not applicable.

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

Not applicable.

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

Geoff Bowers (modius@gmail.com)
Benevolent Dictator

What license(s) does your project use?

Common Public License 1.0

What is the URL for your ideas page?

http://farcry.jira.com/wiki/display/GSC/Home

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

http://groups.google.com/group/farcry-dev
Development forum for working with the FarCry Core framework. 

http://groups.google.com/group/farcry-beta
Development forum for working on the FarCry Core framework.

What is the main IRC channel for your organization?

irc.dal.net #farcrycms

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

Student Application

(Essentially just want to know the candidates level of development experience, if any, in ColdFusion and FarCry Core).

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

Mat Bryant (m.bryant@gmail.com)
FarCry Core Lead Developer

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

We have had strong response from the community for would-be mentors.

  • Geoff Bowers (modius@gmail.com)
    Benevolent Dictator (former Lead Developer)
  • Mat Bryant (m.bryant@gmail.com)
    Lead Developer
  • Donagh Coughlan (donagh.coughlan@gmail.com)
    Core Developer
  • Blair Mackenzie (shib71@gmail.com)
    Core Developer
  • Jeff Coughlin (coughlinj@gmail.com)
    FarCry Instructor
  • Matthew Williams (webmaster@geodesicgrafx.com)
    Concerned Citizen
  • Andrew Mercer (ajmercer@gmail.com)
    Concerned Citizen
  • Jake Churchill (reynacho@gmail.com)
    Concerned Citizen
  • Ezra Parker (ezraparker@gmail.com)
    Concerned Citizen
  • Martin Orth (martin@karneval.com)
    Concerned Citizen

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

Mentors have been chosen based on the following criteria:

  • experience in the FarCry code base (judged by the core developers)
  • regular community contributors (including forum support, bug reports, code, and/or documentation)
  • understanding of core committers policies for code contribution, code management and general coding guidelines
  • are willing to donate the necessary time to foster students
  • are friendly folks who have a reputation for being helpful

Each of the selected mentors has been a veteran of the FarCry community for over a year (several since the beginning), and implemented many solutions with the code base. Mentors will be chosen and allocated to student proposals based on the most relevant expertise for the proposal in question.

What is your plan for dealing with disappearing students?

The important thing is to work out early that a student looks like they're going AWOL, so that we can marshal our mentors to help them out.

We believe its critical to engage the student vigorously in the initial phases of the project, getting them up to speed with our internal standards for commits and so on. Students will be provided with a dedicated code branch and will be required to make regular commits to version control. We're well set up to track the activity of all developers in the code base (http://fisheye.farcrycms.org/) and mentors will be tasked with keeping tabs on their student's progress.

In the event that a student's activity slows down dramatically, or stops, the mentor will make every effort to contact the student to determine if there has been any significant change in their circumstances. In the event that the student has decided to "pull up stumps", the student's mentor will escalate the matter to the organisation administrator, who will then report to Google.

Although we think all of our mentors are marvellous people, we're aware that student and mentor simply may not get on. Students will be encouraged to reach out to the administrator (or backup administrator) who's happy to make the time to help resolve any issues.

What is your plan for dealing with disappearing mentors?

(Get a large stick and... no, hang on.)

Mentors will be required to send a brief, weekly update to the administrators on the progress of their students project. One of the questions administrators will be monitoring is whether or not Mentors are coping with the additional workload. Again, the best way to deal with the issue is to know as early as possible that there is a problem. In the unlikely event that a Mentor can no longer provide the time to effectively look after a student, a backup mentor will be provided.

It's also important to understand that we don't see mentoring as a solo task. Although its critical for a dedicated mentor to be across a student project, in many instances other mentors or even members of the general community may be able to help. Students will have access to a specific, private, farcry-mentor Google Group to allow students to direct queries to the entire mentor group in addition to their own personal mentor.

Of course, they can always turn to the FarCry Community at large which is traditionally a friendly place for people both old and new to the code base.

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

We're always doing our best to get folks involved in the FarCry community, to that effect we've invested heavily in making FarCry available on all sorts of systems:

  • FarCry runs on Adobe ColdFusion, New Atlanta Bluedragon, and Railo; incorporating a range of ColdFusion application servers from commercial to free for community use
  • FarCry supports Linux, Solaris, Windows and OSX (basically anything you can get a ColdFusion server running on)
  • FarCry works with mySQL, Postgres, Oracle and MS SQL database servers

Upgrading and manning our systems:

And improving our documentation:

If FarCry is accepted as a mentoring organisation, we're poised to send out a call to everyone using ColdFusion involved with education institutions to get students interested in this project. We'd be the first ColdFusion project in GSoC, and our friends at Adobe have already said they'll help us in any way they can to spread the word.

Regardless of whether or not students are funded by Google, their involvement is always welcomed. Indeed, we'd encourage any student reading this to contact any of the mentors if they want to get involved even if their application (or ours for that matter) to GSoC is not accepted.

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

As developers, we like to build things that make a difference. It's what motivates us. We hope it motivates our students too.

We're going to ensure that:

  • all students get the attention from mentors they need, so that they are not hung-up by easily resolved issues
  • lead developers of core sub-systems are agile enough to provide advice, APIs and/or bug fixes, so that things outside their control don't impact student efforts
  • good code makes its way into a production release as soon as possible
  • good students get the kudos they deserve in our community and beyond

And that's the memo.