Difference between revisions of "GSoC2012/OrgApplication"

From GnuCash
Jump to: navigation, search
(Who will be your backup organization administrator?)
(Some editorial changes, reworked the application section, a couple of comments on the optional questions)
Line 11: Line 11:
  
 
=== Describe your organization. ===
 
=== Describe your organization. ===
!!!DRAFT!!! GnuCash is personal and small-business financial-accounting software, freely licensed under the GNU GPL and available for GNU/Linux, BSD, Solaris, Mac OS X and Microsoft Windows.
+
!!!DRAFT!!! GnuCash is personal and small-business financialaccounting 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.
 
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.
Line 19: Line 19:
 
* '''Over 2.5 million downloads''': Sourceforge alone records over 2.5 million downloads of the GnuCash software.
 
* '''Over 2.5 million downloads''': Sourceforge alone records over 2.5 million downloads of the GnuCash software.
  
* '''Packt book''': In 2011, Packt published a book [https://www.packtpub.com/gnucash-2-4-small-business-accounting/book Gnucash 2.4 Small Business Accounting: Beginner's Guide].
+
* '''Packt book''': In 2011, Packt published [https://www.packtpub.com/gnucash-2-4-small-business-accounting/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.
 
* '''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? ===
 
=== Why is your organization applying to participate in Google Summer of Code 2012? What do you hope to gain by participating? ===
!!!DRAFT!!! 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 concepts 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.
+
!!!DRAFT!!! 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. ===
 
=== Did your organization participate in past Google Summer of Codes? If so, please summarize your involvement and the successes and challenges of your participation. ===
 
!!!DRAFT!!! We participated in 2007 and 2011.  
 
!!!DRAFT!!! We participated in 2007 and 2011.  
In 2011, we selected three students. Of these, 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.
+
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.
Nitish Dodagatta worked on extending the Qt GUI for GnuCash, called CuteCash. Unfortunately, the third student was not able to complete his project??? reasons??? proposed corrective actions for 2012???
+
 
In 2007, four
+
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.
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 a good progress of
 
the report. 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.
 
  
 
=== If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)? ===
 
=== 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 and we participated in the program.
+
Applied in 2011, 2010, 2007, of which the 2011 and 2007 applications were successful with three and four projects respectively.
  
 
=== What [http://www.opensource.org/licenses/alphabetical Open Source Initiative approved] license(s) does your project use? ===
 
=== What [http://www.opensource.org/licenses/alphabetical Open Source Initiative approved] license(s) does your project use? ===
Line 58: Line 42:
  
 
=== What is the main development mailing list for your organization? ===
 
=== What is the main development mailing list for your organization? ===
!!!DRAFT!!! The main development mailing list is
+
!!!DRAFT!!! The main development mailing list is gnucash-devel@gnucash.org. [http://wiki.gnucash.org/wiki/Mailing_Lists GnuCash Mailing Lists] has the usual archive and subscription information. Our mailing lists are also [http://gnucash.1415818.n4.nabble.com/GnuCash-f1415818.subapps.html mirrored by Nabble].
"gnucash-devel". The archive and
 
subscription information of this list
 
and of the other project lists is shown
 
on
 
http://wiki.gnucash.org/wiki/Mailing_Lists .
 
 
=== What is the main IRC channel for your organization? ===
 
=== What is the main IRC channel for your organization? ===
 
<tt>#gnucash</tt> on irc.gimp.org
 
<tt>#gnucash</tt> on irc.gimp.org
  
 
=== Does your organization have an application template you would like to see students use? If so, please provide it now. ===
 
=== Does your organization have an application template you would like to see students use? If so, please provide it now. ===
!!!DRAFT!!! Basic Information
+
!!!DRAFT!!!  
-----------------
+
=====Basic Information=====
Student name:
+
# Student name:
Location (Home town, state, country):
+
# Location (Home town, state, country):
 +
# School (Name, location, candidate for what degree):
  
Contact Information
+
=====Contact Information=====
-------------------
+
# Email:  
Email:  
+
# Instant messaging contact details (Skype or similar):
Instant messaging contact details (Skype
+
# Phone number (our mentors may ask for a few phone conversations, especially in
or similar):
 
Phone number (our mentors will ask for a
 
few phone conversations, especially in
 
 
the beginning):
 
the beginning):
  
Background/Programming Information
+
=====Background/Programming Information=====
-----------------------------------
+
# What programming experience do you have so far (languages, operating systems, version control systems)?
What programming experience do you have
+
# Have you ever built an open source package from source?
so far (languages, operating systems,
+
# Have you ever built GnuCash from source?
compilers)?
+
# Have you participated in Google Summer of Code before? For what program? Did you successfully complete your project?
Have you worked on programming
+
# Describe some programming projects you've already undertaken and their outcomes. If possible, include links to commits:
project(s) before, and which one(s)?
+
 
What project in GnuCash would you like
+
=====Project Proposal=====
to work on?
+
# What is your goal?
How do you propose to solve the
+
# How will that improve GnuCash, or what known GnuCash problems or limitations will it fix?
problem(s) posed in the project you'd
+
# 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.
like to work on?
+
# How do you propose to overcome the anticipated obstacles?
Have you ever built an open source
+
# What specific experience do you have that will help you overcome the obstacles and accomplish your goal?
package from source?
+
 
Have you ever built GnuCash from source?
 
 
=== Who will be your backup organization administrator? ===
 
=== Who will be your backup organization administrator? ===
 
Ashok Ramachandran
 
Ashok Ramachandran
Line 103: Line 79:
 
=== What criteria did you use to select the individuals who will act as mentors for your organization? Please be as specific as possible. ===
 
=== What criteria did you use to select the individuals who will act as mentors for your organization? Please be as specific as possible. ===
 
!!!DRAFT!!! We selected mentors based on the following criteria:
 
!!!DRAFT!!! 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.  
+
* 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 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 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.
+
* They have volunteered to act as a mentor.
#Some of them also have experience of successful participation in past Google Summer of Code projects.
+
* 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? ===
 
=== What is your plan for dealing with disappearing students? ===
 
!!!DRAFT!!! We believe that prevention is better than cure. We plan to follow a 4-point approach to prevent them from disappearing:
 
!!!DRAFT!!! 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).
+
* 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.
+
* 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.
+
* 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.
+
* 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? ===
 
=== What is your plan for dealing with disappearing mentors? ===
!!!DRAFT!!! 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 four 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.
+
!!!DRAFT!!! 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? ===  
 
=== What steps will you take to encourage students to interact with your project's community before, during and after the program? ===  
Line 124: Line 100:
 
=== 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 a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ===
 
:The question is optional. I'd leave it empty. !!!DRAFT!!! No, we are not a new organization. We applied in 2011, 2010 and 2007, of which the 2011 and 2007 applications were successful with three and four projects respectively
 
:The question is optional. I'd leave it empty. !!!DRAFT!!! No, we are not a new organization. We applied in 2011, 2010 and 2007, of which the 2011 and 2007 applications were successful with three and four projects respectively
 +
:I'd leave it blank or just say "Not a new organization" or "Not applicable". We've already detailed our experience with GSoC. -- JR
  
 
=== 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. ===
 
=== 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. ===
:The question is optional. I'd leave it empty. !!!DRAFT!!! do we want to vouch for any organization???
+
:The question is optional. I'd leave it empty. !!!DRAFT!!! do we want to vouch for any organization?  
 +
:Does anyone know a new organization that we '''should''' vouch for? I don't, so I'd mark it "Not applicable" or leave it blank. -- JR

Revision as of 17:42, 8 March 2012

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: http://www.booki.cc/gsoc-mentoring/_v/1.0/

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 seems to get messed up completely, so don't bother with the line breaks here. It will be just plain text with arbitrary line breaks.

Contents

Describe your organization.

!!!DRAFT!!! GnuCash is personal and small-business financialaccounting 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.

  • Over 2.5 million downloads: Sourceforge alone records over 2.5 million downloads of the GnuCash software.
  • 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?

!!!DRAFT!!! 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.

!!!DRAFT!!! 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?

Both GPLv2 and GPLv3. I'd like to emphasize GPLv3 as the main one, as that's the more future-proof one.

What is the URL for your Ideas page?

http://wiki.gnucash.org/wiki/GSoC2012

What is the main development mailing list for your organization?

!!!DRAFT!!! The main development mailing list is gnucash-devel@gnucash.org. GnuCash Mailing Lists 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 irc.gimp.org

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

!!!DRAFT!!!

Basic Information
  1. Student name:
  2. Location (Home town, state, country):
  3. School (Name, location, candidate for what degree):
Contact Information
  1. Email:
  2. Instant messaging contact details (Skype or similar):
  3. Phone number (our mentors may ask for a few phone conversations, especially in

the beginning):

Background/Programming Information
  1. What programming experience do you have so far (languages, operating systems, version control systems)?
  2. Have you ever built an open source package from source?
  3. Have you ever built GnuCash from source?
  4. Have you participated in Google Summer of Code before? For what program? Did you successfully complete your project?
  5. Describe some programming projects you've already undertaken and their outcomes. If possible, include links to commits:
Project Proposal
  1. What is your goal?
  2. How will that improve GnuCash, or what known GnuCash problems or limitations will it fix?
  3. 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.
  4. How do you propose to overcome the anticipated obstacles?
  5. 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.

!!!DRAFT!!! 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?

!!!DRAFT!!! 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?

!!!DRAFT!!! 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?

!!!DRAFT!!! 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.

The question is optional. I'd leave it empty. !!!DRAFT!!! No, we are not a new organization. We applied in 2011, 2010 and 2007, of which the 2011 and 2007 applications were successful with three and four projects respectively
I'd leave it blank or just say "Not a new organization" or "Not applicable". We've already detailed our experience with GSoC. -- JR

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.

The question is optional. I'd leave it empty. !!!DRAFT!!! do we want to vouch for any organization?
Does anyone know a new organization that we should vouch for? I don't, so I'd mark it "Not applicable" or leave it blank. -- JR