Tender to implement autoupdater (#202108-01)
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 an autoupdater for LibreOffice.
Currently, LibreOffice can notify the user about a new version, but download and installation require manual action by the user, it is not automated. With plans of a “rolling release” model, that results in more frequent updates, e.g. biweekly or monthly, we want to improve this system.
Mandatory requirements
- The solution has to work on all currently LibreOffice-supported Windows, Linux and macOS versions.
- The implemented solution should not break the MSI-based LibreOffice installation set.
- The implemented solution cannot solely rely on app stores autoupdaters, as The Document Foundation does not provide binaries in app stores currently.
- The work has to be developed on LibreOffice master, so that it will be released in the next major version.
- The implementation has to be provided with extensive documentation, about the approach chosen to implement the above items. We expect bidders to provide documentation on both the code and the non-code parts of the implementation, e.g. methodology, structure and technical aspects.
Optional items
The proposed solution might include some of the items of the following list, which is neither complete nor exhaustive, and is presented as a set of examples. These items are not mandatory to the completion of the tender, but might favor the granting of the tender in case of ex aequos, after checking that mandatory requirements are fulfilled:
- Achieve partial and/or delta downloads: in order to optimize the bandwidth of the users, the implementation might proceed with the sole download of the whole changed files (partial downloads) or chunks of changed files or the whole package (delta downloads).
- The implementation might keep track of other languages than English that the user might have installed and currently uses, and implement the download of the respective updated language packs, as well as of eventual offline help packages.
- The implementation might verify the compatibility and/or update any extensions the user might have installed and currently uses.
- The implementation is ready for the integration with the app stores’ installers/updaters.
Additional considerations
The choice of technology or technologies used is up to the bidders. Some of the available options, with none of them being a sole strict requirement, are the following:
- There is currently a draft of a MAR-based autoupdater, including providing delta/partial updates. Details on the current implementation can be found at https://mmohrhard.wordpress.com/2017/06/21/announcing-automatically-updating-libreoffice-builds/ and https://mmohrhard.wordpress.com/2017/08/22/announcing-automatically-updating-daily-windows-libreoffice-builds/
- For Windows, the newly released Windows Package Manager (win-get) could provide a mechanism, see https://devblogs.microsoft.com/commandline/windows-package-manager-1-0/ and https://github.com/microsoft/winget-pkgs/tree/master/manifests/l/LibreOffice
- Google Chrome provides its own update mechanism, see https://github.com/google/omaha
The idea behind this tender is described in the following required tickets, whereas the implementation we seek for does not mandate a specific technology to be used, even if the tickets suggest otherwise:
- https://bugs.documentfoundation.org/show_bug.cgi?id=54242
[META] Incremental update support (small partial diff updates) - https://bugs.documentfoundation.org/show_bug.cgi?id=124702
Simplify auto-updated effort, and combine it with bootstrap application which could download and install LibreOffice - https://bugs.documentfoundation.org/show_bug.cgi?id=125451
The updater has never worked for me and manual updating is extremely cumbersome - https://bugs.documentfoundation.org/show_bug.cgi?id=74934
‘Install’ button in update dialog is never activated - https://bugs.documentfoundation.org/show_bug.cgi?id=97991
Reducing the size of the Windows Installer - https://bugs.documentfoundation.org/show_bug.cgi?id=113458
[META] Packaging/installation/removal bugs and enhancements - Include release candidates (RC) in the autoupdater
Details: https://bugs.documentfoundation.org/show_bug.cgi?id=48369 - Make installation and updates of fonts optional
Details: https://bugs.documentfoundation.org/show_bug.cgi?id=91886 and https://bugs.documentfoundation.org/show_bug.cgi?id=136646 - provide better update mechanism — Mozilla ARchive (mar) based incrementals, details: https://bugs.documentfoundation.org/show_bug.cgi?id=68274
The Document Foundation will publish the related documentation under a free and open source license and make it available to the general public.
Required skills
- Extensive knowledge of C++
- Experience working on the LibreOffice source code
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 on the program code 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.
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 (all items combined) to take in the region of 60 days of work. Should bidders’ assessment result in a significantly different number, please reach out to us before sending your bid, so we can clarify upfront.
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 tender20210801@documentfoundation.org no later than September 20, 2021.
Applicants who have not received feedback by October 18, 2021 should consider that their application, after careful review, was not accepted.
All bidders are invited to ask their questions on this tender until September 6, 2021. Questions and answers will be made public in a collected and anonymized form.