Development/GSoC/2020

    From The Document Foundation Wiki

    Welcome to LibreOffice Google Summer of Code 2020!

    Introduction

    Want to apply for the LibreOffice project in 2020? Read the #Important dates and #How to apply sections below! The list with proposed GSoC projects including potential mentors can be found here.

    Preamble

    LibreOffice has been approved as an organization for Google Summer of Code 2020. This program helps students to dive into the open source world and we hope to work on great projects with great students this summer. Please refer to the GSoC Ideas page for projects ideas.

    • Have some interesting project idea? You can add some exciting project idea to the GSoC Ideas, but don't forget that student only have a full-time summer to work on it and that they may need some time to get up to speed.

    Important dates

    See the How it works GSoC page and the detailed GSoC time line. In short (bold items are LibreOffice project deadlines):

    Start Finish Origin Description
    January 14 February 5 GSoC LibreOffice application as an organization for GSoC 2020
    February 20 March 16 GSoC Potential student participants discuss application ideas with mentoring organizations
    March 16 March 31 18:00 UTC GSoC Student application period
    March 26 March 31 LibreOffice Evaluating submitted mandatory EasyHack
    March 31 May 4 GSoC Application Review Period
    May 4 GSoC Accepted projects/students are announced
    May 4 June 1 GSoC Community bonding period
    June 1 August 24 GSoC Coding period
    June 29 July 3 18:00 UTC GSoC Phase 1 evaluations
    July 27 18:00 UTC July 31 18:00 UTC GSoC Phase 2 evaluations
    August 24 August 31 18:00 UTC GSoC Students submit their final work product and their final mentor
    August 31 September 7 18:00 UTC GSoC Mentors submit final student evaluations
    September 8 GSoC Final results of Google Summer of Code 2020 announced

    How to apply

    First you should have a look at the Google Summer of Code FAQ and GSoC Student Guide. We will require the following points in any application:

    Remember to refer to the Gerrit patches you have submitted.

    • Prove that you want to get involved into LibreOffice. In order to check this we will require students to complete one of the Easy programming tasks on the Easy Hacks page (or part of one if that EasyHack is a selection of separate tasks), though the dead-line for this isn't hard but needs to be somewhere before the end of the selection process. This means that each student who wants to have chances to be picked for a LibreOffice project will need to build the whole application, fix a bug and submit the patch to the development mailing list. See GetInvolved for help on getting started.

    Please remark, remember to compile and test your patch locally before submitting. Submitting a patch that does not compile or fail the automated tests, is seen as lack of interest in getting seriously involved.

    • Explain what you want to achieve. Provide detailed informations on the project you want to work on and the use cases. The more precise your description is, the more it will show us that you investigated the area and though about it properly before submitting. The best is to base your project on one of our Ideas that come complete with friendly mentors to help you. You may have some nice project ideas, but make sure that someone will be able to mentor your project and knows that part of the code well enough.
    • How do you plan to achieve it?. Provide us the following:
      • An estimated schedule for the summer (including any potential conflicts you could have like courses, exams...)
      • Technical details on how you want to implement it. The more sensible details you provide the easier it will be for us to check that you understood the problem and difficulty
    • Why should we choose you?. Give us all the reasons for choosing you. Any past open source hacking is interesting us as well as your hacking and socializing skills.

    If you're looking for further inspirations on how to write a successful application, please again be refer to the excellent GSoC student guide (here is an actual example).

    Handy Tips

    There's some useful information for Students and for Mentors here:

    2020 GSoC application

    Organization Profile

    Public Profile

    Website URL https://www.libreoffice.org


    Tagline

    LibreOffice is a free and open source office suite.


    Upload Logo

    Logo


    Primary Open Source License Mozilla Public License 2.0 (MPLv2)


    Organization Category End User Applications


    Technology Tags

    C++ Python Java JavaScript

    Topic Tags

    office suite android end user application desktop application


    Ideas List

    https://wiki.documentfoundation.org/Development/GSoC/Ideas

    Descriptions

    Short Description

    LibreOffice is a lively and diverse community, delivering a full-featured cross-platform office suite. We value new contributors, just as we prize Open Source and Open Standards.

    Long Description

    LibreOffice is a modern Free & Open Source Office suite, one of the largest open source projects, and used by millions of users worldwide. LibreOffice is compatible with many file formats like Microsoft® Word, Excel, PowerPoint and Publisher. At its heart though, LibreOffice is built around an open standard, the OpenDocument Format, as its native file format.

    LibreOffice is developed by users who, just like you, believe in the principles of Free Software and in sharing their work with the world in non-restrictive ways. The development of LibreOffice is supported by The Document Foundation which provides the infrastructure for the project.

    We believe that users should have the freedom to run, copy, distribute, study, change and improve the software that we distribute. While we do offer no-cost downloads of the LibreOffice suite of programs, Free Software is first and foremost a matter of liberty, not price. We campaign for these freedoms because we believe that everyone deserves them.

    Though the members of our community hail from many different backgrounds, we all value personal choice and transparency, which translates practically into wider compatibility, more utility, and no end-user lock-in to a single product. We believe that Free Software can provide better-quality, higher-reliability, increased-security, and greater-flexibility than proprietary alternatives. LibreOffice is a large project (approx. 6MLOC), which makes it interestingly complex, but at the same time, provides a place for all sorts of contribution & skills.

    The community behind LibreOffice is the heart of the project, without which we would not have the resources to continue developing our software. The passion and drive that every individual brings to the community results in collaborative development that often exceeds our own expectations. With tons of different roles in the project, we invite everyone to join us in our work and help us to make LibreOffice known, prosper, and accessible to all.

    Proposals

    Application Instructions

    First, please present yourself. Since we don't know you we want to know some bits like your name, education, email address and nickname on the #libreoffice-dev IRC channel at freenode.net. Please subscribe to the LibreOffice developer list and write an email to the list.

    We will require students to complete one of the easy programming tasks on the "Easy Hacks" page (or part of one if that EasyHack is a selection of separate tasks). Although the dead-line for the patch submission isn't hard, the "Easy Hack" needs to be finished somewhat before the end of the selection process. This means that each student, who wants to have chances to be picked for a LibreOffice project, will need to build the whole application, select a bug and submit a patch to Gerrit, which is reviewed and merged.

    Explain what you want to achieve. Provide detailed information on the project you want to work on and the use cases. The more precise your description is, the more it will show us that you investigated the area and thought about it properly before submitting. Since LibreOffice is a large project and it's hard to come up with suitable ideas for the GSoC time frame, we already provide a list of ideas that come with mentors included to help you. It's no problem to present your own project ideas, but make sure to look early for mentors, who are able and willing to support you and know that part of the code well enough.

    Problems that can not be resolved on our public developer mailing list or problems containing privacy relevant topics can also be sent to our mentoring@documentfoundation.org address.

    Proposal Tags

    C++ Python Java new idea online writer calc impress UX

    Contact Methods

    IRC Channel https://wiki.documentfoundation.org/Website/IRC


    Mailing List https://wiki.documentfoundation.org/Development/Mailing_List


    General Email libreoffice@lists.freedesktop.org

    Links

    Mastodon URL (optional)

    https://fosstodon.org/@libreoffice


    Twitter URL (optional)

    https://twitter.com/libreoffice


    Blog URL (optional)

    https://blog.documentfoundation.org/

    Application

    Why does your org want to participate in Google Summer of Code?

    GSoC attracts a lot of students of whom some can be motivated to be long term committers. A mature project like LibreOffice, needs a mixture of old and new developers, hence GSoC is very important for our future. For the student, being part of a large, well known project like LibreOffice is a big plus on their CVs, something we take very seriously. GSoC is the major opportunity for students around the world to be an active part of OpenSource, and we want to help making it a combined success.

    GSoC is an important program, because it provides a possibility to mentor students intensively over a relative long period of time. The student gets more experience, while the project gets tasks done, that would be harder to do by pure volunteers. GSoC provides a platform, that connects students with OpenSource projects, LibreOffice interact with the students after GSoC, to e.g. provide developer days in universities.


    How many potential mentors have agreed to mentor this year?

    16-20


    How will you keep mentors engaged with their students?

    We use mail and IRC as the primary communication channels, with some Jitsi calls when needed. In order to monitor the overall process, we have a weekly steering meeting, where GSoC projects are discussed in order for detecting problems early. Each student will have at least two mentors assigned to avoid problems of disappearing mentors (even if only during the holidays time). Furthermore the GSoC admins (3) keeps an oversight throughout the project period. Many of the mentors are employed by companies for their work on LibreOffice and therefore are expected to be available at least during the week.


    How will you help your students stay on schedule to complete their projects?

    Our mentors are typically people, who are present on our IRC channels and available via email on a daily basis and have therefore sufficient capacity to adhere to the students schedules. Our GSoC administrators (some are also mentors) will follow the progress of each sub-project at a high level. We use Gerrit for patch management, and with that it is easy to monitor the progress of patch development.

    In order to be selected, a student needs to accomplish an easy programming task or fix any easy bug from the LibreOffice Bugzilla. This requires the build the application, an initial view at the code, hopefully gives more confidence in the task ahead and provides our mentors with a chance to take look how the student works. All students are required to submit a report of their progress every week to the LibreOffice development mailing-list and submit/update a patch on Gerrit. This helps to spot problems early, before the student might actually fail. The report doesn't need to be long if the patch clearly show work is being done.


    How will you get your students involved in your community during GSoC?

    The students are being welcomed as part of our mentoring program, even before applying to GSoC. In the mentoring program, we encourage the students to participate in discussions on IRC and mail. Our mentors will often ask the students to present their ideas to the community and thus get involved in it. In our opinion students need to do more than just write code, they need to interact with the community by proposing solutions and adapt them until we have a community consensus. The interaction will ensure that students become part of the "team".


    How will you keep students involved with your community after GSoC?


    Has your org been accepted as a mentoring org in Google Summer of Code before?

    Yes


    Which years did your org participate in GSoC?

    2010 2011 2012 2013 2014 2015 2016 2017 2018 2019


    What is your success/fail rate per year?

    2011 7/7 2012 ?/? 2013 ?/? 2014 ?/? 2015 12/1 2016 11/1 2017 9/1 2018 11/2 2019 6/0


    If your org has applied for GSoC before but not been accepted, select the years:


    If you are a new organization to GSoC, is there a Google employee or previously participating organization who will vouch for you? If so, please enter their name, contact email, and relationship to your organization. (optional)


    Are you part of a foundation/umbrella organization?

    No


    What year was your project started?

    2010

    Where does your source code live?

    https://www.libreoffice.org/about-us/source-code/


    Anything else we should know (optional)?

    LibreOffice is a fork of OpenOffice.org and the Go-oo project migrated to LibreOffice. LibreOffice in itself only participated from 2011 GSoC, but:

    • OpenOffice.org did in 2005, 2006 and 2007
    • and Go-Oo did in 2009 and 2010