From GnuCash
Jump to: navigation, search

Our organization application for GSoC2012, which needs to be handed in before Friday, March 9th 2012 23:00 UTC (3pm PST) deadline successfully.

Direct link for the admin and backup admin of the read-only application:

There is a bunch of homework that our organization must complete before we have a chance to be accepted:

In particular, we need come up with a good "ideas" page and also have good answers to the following questions.

Note: The text formatting in our answers will get messed up completely in the gsoc entry from. Hence, we need just simple plain text.


Describe your organization.

GnuCash is a personal and small-business financial accounting program, freely licensed under the GNU GPL and available for GNU/Linux, BSD, Solaris, Mac OS X and Microsoft Windows.

Designed to be easy to use, yet powerful and flexible, GnuCash allows you to track bank accounts, stocks, income and expenses. As quick and intuitive to use as a checkbook register, it is based on professional accounting principles to ensure balanced books and accurate reports. The recent project progress is emphasized by the following highlights:

- Sourceforge Project of the Month: GnuCash was nominated by Sourceforge for Project of the Month ( for Mar 2012 because it was one of the top 20 projects in an earlier month, in terms of month-over-month growth of traffic.

- Over 2.5 million downloads: Sourceforge alone records over 2.5 million downloads of the GnuCash software.

- Packt book: In 2011, Packt published the book "Gnucash 2.4 Small Business Accounting: Beginner's Guide"

- In many languages: The GnuCash website is available in 8 languages, the Tutorial and Concepts Guide in 4, the Help Manual in 3 and the user interface has been translated into many more languages to varying extents.

Why is your organization applying to participate in Google Summer of Code 2012? What do you hope to gain by participating?

GnuCash has recently picked up a significant momentum to implement radically new features and technologies. Some of them are already being integrated in the current code base, whereas others are still in the concept stage. We believe that GnuCash can offer the platform for several exciting new projects that explore innovative ways of application development and use case implementation. Hence, our organization is in a phase where students with experimental projects can join easily, and are also warmly welcomed. We of course also expect to directly benefit from their full-time coding efforts, as we have from past participation in the GSoC program. We also expect to benefit from the new ideas and fresh perspectives the students bring. They, in turn, will develop rapport with key members of our team. The awareness and mindshare that we develop with the younger generation in general, and the student and academic community in particular, will surely help find future recruits. If even a small number of students continue their association with our project, that will be the icing on the cake.

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

We participated in 2007 and 2011.

In 2007, four students started to work with our project. However, the communication between the mentors and students didn't start too well, so some of the students disappeared relatively quickly. Two of the students got involved very well and they implemented interesting and useful new features of GnuCash. In that case, the frequent reporting from the student to the mentor and a quick feedback from the mentor ensured good progress. We will continue to make sure all of the mentors allocate enough time on the mentoring task, especially in the beginning, so that the communication channels are set up on a good level.

In 2011, we selected three students. Learning from our experience in 2007, one of our selection criteria in 2011 was that selected students had to engage us on our developer's mailing list and discuss their proposed application. Two were able to successfully complete their projects: Muslim Chochlov wrote unit tests for critical parts of the Query Object Framework, an important foundation of GnuCash's core, and Nitish Dodagatta worked on extending the Qt GUI for GnuCash, called CuteCash. Unfortunately, the third student had family issues which prevented him from making significant progress or communicating with his mentor and he had to be failed at midterm.

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

Applied in 2011, 2010, 2007, of which the 2011 and 2007 applications were successful with three and four projects respectively.

What Open Source Initiative approved license(s) does your project use?

GPLv3. (Currently both GPLv2 and GPLv3 available)

What is the URL for your Ideas page?

What is the main development mailing list for your organization?

The main development mailing list is The web page has the usual archive and subscription information. Our mailing lists are also mirrored by Nabble .

What is the main IRC channel for your organization?

#gnucash on

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

Basic Information

- Student name:

- Location (Home town, state, country):

- School (Name, location, candidate for what degree):

Contact Information

- Email:

- Instant messaging contact details (Skype or similar):

- Phone number (our mentors may ask for a few phone conversations, especially in the beginning):

Background/Programming Information

- What programming experience do you have so far (languages, operating systems, version control systems)?

- Have you ever built an open source package from source?

- Have you ever built GnuCash from source?

- Have you participated in Google Summer of Code before? For what program? Did you successfully complete your project?

- Describe some programming projects you've already undertaken and their outcomes. If possible, include links to commits in public source code repositories:

Project Proposal

- What is your goal?

- How will that improve GnuCash, or what known GnuCash problems or limitations will it fix?

- How do you intend to accomplish the goal and what obstacles do you anticipate? Be sure to address in some detail what functions you intend to add or modify, how it will integrate with existing code, and how you plan to test your code.

- How do you propose to overcome the anticipated obstacles?

- What specific experience do you have that will help you overcome the obstacles and accomplish your goal?

Who will be your backup organization administrator?

Ashok Ramachandran link_id: ashokr

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

We selected mentors based on the following criteria:

- All of them are active developers and they have great knowledge of the architecture of the system, existing code base and development environment.

- They showed good communication skills on our mailing lists and are known to help others to solve their problems and get to know the code base.

- They have suggested projects that have a realistic chance of being completed in 12 weeks and have a number of early steps of success on the way.

- They have volunteered to act as a mentor.

- Some of them also have experience of successful participation in past Google Summer of Code projects.

What is your plan for dealing with disappearing students?

We believe that prevention is better than cure. We plan to follow a 4-point approach to prevent them from disappearing:

- Close coordination in the early stages of the project: Once the student-mentor team develops a rhythm, we expect things to run more smoothly. However, until that happens, our mentors will maintain closer coordination, including several voice conversations (phone, skype, or similar).

- Rapport: In our experience, student-mentor rapport is key to such remote collaboration efforts. So, mentors will make an effort to build early rapport with the students.

- Ask for feedback: As the project progresses, we plan to ask the student for feedback and address any issues so that we can avoid any build-up of frustrations.

- Establish ground rules: We will establish ground rules regarding frequency of communications, primary/secondary communication channels and mutually agreed project milestones. Each mentor will set up those with their respective student, and the organization admin will keep in close contact with the mentors to encourage and check that these points are indeed being set.

What is your plan for dealing with disappearing mentors?

All mentors are committed developers of the project and they have volunteered to do this. So we don’t expect them to disappear. However, it is possible that they run into personal emergencies that may prevent them from delivering on their mentoring obligations. We received responses from more than the mentors finally listed. Those additional mentors and also the organization admin will be available on stand-by in case they have to step-in in such a contingency.

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

We will require our students to get familiar with the community, through our mailing list and IRC, before the program starts. During the program, we will ask the students to announce directly to the community major milestones reached. Towards the end of the project, based on an assessment of their aptitude and capability, mentors will have a conversation with them regarding how they could remain engaged and ask for their feedback on what could be a potential next project.

Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.


Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here.