GSoC 2012 Scribus Team Application: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
No edit summary
m (Protected "GSoC 2012 Scribus Team Application": Archived ([edit=sysop] (indefinite) [move=sysop] (indefinite)))
(No difference)

Revision as of 00:07, 18 March 2012

Version 2012.1

Organization ID

scribus

Organization Name

Scribus Team

Organization 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 an 11 year old project, which began as a Linux-only program, but now offers versions for Windows, MacOSX, and even 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. The project has been recognized by a number of outside organizations and publications in trade and popular literature. For instance, Scribus is March 2012 Sourceforge.net project of the month.

Organization home page url

Main organization license

  • GPLv2

I agree to the admin agreement

Checkbox

Backup Admin (Link ID)

  • mrdocs

What is the URL for your Ideas page?

What is the main IRC channel for your organization?

  • #scribus on FreeNode. We also use #scribus-dev for more specific development-related discussions.

What is the main development mailing list for your organization?

http://lists.scribus.net/mailman/listinfo/scribus is used for user support and community discussions. Additional contact information for prospective students is at http://wiki.scribus.net/canvas/GSoC_2012_Contact_Information.

Why is your organization applying to participate in Google Summer of Code 2012? What do you hope to gain by participating?

  • Desktop Publishing is a complex process that requires a well-designed workflow with layout software as its crucial component. 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. Scribus has come a long way from its humble beginnings to rival many aspects of the commercial products with large budgets and professional developmental teams and sometimes overtake them in new features and capabilities. However, because our core team is small the development of Scribus is by necessity directed into the areas with the highest return for our users as reflected in the road-map - http://bugs.scribus.net/roadmap_page.php - but great many possible development areas are currently stagnating due to the lack of manpower.

While some of these areas can turn into 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. Moreover, the Scribus Team has recently released a new major stable version 1.4.0. Therefore, the next few months present a perfect opportunity for new contributors to make inroads into the neglected areas and to add new and exciting features to the codebase as the results do not have to be as polished as they would have to be near the end of a development cycle. This situation is a great fit for the Google Summer of Code projects.

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 GSoC 2007, 2008, 2009, and 2011. Our GSoC 2007 participants successfully added math formula editing support via LaTeX frames - and an imposition plugin. GSoC 2008 students 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. GSoC 2011 was a great success as an outstanding GSoC student performed a long overdue rewrite of the table functionality and another student completed the scripter2 API and the transition from scripter1 to scripter2.

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 learned a lot about selecting students, managing mentor-student communications and expectations, and finding problems before they turned 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. In 2011, we encountered our best GSoC participant whom we can truly use as our gold standard.

Our challenges throughout those four years of participation 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 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. We had to manage one of the GSoC 2011 projects more carefully to make sure goals were met, but did not encounter any big problems.

For GSoC 2012, we have experienced mentors and administrators and a well thought-out plan for selecting students and managing the potential GSoC projects that should let us avoid the potential pitfalls. We are already communicating with several interested students, evaluating them, and are working on good GSoC project ideas.

If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?

  • N/A

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

= What criteria did you use to select your mentors for this year's program? 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 and for the GSoC mentoring experience:

  • 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 on-going 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 this happen. Responsible and co-operative behavior is 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 mentor 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 abreast of 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 discussions 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.