Difference between revisions of "GSoC2012/OrgApplication"

From GnuCash
Jump to: navigation, search
m
(Does your organization have an appliction template you would like to see students use? If so, please provide it now.: formatting)
 
(28 intermediate revisions by 3 users not shown)
Line 8: Line 8:
 
In particular, we need come up with a good "ideas" page and also have good answers to the following questions.
 
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.
+
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. ===
 
=== 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.
+
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.  
+
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 (http://sourceforge.net/blog/march-potm-vote/) 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" https://www.packtpub.com/gnucash-2-4-small-business-accounting/book
 +
 
 +
- '''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.
+
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 but not in any other year. In 2007, four
+
We participated in 2007 and 2011.  
students started to work with our
+
 
project. However, the communication
+
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.
between the mentors and students didn't
+
 
start too well, so some of the students
+
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.
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. This time, we will 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 2007, 2010, 2011, of which the 2007 and 2011 application was successful 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 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? ===
Both GPLv2 and GPLv3. I'd like to emphasize GPLv3 as the main one, as that's the more future-proof one.
+
GPLv3. (Currently both GPLv2 and GPLv3 available)
  
 
=== What is the URL for your Ideas page? ===
 
=== What is the URL for your Ideas page? ===
Line 47: Line 43:
  
 
=== 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
+
The main development mailing list is gnucash-devel@gnucash.org. The web page http://wiki.gnucash.org/wiki/Mailing_Lists has the usual archive and subscription information. Our mailing lists are also mirrored by Nabble http://gnucash.1415818.n4.nabble.com/GnuCash-f1415818.subapps.html .
"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
+
 
-----------------
+
Basic Information
Student name:
+
 
Location (Home town, state, country):
+
- Student name:
 +
 
 +
- 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 or similar):
Phone number (our mentors will ask for a
+
 
few phone conversations, especially in
+
- Phone number (our mentors may ask for a few phone conversations, especially in
 
the beginning):
 
the beginning):
  
 
Background/Programming Information
 
Background/Programming Information
-----------------------------------
+
 
What programming experience do you have
+
- What programming experience do you have so far (languages, operating systems, version control systems)?
so far (languages, operating systems,
+
 
compilers)?
+
- Have you ever built an open source package from source?
Have you worked on programming
+
 
project(s) before, and which one(s)?
+
- Have you ever built GnuCash from source?
What project in GnuCash would you like
+
 
to work on?
+
- Have you participated in Google Summer of Code before? For what program? Did you successfully complete your project?
How do you propose to solve the
+
 
problem(s) posed in the project you'd
+
- Describe some programming projects you've already undertaken and their outcomes. If possible, include links to commits in public source code repositories:
like to work on?
+
 
Have you ever built an open source
+
Project Proposal
package from source?
+
 
Have you ever built GnuCash from source?
+
- 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? ===
 
=== Who will be your backup organization administrator? ===
!!!DRAFT!!! ?
+
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. ===
 
=== 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:
+
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.
+
- All of them are active developers and they have great knowledge of the architecture of the system, existing code base and development environment.  
#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 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.
#Some of them also have experience of successful participation in past Google Summer of Code projects.
+
 
 +
- 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? ===
 
=== 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:
+
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.
+
- 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).
#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.
+
- 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? ===
 
=== 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.
+
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. ===
 +
:n/a
  
=== What steps will you take to encourage students to interact with your project's community before, during and after the program? ===
+
=== 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. ===
!!!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.
+
:n/a

Latest revision as of 19:56, 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 will get messed up completely in the gsoc entry from. Hence, we need just simple plain text.

Contents

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 (http://sourceforge.net/blog/march-potm-vote/) 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" https://www.packtpub.com/gnucash-2-4-small-business-accounting/book

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

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

What is the main development mailing list for your organization?

The main development mailing list is gnucash-devel@gnucash.org. The web page http://wiki.gnucash.org/wiki/Mailing_Lists has the usual archive and subscription information. Our mailing lists are also mirrored by Nabble http://gnucash.1415818.n4.nabble.com/GnuCash-f1415818.subapps.html .

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.

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.

n/a

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.

n/a