GsoC 2008 Scribus Team Application

Submitted on March 5th, 2008
=About Your Organization=

1. Describe your organization.
The Scribus Team consists of a relatively small, but dedicated core of developers along with a larger circle of individual contributors located on every continent who work together to develop Scribus – an Open Source program that brings award-winning professional page layout to Linux/UNIX, MacOS X, OS/2 and Windows desktops with a combination of "press-ready" output and new approaches to page layout. Underneath the modern and user friendly interface, Scribus supports professional publishing features, such as CMYK color, color separations, ICC color management and versatile PDF creation. In the Linux/UNIX and OS/2 worlds Scribus is the Open Source Desktop Publishing Software of choice.

2. Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?
Desktop Publishing is a very complex process that requires a well-working workflow with its pinnacle being the Layout Software. This complexity is reflected in the commercial market completely dominated by two main software companies who do not seem to show any interest in software platforms other then Microsoft Windows and Mac OS X and who are in many cases not very responsive to end-user input.

Scribus grew out of its humble beginnings as an application for making Restaurant Menus into an impressive piece of software that rivals products with huge budgets and large developer houses behind them. However, because of the high complexity of DTP workflows, the development of Scribus is targeted to the areas with the highest return for our users whose input we value very much. This creates unfortunate conditions where smaller projects of a lower priority are placed farther down the roadmap (http://wiki.scribus.net/index.php/1.3.x_Roadmap and http://wiki.scribus.net/index.php/1.3.x_Roadmap_Extras).

Participating in the Google Summer of Code (GSoC) 2008 program would give us an opportunity to attract developmental resources to address these useful smaller projects while allowing participating students to gain valuable experience designing and coding solutions that will have immediate practical applications for DTP professionals and amateurs alike. The dynamic of Scribus development is such that there is a constant feedback loop between many of our users, including professional ones, and the development team. This means that GSoC student participants will get support and advice from top-notch DTP and pre-press professionals as well as our entire core team, not just their assigned mentors. Furthermore, we hope that the incentive that the GSoC project provides to the participating students will motivate some of them to become more closely involved in the Scribus development and that they will carry on this activity after the completion of GSoC 2008, thus expanding our team and making the most important Open Source DTP program even better. Our experience with the first participation in GSoC 2007 shows that this hope is justified.

3. 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 for the first time. We were allocated two slots. One of our students, Hermann Kraus, worked on adding math formula editing support via LaTeX frames – a long wished-for feature, desired by many users. The other student, Mateusz Haligowski, worked on writing a basic imposition (booklet printing) plugin.

What we perceive as the major success of our GSoC 2007 participation is that Hermann Kraus not only successfully completed his project, but continued to contribute to our project and eventually went on to join the core Scribus Development Team. He is currently actively working on generalizing and extending the support for other markup languages (like graphs, musical notation etc.) in Scribus.

While our other student, Mateusz Haligowski, completed the requirements of the GSoC 2007, we were not as fortunate in retaining his interest in the project, so his code has been taken over by core team members.

Another positive outcome of the GSoC 2007 was that 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.

Our main challenge came in the form of a stunted mentor-student communication process in a case where time was lost due to the student's withdrawal when confronted with coding problems. This may have largely been due to a student's personality, but our mentor-administrator should have identified the problem faster than in the two weeks it took us to figure out in 2007. With the experience gained from last year, the team collectively is enthusiastic and feels confident about success in 2008.

4. If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?
n/a

5. Who will your organization administrator be? Please include Google Account information.
Oleksandr Moskalenko 

6. What license does your project use?
GPL version 2.

7. What is the URL for your ideas page?
http://wiki.scribus.net/index.php/GsoC_2008_Ideas

8. What is the main development mailing list for your organization?
http://nashi.altmuehlnet.de/pipermail/scribus/

9. What is the main IRC channel for your organization?

 * 1) scribus on Freenode

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

 * Name / University / current enrollment information.
 * Biographical sketch.
 * Did you ever code in C, C++ or Python? Please provide examples of code.
 * Do you use Scribus? Please provide examples if you do.
 * Do you make other use of Scribus than for laying out articles? Please describe and show examples.
 * Were you involved in Scribus development in the past? What were your contributions?
 * Were you involved in other OpenSource development projects in the past? If yes, please tell us project, when and in what role were you involved.
 * Why have you chosen your development idea and what do you expect from your implementation?
 * Are you confident that you will be able to dedicate time and effort necessary for the successful completion of your GSoC 2008 project?
 * Are you you ready and willing to sustain a good level of communication with your mentor and the Scribus Team overall and be open and forthcoming about the progress of your project including coding and personal problems related to your GSoC project?

11. Who will be your backup organization administrator? Please include Google Account information.
Craig Bradney 

Christoph Schäfer 

=About The Program=

Craig Bradney 
Craig Bradney a.k.a. MrB has been a developer of Scribus since before 1.1. He has a background in computer science, and commercially in ERP development, programming and IT management. He currently works in desktop and datacenter support in Europe. He supports the Scribus servers, manages the majority of the websites, helps manage the project and codes whenever possible.

Jean Ghali 
Jean Ghali studied image processing after two years learning mathematics and physics. He started coding in various languages such as Visual Basic, Java and C++ with an emphasis on color management. Now he is employed by a printing and publishing company as a pre-press engineer. While performing a technology survey, he discovered Scribus. He performed a port of Scribus to Windows, and his porting work also led him to develop the Scribus printing system on Windows. Since his work on the Windows port, Jean Ghali has mostly been involved in improving Scribus color management and SVG import capabilities. His working plans include color management abstraction, improvements to Scribus graphics capabilities and XPS export.

Andreas Vox 
Andreas Vox has a background in mathematics, object oriented programming and software architecture. While preferring Java, he's now primarily programming Scribus in C++. He has ported Scribus to OSX Aqua and has been providing binary snapshots of Scribus/Aqua for anyone wanting to try out Scribus on OSX. Currently, he is bringing Scribus's text system to the state of the art. Future plans include a LaTeX mode, better tables, better XML integration and more code refactoring.

Peter Linnell 
Peter Linnell has been a US-based, IT business, and pre-press consultant since 1998. From the early days of Scribus development, Peter has been testing Scribus in real world pre-press environments and helping to guide design and features for Scribus. With the formation of the team, he acts as the release manager, helps manage the infrastructure, tests output quality, writes core documentation, and handles much of the external relations with other teams and groups.

Oleksandr Moskalenko 
Oleksandr (Alex) Moskalenko encountered Scribus when he was looking for Linux software to produce a poster for a scientific conference. Realizing that the Scribus package in Debian was very buggy and its maintainer inactive, Alex took over the maintainance of the Scribus package in Debian, which eventually led to his becoming a Debian developer and later a member of the Scribus development team. Alex has been contributing bug reports, interface translations, and some development infrastructure improvements such as writing scripts for producing Scribus interface translation statistics, providing a support IRC bot for #scribus and related channels, performing user support, maintaining an upstream repository for a number of Scribus and related Debian and Ubuntu packages, and making minor commits to the Scribus code base.

Backup Mentors

Riku Leino 
Riku Leino started his involvement with Scribus development with version 1.1.5. He wrote the Document Template plug-in and the new OO/HTML/ importers for 1.2.2. He works in IT support.

Petr Vaněk 
Petr Vaněk started with Scribus 1.1.4. He is a plug-in specialist, having written several Scribus plug-ins and the HowTo for Scribus plug-in writing. Now he works on some Scribus internal modules and Qt4 port mainly. He is maintaining discussion forums at new Czech Scribus portal.

He is an IT consultant for telco/finance IS.

Petr is working on other OSS projects as well - mainly used for DB development or administration - TOra, Oraschemadoc, and Sqliteman.

13. What criteria did you use to select these individuals as mentors? Please be as specific as possible.
All of our mentors are members of the core Scribus development team. 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 prepress 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 made sure that only those members of our development team who would be able to dedicate sufficient time and efforts to mentoring of GSoC students and had excellent communication abilities were selected for the mentoring team.

=About The Program=

14. What is your plan for dealing with disappearing students?
We will perform regular reviews of the students' work via weekly reports to mentors and the administrator and continuous involvement of the students in the activity in our IRC channel and mailing list. We are going to be very proactive in our mentor-student communication efforts to avoid student withdrawal in case problems crop up by keeping email and IRC channels open and asking student about any problems they might have. Our main concern is that we must avoid having students that will only produce promises and vague assurances of their activity instead of the actual code. Frequent reviews and actively solicited involvement in our public developmental process should keep the communication between students and the rest of the team open and allow us to monitor the progress of the students. In an unfortunate case when a student will actually disappear we plan to contact the second runner candidate to see if they would continue the project or we will fold the project into our main developmental plan and ask Google to withhold the final payment to the student who has disappeared.

15. What is your plan for dealing with disappearing mentors?
Scribus Development Team has proven to function in a very cooperative and supportive environment. Since all our mentors come from the core Scribus team we have sufficient confidence that none of them will suddenly disappear. If the involvement of a member will temporarily decline due to unforseen external circumstances we have sufficient overlap in skills and willingness for mutual support that would allow us to reallocate resources without causing any interruptions in the GSoC 2008 mentoring process. This will be helped by the open monitoring of the student's progress via our public mailing list and IRC channel. We also have another backup administrator Christoph Schäfer  and compentent backup mentors Riku Leino  and Petr Vaněk  from our core team ready to take over mentoring of a student in case some other member of mentoring group is unable to perform their duties.

16. What steps will you take to encourage students to interact with your project's community before, during and after the program?
We plan to ensure that students selected for the GSoC program actively participate in the discussions on our mailing list and IRC. We already have good leads on the students who have participated in our discussions and seem capable and interested in contributing. We conduct much of our development discussion on IRC and will ask students to be present there as much as possible. Over the years we have found that the open and friendly atmosphere on our mailing list and IRC channel has helped a number of people make a transition from Scribus users, then on to being contributors to its development. We believe that by exposing students to this 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 given the large number of contributors to our communication channels and rapid pace of development shows that this strategy has been productive.

17. What will you do to ensure that your accepted students stick with the project after GSoC concludes?
The most we can hope for is that the learning experience the students will go through while communicating with mentors and participating in our mailing list and IRC discussions with developers and users will create in them a sense of participation in the Scribus community. Our intent will be to make their participation in Scribus development over this summer both useful and interesting by trying to make sure that their project has opportunities for continuation beyond GSoC and that the student keeps learning new things of interest to them in a friendly and supportive atmosphere. We think that as long as the students learn, enjoy their participation and create a bond with the larger Scribus community there is a good chance that they will continue their involvement after the GSoC concludes.