Software maintenance tasks

A list of tasks in maintaining BOINC, not including software development.

A division of these tasks in "roles" is proposed here.

Client release management

Manage testing and release of the client software. Details.

Client builders

Build client installers as needed for Windows, Mac, Unix, Android

Client testing management

Operate and maintain the Alpha test system.

Dependent library maintenance

VirtualBox: Track VirtualBox releases, and decide which one we should recommend and include in the client installers. It needs to work with our Vbox wrapper. Occasionally Vbox changes the API and we need to change the wrapper accordingly. Make sure you get good cross-platform test coverage; use the Alpha testers for this. If a Vbox release fixes significant bugs, consider doing a new release of the client software.

OpenSSL, Zlib, curl, sqllite: track their new versions. Update as needed; for security (openssl, zlib) generally update immediately. This triggers a client software release.

WxWidgets: the GUI toolkit used by the BOINC Manager.

Instructions for building the libs are here.

Wrapper maintenance

Update the binary versions of wrapper and vboxwrapper as needed (e.g. when there's been fixes/enhancements in the wrapper code or changes to the BOINC API).

App VM maintenance

Periodically update the pre-made VM images for VM apps, to track changes in Debian and Virtualbox.

Server VM maintenance

Periodically (and when the server software is known to be stable) update the Server VM by installing and building the current BOINC code, and updating the system software (Apache, PHP, etc.).

It should never need updating, but keep an eye on the Compatibility VM for Linux builds. This is for building applications to run on old Linux systems.

Translation system management

Administer the BOINC translation system.

Server software management

Manage the BOINC server software

Security management

  • Maintain the Certificate Authority list used by the client (curl/ca-bundle.crt). You can get a current list from
  • Find and periodically use tools for web code penetration testing.


  • Yearly: update the years in
    • android/BOINC/app/src/main/res/values/strings.xml
    • client/win/boinc_cli.rc
    • client/win/boinc_cmd.rc
    • client/win/boinc_log.rc
    • clientctrl/boincsvcctrl.rc
    • clientgui/BOINCGUIApp.rc
    • clientgui/DlgAbout.cpp
    • clientscr/boinc_ss.rc
    • clientscr/boinc_ss_opengl.rc
    • clientsetup/win/boinccas.rc
    • clienttray/boinc_tray.rc
    • doc/manpages/boinc.xml
    • doc/manpages/boinccmd.xml
    • doc/manpages/boincmgr.xml
    • samples/gfx_html/browser_win.rc
    • samples/vboxwrapper/vboxwrapper_win.rc
    • samples/wrapper/wrapper_win.rc
    • win_build/installerv2/BOINC.ism
    • win_build/installerv2/BOINC_vbox.ism
    • win_build/installerv2/BOINCx64.ism
    • win_build/installerv2/BOINCx64_vbox.ism
    • win_build/installerv2/CharityEngine.ism
    • win_build/installerv2/Progress.ism
    • win_build/installerv2/WCG.ism
  • Maintain contact with message-board moderators (Jord, Kathryn Marks, and Bernie)
Last modified 2 years ago Last modified on May 30, 2020, 3:55:20 PM