Tender for implementing support for a dedicated, built-in UNO object inspection tool in LibreOffice (#202007-02)

The Document Foundation (TDF) is the charitable entity behind the world’s leading free/libre open source (FLOSS) office suite LibreOffice.

We are looking for an individual or company to implement support for a dedicated, built-in UNO object inspection tool in LibreOffice, to start work as soon as possible.

In order to make working with UNO objects easier and to avoid the need to always install extensions before debugging, it is necessary to be able to inspect UNO objects in a running LibreOffice instance effectively.

This task involves reading the existing Basic IDE Watch code, evaluating how it can be improved based on ideas implemented in external tools like xray and MRI and extending the Watch code to be a first-class inspector that allows focusing the relevant part of the UNO API for opened documents and also based on your current selection (similar to what is possible in web browsers).

A good part of the features are implemented already. Work carried out under this tender will therefore mostly consist in making the features more accessible and more stable, adjusting the UI and refactoring things.

The work has to be developed on LibreOffice master, so it can get released in the next major version.


The following required features need to be implemented:

  • Dockable toolbar that can appear at the bottom of a document frame, similar to find-bar.
  • Left-hand side of the toolbar exposes a snapshot of a useful subset of the DOM as a tree view: Writer paragraphs, Calc sheets, Impress slides
    • This tree widget should populate its content on-demand whenever possible in order to ensure performance.
  • Point&click inspect mode (similar to F12 in Chrome): combine Help -> What’s this (point on something & then an action) and normal selection, so it’s possible to point on something (e.g. an image), make it the current selection and automatically launch DevTools on it. Perhaps rename ‘DevTools’ to something else.

    Note that this is mostly UI work, ThisComponent.CurrentController.Selection in Basic already gives access to the current selection in a not-so-convenient way.

  • Right-hand side: show details in a table about the current selected item in the “DOM tree-view”, which is implemented as part of the watch window in the Basic IDE:
    • object’s UNO properties
    • object methods
    • supported services and interfaces
  • User documentation for the new dialog is mandatory.
  • Brief developer documentation for the newly introduced classes is required.
  • Whenever adding new functionality, it should be considered if it’s possible to test the functionality with automated tests with reasonable amount of effort.

The following are optional features:

  • Configuration support: remember which tabpage was open last time (properties, methods, etc.)
    • Remember sorting settings (prioritize paragraphs/sheets/slides and other relevant properties or sort alphabetically)
  • Click on value for details: primitive types
    • This is useful if the user selected lots of text for inspection, we can’t show all the content in a table cell, but can if a multi-line edit replaces the table widget.
  • Click on value for details: re-launch DevTools on a sub-object on the right-hand side. This is already handled to a large degree in the existing watch variable code, which represents the object already as a tree.
    • This allows recursion: double-click on a value with a complex type, which has its own properties, methods, etc -> inspect it.
  • Show implementation name of object
    • If a consistent name is provided by the object, this can allow jumping to the relevant C++ code from DevTools easily.
  • Copy&paste support:
    • Normally content of a table in a widget is not easily copy&paste-able. It can help debugging if add explicit support to copy the table content still, e.g. all property names and their primitive values.
  • Improved presentation of the DOM for Writer/Calc/Impress:
    • The inspector tool could be just a generic presenter for any UNO object, but in practice macro and extension authors are interested in a subset of the extremely rich and generic API we provide.
    • The idea is to select a few key properties for each component, so it’s trivial for the user to see how to access the most important details of a document:
      • Writer: style families, paragraph list, text portion list, etc.
      • Calc: sheets, columns, cells, named ranges, etc.
      • Impress: slides, shapes, etc.

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code
  • Knowledge of UNO

Other skills

  • English (conversationally fluent in order to coordinate and plan with members of TDF)

We use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work must be licensed under the Mozilla Public License v2.0.

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

Bidders will get a preference for including a partner or independent developer who has not been involved in a successful tender before.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to certified developers and/or members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.
Further discussions on this tender took place on the public board discussion mailing list of The Document Foundation.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

When budgeting, we anticipated that this project (incl. optional tasks) to take in the region of 60 days of work. Bidders are free to bid on the required features only. Bidders who bid on both the required and optional features are asked to provide a breakdown in terms of costs for each.

TDF is looking forward to receiving your applications for one or more of the aforementioned tasks, your financial expectations and the earliest date of your availability, via e-mail to a committee at tender20200702@documentfoundation.org no later than September 1, 2020.

Applicants who have not received feedback by October 15, 2020 should consider that their application, after careful review, was not accepted.

Join our team! Job Search for a Development Mentor (m/f/d) – #202007-01

The Document Foundation (TDF) is the non-profit entity behind the world’s leading open source office suite, LibreOffice. It’s comprised of a team of highly skilled and motivated people, working on infrastructure, design, documentation, QA, marketing and other tasks. We’re passionate about free software and bringing people into our community.

To grow our volunteer community, in particular for code contributions, we’re searching for

a Development Mentor (m/f/d)

to start work as soon as possible. If you’re interested in the role, which is offered on a part- or full-time basis, you ideally have:

  • previous experience in remote work
  • been a long-time contributor to one or more FLOSS communities
  • excellent communication skills, with enthusiasm for mentoring – a fluent command of the English language (written and spoken) is expected
  • coding experience in several FLOSS code bases and programming languages, including LibreOffice
  • demonstrable C++ coding experience of at least five years, plus active knowledge of at least one more language used in LibreOffice (e.g. Python or Java)
  • willingness to regularly travel to Hackfests & conferences in Europe and globally
  • self-driven and a good team player; interested in working together with our team

The remote job role involves working from home at your location and includes among other items:

Work with our existing team in the LibreOffice community on topics including:

  • building relationships between the community and new contributors
  • identifying and on-boarding new contributors
  • affirming and encouraging their contribution
  • encouraging them to join IRC and other communication channels to meet the community
  • building relationships with domain experts for deeper learning
  • attracting new contributors by promoting the project
  • interaction with UX volunteers

Shape and create development mentoring including:

  • helping to onboard new contributors by
    • positively reviewing their code contributions
    • improving their C++ programming skills & design, and coding style
    • introducing them to our tooling and culture
  • designing, and define easy tasks for new contributors
  • maintaining our technical documentation, e.g.
    • developer guide
    • wiki articles
    • code comments
  • helping to review the results of development tenders produced by TDF
  • goals-oriented and with a laser-sharp focus to grow excellent LibreOffice core contributors, our perfect candidate will come up with creative ways to find and attract volunteers

Previous experience with such tasks is highly welcome, so is using free software. Speaking and writing English fluently is a mandatory requirement.

The work time during the day is flexible, apart from some fixed times when availability is required (e.g. during meetings).

TDF welcomes applications from all suitably qualified persons regardless of their race, gender, disability, religion/belief, sexual orientation or age.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

TDF is looking forward to receiving your applications, including curriculum vitae, your financial expectations, and the earliest date of your availability, via e-mail to tender20200701@documentfoundation.org no later than September 15, 2020.

If you haven’t received feedback by October 30, 2020, your application could not be considered.

Tender for consultancy on implementing ODF 1.3 conformance in LibreOffice (#201911-01)

The Document Foundation (TDF), the charitable entity behind the world’s leading free office suite LibreOffice, seeks for companies or individuals to

provide consultancy on implementing ODF 1.3 conformance in LibreOffice

to start work as soon as possible. TDF is looking for an individual or company to give technical consultancy on ensuring that LibreOffice will properly implement the Open Document Format (ODF) version 1.3 for both importing and exporting. This can involve one or more of the following tasks:

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code
  • Experience with implementing and testing the Open Document Format

We exclusively use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work must be licensed under the Mozilla Public License v2.0.

Other skills

  • English (conversationally fluent in order to coordinate and plan with members of TDF)

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

Bidders will get a preference for including a partner or independent developer who has not been involved in a successful tender before.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to certified developers and/or members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

TDF is looking forward to receiving your applications for one or more of the aforementioned tasks, your financial expectations and the earliest date of your availability, via e-mail to a committee at tender20191101@documentfoundation.org no later than November 15, 2019.

Applicants who have not received feedback by November 29, 2019, should consider that their application, after careful review, was not accepted.

Additional information as per 2019-11-06: When budgeting, we anticipated that this project to take in the region of 20 (twenty) days of work

The Document Foundation is looking for an Administrative Assistant

The Document Foundation is the home of the LibreOffice community and one of the most popular open source projects, with an estimated user base of 200 million people worldwide.

The foundation has existed for seven years and today several activities are coordinated by a multi-national team of open source advocates who look after release management, infrastructure, marketing, quality assurance, mentoring, documentation, user experience and design.

The team is working on lowering the barriers to entry, fostering participation in native language communities, providing the server infrastructure, organizing events, handling travel refunds and – in general – to make it easier to join the volunteers active in all areas of the project.

We are now looking for an Administrative Assistant. The position requires speaking both German and English (which is and remains the project’s main language) and this is the reason why the following tender is in German. Find the official tender below:

Hallo Welt!

Kennst du LibreOffice, das freie Office-Paket?

Wir sind die gemeinnützige Stiftung „The Document Foundation“ und das Zuhause der LibreOffice-Community. Weltweit arbeiten viele Firmen und hunderte Ehrenamtliche gemeinsam an einem der bekanntesten Open-Source-Projekte, das von über 200 Millionen Menschen weltweit eingesetzt wird.

Die Stiftung gibt es seit sieben Jahren und unser vielköpfiges Team aus verschiedenen Ländern sorgt dafür, dass sich Ehrenamtliche u.a. in Marketing, Qualitätssicherung, Entwicklung, Dokumentation, User Experience und Design einbringen können, indem wir beispielsweise die Einstiegshürden senken, die Serverinfrastruktur bereit stellen, Veranstaltungen organisieren, Reisekosten bezahlen und somit den Ehrenamtlichen das Mitmachen erleichtern.

Wir suchen so bald als möglich eine im Home-Office arbeitende

Assistenz der Geschäftsführung (m/w/divers)

in Teilzeit (20 Wochenstunden) zur Festanstellung.

Als spendenfinanzierte gemeinnützige Einrichtung können wir dir zwar keine teuren Boni bieten, dafür ist Arbeiten im Home-Office bei uns Standard, genauso wie flexible Arbeitszeiten und flache Hierarchien. Ideal ist, wenn du im Großraum München lebst, das macht den regelmäßigen Austausch mit den deutschsprachigen Kollegen noch einfacher.

Du kannst mit deinem Einsatz bei uns etwas für den guten Zweck tun und das Arbeiten in einer internationalen Community bereichert ungemein.

Zwar gibt es auch bei uns eine Probezeit, wir wollen mit dir aber langfristig zusammenarbeiten.

Deine Aufgaben

Wir sind in den letzten Jahren gewachsen, deswegen suchen wir jemanden, der verlässlich, zuverlässig, eigenverantwortlich und kompetent administrative Aufgaben übernimmt. Die Administration ist ein notwendiger Teil der Stiftungsarbeit und kommt vor allem unseren Ehrenamtlichen zugute, denen wir damit den Rücken freihalten und viele Projekte überhaupt erst ermöglichen.

Zu deinen Aufgaben gehört unter anderem

  • Du bist erster Ansprechpartner nach außen. E-Mails an unsere info@-Adresse, Anrufe auf der zentralen Nummer und der Posteingang landen bei dir, du antwortest entweder selbst oder leitest an’s Team weiter und du verschickst ausgehende Post.
  • Du kümmerst dich um die Spendenverwaltung. Du erstellst Spendenbescheinigungen, pflegst die Spendendatenbank, beantwortest Rückfragen, führst etwaige Rückbuchungen durch und behältst die verschiedenen Spendenkonten im Blick.
  • Du unterstützt uns bei der vorbereitenden Buchhaltung. Du sammelst, sichtest und prüfst Belege und Kontoauszüge, hast die Budgets, Sachkonten und Umsatzsteuervoranmeldungen im Blick und pflegst die nötigen Zahlen in das DATEV-Modul ein. Eingehende Rechnungen prüfst und bezahlst du. Die anonymisierten Monatsabschlüsse übersetzt du ins Englische, da wir diese regelmäßig veröffentlichen.
  • Du hilfst mit bei der Organisation von Projekten, Ausschreibungen und der jährlichen LibreOffice Conference, die im Jahr 2019 beispielsweise in Almeria in Spanien stattfindet.
  • Du pflegst und organisierst unsere interne Nextcloud-Dateiablage und scannst und archivierst Dokumente.
  • Du bist verantwortlich für unsere Inventarverwaltung und übernimmst den Versand von Marketing-Materialien und von Hardware für Veranstaltungen.
  • Du bearbeitet Reisekostenabrechnungen. Dazu prüfst du die Anträge und Belege, führst Überweisungen ins In- und Ausland durch und buchst ggf. auch Hotel, Konferenzräume und die Anreise für ganze Gruppen.
  • Du bereitest für Sitzungen und Telefonkonferenzen die Einladung, Tagesordnung und Beschlussvorlagen vor, führst und veröffentlichst das Protokoll (i.d.R. auf Englisch), stellst die Präsentationsfolien zusammen und prüfst regelmäßig, wann Entscheidungen des nichtöffentlichen Teils publiziert werden können.
  • Du unterstützt das Mitglieder-Komitee bei der Mitgliedsverwaltung und der Meldung an die Stiftungsaufsicht.
  • Du bereitest Veränderungsanzeigen unter anderem an Stiftungsaufsicht, Versicherung, Bank und Transparenzregister vor.
  • Du hilfst uns dabei, Termine, Fristen und Wiedervorlagen im Blick zu behalten.

Was du können solltest

Sag uns, warum du den Job kannst und welche Praxiserfahrung du hast! Wichtig sind folgende Punkte:

  • Du hast Erfahrung mit (gemeinnützigen) Organisationen.
    Begriffe wie Jahresabschluss, Sachkonto, Tätigkeitsbericht, Umsatzsteuervoranmeldung, A1-Meldung, VBG, DATEV, Zuwendungsbestätigung, Künstlersozialkasse und Zweckbetrieb sind dir nicht fremd. Mit fachlicher Unterstützung navigierst du auch durch die Grundzüge der Buchhaltung.
  • Du beherrscht fließendes und gutes Deutsch und Englisch in Wort und Schrift.
    Du wirst nach außen hin unter anderem mit Behörden, Dienstleistern und Partnern kommunizieren, die Projektsprache intern hingegen ist ausschließlich Englisch. Da du häufig als „Gateway zwischen den Welten“ fungieren wirst, musst du in beiden Sprachen sattelfest sein.
  • Da wir LibreOffice herausgeben und das natürlich auch selbst benutzen, ist ein souveräner Umgang damit wichtig.
    Ein Teil deiner Arbeit besteht in der Gestaltung von Dokumenten und Anschreiben (Writer), dem Erstellen von Präsentationen (Impress) und dem Kalkulieren von Budgets und Kosten (Calc).
  • Fit solltest du auch im Umgang mit vielen E-Mails sein, beispielsweise in Mozilla Thunderbird, mutt oder Roundcube.
    Die Hauptkommunikation im Projekt erfolgt mittels E-Mail – mittels vieler E-Mails! Den Umgang mit Mailinglisten, Mailfiltern und Verteilerlisten musst du beherrschen. Wir nutzen dabei bevorzugt freie Lösungen.

Ebenfalls sehr hilfreich ist Folgendes:

  • Wenn du dich für das Open-Source-Prinzip begeistern kannst und weißt, was es damit auf sich hat, hilft dir das definitiv, dich bei uns zurechtzufinden. Der beste Start gelingt dir, wenn du selbst bereits freie Software einsetzt!
  • Das Arbeiten im Home-Office bietet viele Freiheiten, verlangt aber auch gute Organisation und Selbstdisziplin, damit dir nicht die Decke auf den Kopf fällt. Wenn du mit dieser Arbeitsform schon Erfahrungen sammeln konntest, ist das sicher ein Plus.

Wir freuen uns über deine Bewerbung per E-Mail, inkl. Lebenslauf, Gehaltsvorstellung und frühestmöglichem Eintrittsdatum bis spätestens 5. April 2019 an Florian Effenberger unter floeff@documentfoundation.org. Du kannst deine E-Mail an diese Adresse mittels PGP verschlüsseln.

Bewerbungen, die bis zum 10. Mai keine Rückmeldungen erhalten haben, waren nicht erfolgreich.

Join our team! Job Search for a Development Mentor (#201902-01)

Note that we’re at FOSDEM (building K, level 1, group A) on February 2 and 3, so you can talk to us in person there!

The Document Foundation (TDF), the charitable entity behind the world’s leading free office suite LibreOffice, seeks an individual – or individuals part (or full) time – to be

a Development Mentor

to start work as soon as possible. The role requires the following:

  • Self-starting, remote working experience
  • Experience contributing to FLOSS communities
  • Excellent communication skills, with enthusiasm for mentoring
  • Coding experience (LibreOffice coding preferred)
  • Willingness to travel to Hackfests & conferences in Europe and globally

The role involves working from home at your location for at least 10 hours per week, up to full-time and includes among other items:

Supporting existing mentors in the LibreOffice community including:

  • Building relationships between existing mentors and new contributors
  • Identifying and on-boarding new contributors
  • Affirming and encouraging their contribution
  • Building initial relationships with them
  • Encouraging them to join IRC to meet the teams
  • Introducing them to domain experts for deeper learning
  • Helping to educate new contributors by
  • Positively reviewing their code contributions
  • Introducing them to our tooling and culture
  • Attracting new contributors by promoting the project
  • Interaction with UX volunteers

Previous experience with such tasks is highly welcome, so is using free software. Speaking and writing English reasonably well is a mandatory requirement.

The work time during the day is flexible, apart from some fixed times when availability is required (e.g. during meetings, which usually take place at 14:00 or 15:00 UTC once per week).

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

TDF is looking forward to receiving your applications, including curriculum vitae, your financial expectations, and the earliest date of your availability, via e-mail to Florian Effenberger at floeff@documentfoundation.org no later than March 29, 2019. You can encrypt your message via PGP/GnuPG.

If you haven’t received feedback by April 29, 2019, your application could not be considered.

DBMS migration in LibreOffice

In 2017, The Document Foundation (TDF) launched four tenders aimed at improving LibreOffice in several strategic areas, and documenting the approach and work carried out, to foster sharing of knowledge and inclusion of the wider volunteer community.

One of the tenders was focused on the implementation of a HSQLDB binary format import in LibreOffice (https://blog.documentfoundation.org/blog/2017/05/04/tender-implement-hsqldb-binary-format-import-libreoffice-201705-03/), and after a careful evaluation by the Foundation’s Board of Directors – with the help of competent and independent volunteers – has been assigned to Collabora.

Tenders are funded by donations, and are supposed to improve LibreOffice in specific areas where the tasks are beyond the capabilities of independent volunteer developers, and also share the knowledge amongst the volunteer community to foster active participation in development and related tasks.

Collabora has developed a mechanism to import database files with high fidelity from the HSQLDB binary file format, used by many existing ODB files, by reading the Java serialization code, and writing a filter to import all data into LibreOffice Base. The objective was to remove the legacy Java/HSQLDB database and to simplify the move to Firebird.

Tamás Bunth, the Hungarian software engineer working at Collabora who has worked at the tender, has extensively reported about the progress and the results on his personal blog:

  1. DBMS migration in LibreOffice: Firebird and HSQLDB schema import
  2. DBMS migration in LibreOffice: HSQLDB binary import
  3. Final steps of LibreOffice database migration
  4. Database migration in LibreOffice: bug fixes and more

The feature is going to be released with LibreOffice 6.1, as an experimental one (to allow some further testing before being officially released with LibreOffice 6.2). So, to access it users have to flag the “enable experimental features” option in Tools > Options > LibreOffice > Advanced. If the option is not enabled, the embedded HSQLDB database engine remains the default for new Base files with LibreOffice 6.1, as in any previous version.

If experimental mode is enabled, the embedded Firebird database engine will not only be enabled but will also become the default, while the embedded HSQLDB database engine – although deprecated – will still be available as an alternative.

LibreOffice Base users are encouraged to migrate their database using the embedded HSQLDB to embedded Firebird new migration assistant (released with LibreOffice 6.1 as part of the tender), which is not using the HSQLDB database engine and will be available in LibreOffice releases even after the embedded HSQLDB support will be fully removed.

At the same time, LibreOffice Base users who want to stick with the HSQLDB database engine should start planning the migration of their database to an external HSQLDB server.