GSoC 2011 Scribus Team Application

=Organization Name:=
 * Scribus Team

=Description:=
 * The Scribus Team includes the core development group and the translation, testing, and user support contributors located on every continent who cooperate to develop Scribus - a cross-platform Open Source Desktop Publishing Software. Scribus is now a 10 year old project which began as a Linux-only program, but now offers versions for Windows, MacOSX, and some less-commonly used environments like OS/2. Scribus provides professional publishing features, such as color separations, ICC color management, versatile PDF creation and pre-flight verification, as well as a Python scripting engine. In the Linux/UNIX and OS/2 worlds, Scribus is the only professional-grade Open Source Desktop Publishing Software, and on Win32 and Mac OS X, Scribus is used by an ever increasing number of professionals, as well as demanding amateur users. One can get some idea of the quality of PDFs made with Scribus, as well as the breadth of use by checking some of our Scribus Success Stories: http://wiki.scribus.net/canvas/Success_stories.

=Home page:=
 * http://www.scribus.net

=Main Organization License:=
 * GPLv2 or later

=Why is your organization applying to participate in GSoC 2011? What do you hope to gain by participating?=
 * Desktop Publishing is a complex process that requires a well-designed workflow with layout software at its pinnacle. This complexity is reflected in the commercial market dominated by two software companies with no interest in platforms other than Microsoft Windows and Mac OS X that are often not responsive to customer input especially for enthusiast/amateur market. Without Scribus there would be no Open Source desktop layout on alternative platforms, and the ability of people in the developing world and users of Free Software to produce professional level documents would not exist.

Impressively, Scribus has grown to be a piece of software that in many regards rivals the commercial products with large budgets and developmental teams behind them. However, because of the small size of the core team the development of Scribus is by necessity directed into the areas with the highest return for our users. The Scribus team follows a roadmap for addressing the known issues and the most important feature requests (http://bugs.scribus.net/roadmap_page.php), but great many possible development areas are currently stagnating due to the simple lack of manpower.

While some of these are larger projects, there is quite a range of items for students to choose from, depending on their interest and expertise. GSoC participation would be our best chance to attract new contributors and to address the areas that currently lack developmental effort. For instance, recently we have been approached by students who could make substantial contributions to highly important, but largely neglected parts of the Scribus functionality such as proper table support and a comprehensive undo/redo system. These students have already proven their capabilities by either sending patches to the Scribus code or by showing their previous work for another project. Having funds to allow these students to work on the Scribus code this Summer would likely make or break these projects in the short to medium term as nothing can replace the amount of focused effort they could put in during GSoC.

=If accepted, would this be your first year participating in GSoC?=
 * No.

=Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.=
 * We participated in GSoC 2007, 2008, and 2009. Our GSoC 2007 participants added math formula editing support via LaTeX frames – and a basic imposition (booklet printing) plugin. Both projects were completed successfully. GSoC 2008 brought in a new generation Python scripter, versatile vector and bitmap import via UniConvertor and GraphicsMagick, and a well-polished picture browser. GSoC 2009 work added PDF/X-1a and PDF/X-4 export and improved the PDF  embedding functionality. We did not participate in GSoC 2010.

A measure of our GSoC success is the fact that two of our GSoC students joined our team and another one became a contributor. In 2007 we went through the learning curve without major problems while learning a lot about selecting  students, managing mentor-student communications and expectations, and  finding problems before they turn into major obstacles. This allowed us to streamline the GSoC 2008 selection and mentoring processes and achieve a 100% success rate in our second year. In 2009, our efficient process organization allowed us to quickly identify the disparity between students capabilities presented during the selection process and their actual abilities to communicate and produce results once the projects started. We quickly culled projects with no hope of successful completion and prevented waste of GSoC funds whereas the student who was open to communication and problem resolution received all the help needed for successful completion of their project.

Our challenges throughout those three years were consistently related to the  students' communication difficulties and students lack of planning and  appreciation for the complexity of the GSoC projects. In one case, time was lost due to a student's withdrawal when confronted with coding  problems. In another case, two the students had problems connecting with their mentors on IRC due to the time-zone differences and network access difficulties, but they were able to switch to email and to use it in a productive manner in conjunction with the use of subversion branches. Fortunately, we had a supporting infrastructure that helped continue the flow of code and reviews. In 2009, two of our students did not make us aware of their school commitments that effectively made them drop out of GSoC as they were not able to commit sufficient resources to their  projects. A third student had to cancel his GSoC participation due to a serious family-related issue.

For GSoC 2011, we have prepared a well thought-out plan for focusing on student selection prior to the actual applications, which seems to be bearing fruits as we already have wonderful potential candidates lined up.

=If your organization participated in past GSoCs, please let us know the ratio of students  passing to students allocated, e.g. 2006: 3/6 for 3 out of 6 students  passed in 2006.=
 * 2007: 2/2, 2008: 3/3, 2009: 1/4.

=What is the URL for your ideas page?=
 * http://wiki.scribus.net/canvas/GSoC_2011_Ideas

=What is the main development mailing list for your organization? This question will be shown to students who would like to get more  information about applying to your organization for GSoC 2011. If your organization uses more than one list, please make sure to include a  description of the list so students know which to use.= http://lists.scribus.info/mailman/listinfo/scribus is used for user support and community discussions. We also set up GSoC-specific lists  http://lists.scribus.info/mailman/listinfo/gsoc-announce and  http://lists.scribus.info/mailman/listinfo/gsoc. Prospective students are encouraged to contact us as described in  http://wiki.scribus.net/canvas/GSoC_2011_Contact_Information.
 * http://lists.scribus.info/mailman/listinfo/scribus-dev is the developmental discussion list.

=What is the main IRC channel for your organization?=
 * #scribus on FreeNode. We also use #scribus-dev for more specific development-related  discussions.

=Does your organization have an application template you would like to see students use? If so, please provide it now. Please note that it is a very good idea to ask students to provide you with their contact information as part of your template. Their contact details will not be shared with you automatically via the GSoC 2011 site.=
 * We have specific requirements listed at http://wiki.scribus.net/canvas/GSoC_2011_Student_Requirements.

=What criteria did you use to select the individuals who will act as mentors for your organization? Please be as specific as possible:=
 * All of our mentors are members of the core Scribus development team or valued contributors. Beside the familiarity with Scribus code they possess other qualities that are useful for successful development of this type of software:
 * Familiarity and experience with the pre-press technologies;
 * Knowledge of the existing open source technologies applied to desktop publishing;
 * Experience in mentoring junior coders, possibly from an academic environment;
 * In-depth knowledge of user requirements.

We have selected for the mentoring team only those of our development team who would be able to dedicate sufficient time and efforts to mentoring of GSoC students and have excellent communication abilities. We also work on creating mentor-student pairs that will be passionate about the project and have excellent communication and willingness to work together to overcome any difficulties that might arise in the process. Moreover, we are confident that we have sufficient overlap in codebase knowledge and willingness to support each other among our mentors to be able to provide seamless support for our students. There is also more widespread feedback that students get from contact with the greater Scribus Community in IRC and the scribus-dev mailing list.

=What is your plan for dealing with disappearing students?=
 * We are prepared to institute close monitoring and feedback procedures for our students. Weekly contact with a mentor weekly will be considered a bare minimum. We also expect students to adhere to their weekly plan, and to deliver prompt explanations or sensible changes when this doesn't happen. Our mentors will keep in touch with students and perform at least weekly reviews of the student work via email reports and IRC discussions. We will strongly encourage students to practice continuous involvement in the activity on our IRC channel and mailing list, and will make sure this is understood as a tacit requirement. There are explicit requirements for uploading interim working code so that progress can be assessed. A responsibility of each mentor will be to make sure that exceptions to expected performance are explained and corrected. In the most unfortunate case – when a student might actually disappear – we plan to  contact the second runner-up candidate to see if they would continue the project, or we will fold the project into our main  development plan and ask Google to withhold payment from the student who has disappeared.

=What is your plan for dealing with disappearing mentors?=
 * We have yet to see that happen, one of the strengths we see in our project. Certainly, one of our mentors might become ill or need to step away from the project due to personal matters, and in this case we do not anticipate any problem with another stepping in to take over. In addition, open  monitoring of the student's progress via our public mailing list and IRC  channel and subversion commits will allow the rest of our team to keep  watch on the GSoC progression. We do realize that the assigned mentor is primarily responsible for ensuring continued student compliance with their GSoC contract.

=What steps will you take to encourage students to interact with your project's community before, during and after the program?=
 * Prior contact is a requirement. We intend to select only those students who show that they are willing and able to communicate with our team and with the Scribus Community. We conduct much of our development discussion on IRC and ask students to be present there as much as possible. Over the years we have found that the open and friendly atmosphere characteristic of our mailing list and IRC channels has helped a number of people make a transition from Scribus users to contributors and to team members. We believe that by exposing students to this friendly and encouraging environment we can foster their sense of involvement and help them see how their accomplishments help the entire community as much as being rewarding learning experiences for themselves. The absence of interpersonal conflicts on our mailing lists and in IRC channels given the large number of community members with diverse viewpoints shows that this strategy has been productive.
 * We realize that in some respects, DTP is a niche type of software. What we see from users unfamiliar with the existence of DTP software is often great surprise that Scribus exists, and continuing surprise about what it can do. What we can hope for is that at least some of our students have the same surprise, and decide to stay with the team once they become familiar with interesting issues still needing to be addressed. What we will continue to do is what we've always done - try to be helpful to users and potential team members, offering what assistance we can to help them find their place in the Scribus community. As noted, we have already had some success in attracting students to stay on after GSoC.

=Is there anything else you would like to tell the Google Summer of Code program administration team?=
 * Having a nurturing and friendly environment for our developers to work in is part of the essence of Scribus. Without a doubt GSoC helps us find a wider audience with developers wanting to contribute to open source software development, and we would like to continue to be involved year after year. Thank you for the opportunity to apply to this wonderful program.

Backup Admin (Link ID):

 * mrdocs