Developers' side bar
<< | Page list | >>
LyX – The Document Processor
LyX is a document processor that encourages an approach to writing based on the structure of your documents (WYSIWYM) and not simply their appearance (WYSIWYG). LyX combines the power and flexibility of TeX/LaTeX with the ease of use of a graphical interface. This results in world-class support for creation of mathematical content (via a fully integrated equation editor) and structured documents like academic articles, theses, and books. In addition, staples of scientific authoring such as reference lists and index creation come standard. But you can also use LyX to create a letter or a novel or a theater play or film script. A broad array of ready, well-designed document layouts are built in.
Main Organization License
GNU General Public License version 2.0 (GPLv2)
#lyx-devel on Freenode
Why is your organization applying to participate in Google Summer of Code 2014? What do you hope to gain by participating?
Since its 2.0 release in April 2011, LyX has become an ever more popular solution for users who need to author and output typographically high quality documents. LyX uses the LaTeX typesetting engine to ensure all documents, from one page letters to hundreds of pages long books and reports, are beautifully typeset. As is the case with many open-source projects, however, LyX has limited developer manpower which focuses principally on maintaining a stable product rather than implementing new features. By participating in GSoC 2014, LyX hopes to attract young developers who would tackle long-requested and much-awaited features such as roundtrip conversion between the LyX and .doc or .odt formats, native support for biblatex (LaTeX's new, Unicode-native bibliographic engine) or an interactive mode that would allow users to edit a LyX document concurrently. LyX is currently nearing its 2.1 major release, (the beta version is already out) which will happen by the Summer of 2014, and the new features developed during GSoC 2014 would constitute the base for our future 2.2 release.
How many potential mentors do you have for this year's program? What criteria did you use to select them?
We have 3 senior developers committed to be full-time mentors.
Most of this year's mentors are long-established developers who have a thorough understanding of the LyX code base. We also have two more developers who will be co-mentoring specific projects, and act as backup mentors should the need arise.
What is your plan for dealing with disappearing students?
From the very beginning students will be asked to participate in discussions on the LyX development mailing list (at least weekly), so they can seek input from the larger community on design and coding issues. Mentors will follow-up on students' progress by email every week. If the mentors notice slow progress after the first month, we will institute a weekly IRC meeting. When needed, mentors will be available to set-up additional, more direct interactions with the students via phone calls or Google hangouts or similar. The students are also requested to submit the code they have written to a public repository, as regularly as possible, thus allowing the mentors to check progress and comment on it.
Prospective students will be strongly encouraged to become acquainted with LyX's source code during the proposal write-up, and ahead of the project start. Prospective mentors and senior developers will suggest they will trying fixing some of the issues related to their project proposal, as reported within our bug-tracking system.
What is your plan for dealing with disappearing mentors?
Most of our mentors are established developers who have been actively involved in the project for the past few years. In accordance with our experience from last year's GSoC, for each accepted project we will have a backup mentor; should any of the primary mentors become unavailable during GSoC 2014, the backup mentors will be available to fill the void. In all cases, participating students will always receive guidance from core developers on the LyX development mailing list, even from developers who haven't volunteered for a mentor's position, or on our IRC channel.
What steps will you take to encourage students to interact with your project's community before and during the program?
The LyX community makes use of two very active mailing lists: the users list as well as the developers list. Once an interested student has contacted the project, she will be encouraged to subscribe to both lists as these are the primary means of communication for the project. While drafting the proposal, the student will be encouraged to go through a formal design process. She might make use of the users list to solicit opinions on the feature design and then seek the advice of the developers list as to how the new features might be implemented. During the program, the student will be encouraged to send regular updates, in addition to code patches, to the list (and not just to her mentor). The other students and mentors will be encouraged to review and comment on the patches, and in so doing, become acquainted with the wider developer community. We will also strongly encourage students to start a weekly blog reporting on their GSoC experiences and progress on their projects. If the students are not blogging already, we will help them set up a blogging site on public platforms (Blogger, Wordpress, etc, at students' discretion).
What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes?
The LyX community prides itself on being friendly to new users and developers. Our hope is that being immersed in this collaborative and consensus-driven community will encourage students to develop an emotional attachment to the project. More specifically, though, towards the completion of a certain project we will attempt to interest the student with some other moderately difficult to implement feature requests (many of which are already discussed on our bug tracker).
If you chose "veteran" in the organization profile dropdown, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year.
We participated in the program for the first time in 2013. We were allocated three slots and selected three projects from about 25 applications. Two projects were successfully completed and one failed. We did not have any issue with mentors, as they were all well-experienced and committed core developers.
Our developers are already working on integrating the code from the two successful projects into the next 2.2 major release (the new features did not make it into LyX 2.1 because of the existing 2.1dev feature freeze). The one or two GSOC 2014 projects will also make their way into the 2.2 release, thus providing us with a major release with several significant and long-awaited features.
Unfortunately, the students have not continued development on their projects, although some of them have stayed in touch and hope to continue development when they have time. This likely points to some weaknesses in the student selection process and in the way we managed the students at the very beginning of the coding period, something that we intend to address for this year's program.
significant concurrent commitments (classes, exams, etc.), as GSOC is a full-time endeavor
"thoroughly" on the lyx-devel mailing list (e.g. who have discussed in detail their ideas for the project)
communication at all times through the lyx-devel mailing list (and avoid at all costs communication via private email, unless when warranted), to ensure appropriate interaction with the community
about their achievements _and_ their difficulties. We intend to avoid at all costs students getting stuck for more than one week in their coding.