Difference between revisions of "Summer of Code/Application/2013"

Jump to navigation Jump to search
(Update topics)
 
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
== <span style="color:red">DRAFT, BRUTAL COPY OF 2012, DO NOT USE WITHOUT FURTHER MODIFICATIONS!</span>==
- <span style="color:red"> Questions have been updated. </span>
== Introduction & overview ==
== Introduction & overview ==


Line 19: Line 16:
|Backup administrator: || John Willis (djwillis AT users.sourceforge.net) link_id: djwillis
|Backup administrator: || John Willis (djwillis AT users.sourceforge.net) link_id: djwillis
|-
|-
|Project License: || GPLv2
|Project License: || GPLv2+
|-
|-
|Ideas page: || [[GSoC Ideas]]
|Ideas page: || [[GSoC Ideas]]
Line 29: Line 26:
|Mentors: ||
|Mentors: ||
* [[User:Sev|Eugene Sandulenko]], Google Account: sev.mail AT gmail.com link_id: sev
* [[User:Sev|Eugene Sandulenko]], Google Account: sev.mail AT gmail.com link_id: sev
* [[User:DrMcCoy|Sven Hesse]], Google Account: drmccoy AT users.sourceforge.net link_id: drmccoy
* [[User:LordHoto|Johannes Schickel]], Google Account: lordhoto AT gmail.com link_id: lordhoto
* [[User:LordHoto|Johannes Schickel]], Google Account: lordhoto AT gmail.com link_id: lordhoto
* [[User:Strangerke|Arnaud Boutonné]], Google Account: arnaud.boutonne AT gmail.com link_id: strangerke
* [[User:Strangerke|Arnaud Boutonné]], Google Account: arnaud.boutonne AT gmail.com link_id: strangerke
* [[User:Digitall|David Turner]], Google Account: digitall AT scummvm.org link_id: digitall
* [[User:Digitall|David Turner]], Google Account: digitall AT scummvm.org link_id: digitall
* [[User:Somaen | Einar Johan Trøan Sømåen]], Google Account: somaen AT scummvm.org link_id: TBD
|-
|-
|Backup Mentors: ||
|Backup Mentors: ||
* [[User:DrMcCoy|Sven Hesse]], Google Account: drmccoy AT users.sourceforge.net link_id: drmccoy
* [[User:Aquadran|Paweł Kołodziejski]], Google Account: aquadran AT scummvm.org link_id: aquadran
* [[User:Aquadran|Paweł Kołodziejski]], Google Account: aquadran AT scummvm.org link_id: aquadran
* [[User:Fuzzie|Alyssa Milburn ]], Google Account: fuzzie AT scummvm.org link_id: fuzzie
* [[User:wjp|Willem Jan Palenstijn]], Google Account: wjp AT scummvm.org link_id: wjp
|}
|}


Line 45: Line 45:
The VM approach followed by ScummVM results in efficient code, which has been ported to numerous Operating Systems. Besides running on all mainstream desktop environments, namely Windows, Mac OS X and most Unix variants (Linux, *BSD, Solaris), ScummVM also runs on popular game consoles (Wii, Nintendo DS, PlayStation 2, PlayStation Portable, Dingoo and more), smart phones and PDAs (Android, WinCE, iPhone or Symbian based), and even on many not-so-mainstream systems (like BeOS, AmigaOS or OS/2).
The VM approach followed by ScummVM results in efficient code, which has been ported to numerous Operating Systems. Besides running on all mainstream desktop environments, namely Windows, Mac OS X and most Unix variants (Linux, *BSD, Solaris), ScummVM also runs on popular game consoles (Wii, Nintendo DS, PlayStation 2, PlayStation Portable, Dingoo and more), smart phones and PDAs (Android, WinCE, iPhone or Symbian based), and even on many not-so-mainstream systems (like BeOS, AmigaOS or OS/2).


ScummVM has a highly productive team of about 44 currently active developers (out of an all-time pool of over 110), working together on a codebase almost 1,500,000 lines of code. In addition ScummVM has many non-developer contributors, and a huge and highly active community. ScummVM is among the top ranking projects hosted on sourceforge.net with over 100,000 monthly downloads and ~10 million project web hits per month.
ScummVM has a highly productive team of about 42 currently active developers (out of an all-time pool of over 110), working together on a codebase almost 1,700,000 lines of code. In addition ScummVM has many non-developer contributors, and a huge and highly active community. ScummVM is among the top ranking projects hosted on sourceforge.net with over 100,000 monthly downloads and ~10 million project web hits per month.


=== Why is your organization applying to participate in Google Summer of Code 2013? What do you hope to gain by participating? ===
=== Why is your organization applying to participate in Google Summer of Code 2013? What do you hope to gain by participating? ===
Line 52: Line 52:
As usual, what we hope to gain is valuable code contributions. In previous years, we've had students take up and complete tasks which had been marked as "to-do", but the main developers had no time to implement them. The students took these up as self-contained GSoC projects and realized them. But also, some students have come up with new functionality, proposing and finally implementing it. These have been our favorite.
As usual, what we hope to gain is valuable code contributions. In previous years, we've had students take up and complete tasks which had been marked as "to-do", but the main developers had no time to implement them. The students took these up as self-contained GSoC projects and realized them. But also, some students have come up with new functionality, proposing and finally implementing it. These have been our favorite.


In addition, we hope to gain new developers for the project. We hope that after their projects, students will stick around and improve them or work on other interesting tasks. We hope that GSoC brings the students in touch with open source and, in our case, brings them in touch with game developing. We hope these students will add their piece of code to this project, but will also keep on contributing afterwards.
In addition, we hope to gain new developers for the project. We hope that after their projects, students will stick around and improve them or work on other interesting tasks. We hope that GSoC brings the students in touch with open source and, in our case, brings them in touch with game development. We hope these students will add their piece of code to this project, but will also keep on contributing afterwards. Last year, a student met all those expectations and even managed to exceed them: Einar Johan Trøan Sømåen is still contributing to the project and is even volunteering to be a mentor this year!


We've been successful in the past five years, and we're really looking forward to great results from the program this year too.
We've been successful in the past six years, and we're really looking forward to great results from the program this year too.


=== Has your organization participated in past Google Summer of Codes? (Yes / No)
=== Has your organization participated in past Google Summer of Codes? (Yes / No) ===
Yes
Yes


===  If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ===
===  If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ===
We have participated in the GSoC program for five years running, in 2007-2011.
We have participated in the GSoC program for six years running, in 2007-2012.
 
In 2012, 5 team members mentored 4 students. Each mentor was also the co-mentor of another task, so the backup mentoring was still working well. 3 students passed, and one failed at mid-term. One student is still contributing to the project and volunteered to be a mentor for GSoC 2013, which is really awesome. Based on discussion with other projects and on our experience, we are considering merging student code earlier in the GSoC process and have modified our processes accordingly for the next year.


In 2011, 4 team members mentored 2 students. One student succeeded in objectifying the CruisE engine, which really needed it. The other student unfortunately gave up fairly quickly after starting work (although the work done was eventually merged into our main repository, after being worked on further by a team member). After stepping back to review our processes, we feel we can still consider them to be mature. Part of the problems which caused the student to quickly give up came from internal tensions, that we have since addressed by redefining the project management structure.
In 2011, 4 team members mentored 2 students. One student succeeded in objectifying the CruisE engine, which really needed it. The other student unfortunately gave up fairly quickly after starting work (although the work done was eventually merged into our main repository, after being worked on further by a team member). After stepping back to review our processes, we feel we can still consider them to be mature. Part of the problems which caused the student to quickly give up came from internal tensions, that we have since addressed by redefining the project management structure.
Line 68: Line 70:
In 2009 we had 5 students and 6 mentors. 4 of our students passed, and one failed the finals. That year the success was so big that all the students' code was merged within three months into the main development line. We were considered to be mature in our processes by that time with excellent outcome.
In 2009 we had 5 students and 6 mentors. 4 of our students passed, and one failed the finals. That year the success was so big that all the students' code was merged within three months into the main development line. We were considered to be mature in our processes by that time with excellent outcome.


In 2008 we had 6 students and 7 mentors. 5 of our students were so successful that their code is included in the mainline of ScummVM. Our latest release contains code from all 5. We consider a great achievement the fact that 4 of the students still continue to contribute to the project. We had one student severely underachieving that year. Although his mentor helped him to a great extent, even going as far as writing portions of his task's code with him as a method to help him along, he still failed to even come close to completing the task. It is our assessment that the major problem was that he overestimated his free time to work on the project. We will be addressing this kind of issue this year by using several methods, such as requiring a more detailed task schedule, explicitly asking about prior commitments and conducting interviews with the students.
In 2008 we had 6 students and 7 mentors. 5 of our students were so successful that their code is included in the mainline of ScummVM, and we consider it a great achievement the fact that 4 of the students continued to contribute to the project.


In 2007 we had 7 students and 4 mentors in total. Two of our students have been promoted to active, regular developers in the team after having their respective code contributions integrated in the codebase. One other student's code contributions have also been integrated in the mainline. Two more have their code still in development to improve it and make it production-ready, either through optimization or extension and better integration. Two students failed to keep up with the schedule and/or produced inadequate code.
In 2007 we had 7 students and 4 mentors in total. Two of our students continued to become active, regular developers in the team after having their respective code contributions integrated in the codebase. All but two of the other students succeeded in their projects.


All in all, we maintain that we are refining our method of student selection the past years and this refinement leads to better results each year. The discussions, testimonials and proposed actions which the mentor summit has brought up -and which we have participated in these six years- have helped us a great deal, during this refinement process as well. Our new management organization has also proven its efficiency during these last 2 years, and we expect much of it in the future.


All in all, we maintain that we are refining our method of student selection these past three years and this refinement leads to better results each year.
Summary pass/fail:
The discussions, testimonials and proposed actions which the mentor summit has brought up -and which we have participated in these five years- have helped us a great deal, during this refinement process as well. Our new management organization has also proven its efficiency during these last 8 months, and we expect much of it in the future.
2012: 3/1
2011: 1/1
2010: 4/0
2009: 4/1
2008: 5/1
2007: 5/2


=== 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)? ===
Line 115: Line 123:
During the program, we will make sure that the students will feel comfortable with their tasks. Our mentors already have experience with that. Moreover, in difficult situations in the past there was not just a single person feeling responsible for a particular student, but rather the whole project was trying to help when needed. These reflexes on behalf of the mentor group but also on behalf of the active team members of ScummVM have proven to be a pretty good "tool" and we are going to do our best this year too.
During the program, we will make sure that the students will feel comfortable with their tasks. Our mentors already have experience with that. Moreover, in difficult situations in the past there was not just a single person feeling responsible for a particular student, but rather the whole project was trying to help when needed. These reflexes on behalf of the mentor group but also on behalf of the active team members of ScummVM have proven to be a pretty good "tool" and we are going to do our best this year too.


Based on our more negative experience last year, this year we will also make sure that internal project tensions stay internal and under control, since they were an identified cause of demotivation of our disappearing student. The new project management structure should make sure that it will not as easily happen in the future.
Based on our more negative experience two years ago, we will also make sure that internal project tensions stay internal and under control, since they were an identified cause of demotivation of our disappearing student in 2011. The current project management structure should make sure that it will not as easily happen in the future.


===  What is your plan for dealing with disappearing mentors? Please be as specific as possible. ===
===  What is your plan for dealing with disappearing mentors? Please be as specific as possible. ===
For the mentors, the risk is relatively low; our past experiences absolutely verify this claim. In order to be even more efficient this year, three of our mentors are project leaders, core team members or project administrators and are reachable virtually 24/7 (in case of emergencies). We all have exchanged sufficient contact information (including cell phone numbers etc.) to be able to discover our whereabouts. Should something really bad happen which precludes a mentor from fulfilling his duties (including personal reasons), we will attempt to shift students to new mentors among the existing mentors, or drawn from our backup pool of mentors. This will depend on the number of students we have to mentor. In any case, the students will not be left hanging for any reason at all, no matter what happens.
For the mentors, the risk is relatively low; our past experiences absolutely verify this claim. In order to be even more efficient this year, three of our mentors are project leaders, core team members or project administrators and are reachable virtually 24/7 (in case of emergencies).


===  What steps will you take to encourage students to interact with your project's community before, during and after the program? ===
;We all have exchanged sufficient contact information (including cell phone numbers etc.) to be able to discover our whereabouts. Should something really bad happen which precludes a mentor from fulfilling his duties (including personal reasons), we will attempt to shift students to new mentors among the existing mentors, or drawn from our backup pool of mentors. This will depend on the number of students we have to mentor.
In order to help the students familiarize themselves with the project, we have created several pieces of documentation for them. In particular, we have an exhaustive developer central where we describe the all-important internals of ScummVM. This is valuable as a quick reference as well as during the initial explorations of the codebase.


;We also defined for the last two years a co-mentoring system so the students have a primary and a secondary mentor, which comfort us in the idea that, in any case, the students will not be left hanging for any reason at all, no matter what happens.
===  What steps will you take to encourage students to interact with your project's community before and during the program? ===
The development team actively uses the forums, IRC, Wiki and the development mailing list during the entire project development. We consider out students to be special, but developers nonetheless. Each developer including our students is encouraged to take part in discussions, whatever the means these discussions occur. As a pragmatic fact, on IRC any student will be able to get support literally 24/7, as our developers are scattered all over the globe.
The development team actively uses the forums, IRC, Wiki and the development mailing list during the entire project development. We consider out students to be special, but developers nonetheless. Each developer including our students is encouraged to take part in discussions, whatever the means these discussions occur. As a pragmatic fact, on IRC any student will be able to get support literally 24/7, as our developers are scattered all over the globe.


Not only the mentors, but also the entire development team, are encouraged to communicate with the students. The students are marked with a special flag on our IRC channel, so everyone knows who they are. And we require the students to write introductory letters to our development list, so everyone will have an impression about them, their skills and their assigned task (of course).
;Not only the mentors, but also the entire development team, are encouraged to communicate with the students. The students are marked with a special flag on our IRC channel, so everyone knows who they are. And we require the students to write introductory letters to our development list, so everyone will have an impression about them, their skills and their assigned task (of course).
 
;In order to help the students  familiarize themselves with the project, we also have created several pieces of documentation for them. In particular, we have an exhaustive developer central where we describe the all-important internals of ScummVM. This is valuable as a quick reference as well as during the initial explorations of the codebase.
 
=== What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes? ===
This year we also decided to require the GSoC student code be merged into our Master tree much earlier in the process, if possible. Based on our own experience, on discussion with returning students and on discussions with other projects, it should be very motivating for students to directly interact with our main repository and could potentially make some of them stay after the end of GSoC. We'll obviously have to make an assessment afterwards of the benefits and disadvantages of that new process.


=== 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. ===

Navigation menu