GsoC 2008 Scribus Team Application

=About Your Organization=

1. Describe your organization.
Scribus Team consists of a relatively small, but dedicated group of individuals located on every continent that 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, separations, ICC color management and versatile PDF creation. In the Linux/Unix and OS/2 worlds Scribus is the definite open-source Desktop Publishing Software.

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 MacOS and in many cases not very responsive to the 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 the DTP workflow, 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 and the development team. So, the GSoC student participants would get support and advice from top-notch DTP professionals as well as our entire core team, not just their assigned mentors. Furthermore, we hope that the incentive that GSoC project provides to the participating students will motivate some of them to become more closesly 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 only open source DTP program even better. Our experience first time participating in GSoC 2007 shows that this hope may bear fruit.

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. We were allocated two slots. One of our students Hermann Kraus worked on adding math formula editing support via latex frames and the other student Mateusz Haligowski worked on writing an 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 LaTeX frame type support 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. We still believe that we had more then 50% success rate as Hermann's work went way beyond his GSoC project scope and spilled over into other areas of importance to our users and brought him in as an active participant of our core team. 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 large blockers. Our main challenge came in the form of a stunted mentor-student communication process in a case where time has been 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 side should've identified the problem faster then more then two weeks it took us the first time.

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?

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

=About The Program=

Franz Schmid <>
Franz Schmid has started writing Scribus and continues to be a prolific and highly knowledgeable coder, bug fixer, and designer.

Craig Bradney 
Craig Bradney a.k.a. MrB

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 emphasys 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. His porting work also lead him to develop 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, improvement to Scribus graphics capabilities and XPS export.

Andreas Vox 
Andreas Vox has a background in mathematics, oo 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 1999. From 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, 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 Scribus package in Debian, which eventually led to his becoming a Debian Developer and later a member of Scribus development team. Alex has been contributing bug reports, interface translation, 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 codebase.

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 - has written several Scribus plug-ins and the how-to 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 posess other qualities that are useful for succesful 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 plan to perform regular reviews of the students' work via most likely weekly reports to mentors and continuous involvement of the students in the activity in our IRC channel and mailing list. Our main concern is that we must avoid having students that will produce promises and vague assurances of their involvement 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 may elect 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 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 compentent backup mentors who are ready to take over mentoring of a student in case some other member of mentoring group is unable to perform their duties.

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 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 open and friendly atmosphere on our mailing list and IRC channel has helped a number of people make a transition from Scribus users to 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 flamewars given a large number of contributors to our communication channels and rapid pace of develpment shows that this strategy has been productive.

What will you do to ensure that your accepted students stick with the project after GSoC concludes?
We are hoping 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. We do not believe that it is possible to force a volunteer to stick with the project they are not interested in, so our intent will be to make their participation in Scribus development over this summer both useful and interesting. As long as the students enjoy their participation and create a bond with the larger Scribus community there is a chance that they will continue their involvement after the GSoC concludes.