Zotero shouldn't try to self-update

Lately I've been bothered by Zotero giving me unsolicited advice about updating it. It says "Unable to Update; a recommended update is available, but you don't have permission to install it. To update automatically, modify the zotero program directory to be writeable by your user account." Even besides the fact that this message is an annoyance, programs shouldn't have to update themselves. Updating should be the responsibility of the package manager, not each individual program. Furthermore, the user shouldn't have access to system files. If I install Zotero to /usr/share/something, for instance, I shouldn't need to (or want to) modify that directory to be writeable by my user account--that would be a disaster. So long as Zotero packages are properly maintained in package manager repositories (I use the zotero-standalone package in the Arch User Repository) the program shouldn't ever have to tell the user to modify file permissions in order for Zotero to update itself, and it shouldn't have to tell the user to download a new version from zotero.org, since updates will come through the usual channels.
  • Note that zotero-standalone isn't a package provide by Zotero -- it's packaged by a third party (who could modify the default setting of the update pref the way they presumably do e.g. for Firefox).

    The standard mode of installing Zotero on Linux is to download the tarball and run the program directly, typically from a user-accessible location like ~/.local/bin
    In that scenario, auto-updating is crucial.
  • On Linux-like systems, it's generally a bad idea to install any software by downloading it from a website. This is why Linux distributions are really built around their package managers--they handle the work of getting software, installing it, putting it where it needs to go, and making sure there are no conflicts. Users shouldn't have to do any of that, and applications shouldn't have to do that, either. One of the problems with putting software in ~/.local/bin is that it's inaccessible by other users on the same system.

    Maybe Zotero should just consider packaging Zotero Standalone the normal way, through Linux package managers? Besides all the benefits I've already mentioned, another advantage is that you wouldn't have to repackage libraries. For example, if I have a program that uses some library, and then Zotero also uses that library, they can both use the same library, without having to distribute their own version of that library, which could be redundant.
  • I think you can assume that people who write open source software with several hundreds of thousands of users understand how linux works ;)

    Packaging for the various linux distros & flavors is a ton of work, which is why Zotero (like mozilla) has never done so, but there is an open ticket if people want to help adapt the deploy script: https://github.com/zotero/zotero-standalone-build/issues/52
  • I guess I just think that the "standard mode" of installing Zotero should be through a package manager, and then the last-resort mode should be manually installing it to a user directory. So for Arch, that should be through the AUR (for now), and for Ubuntu, something like a PPA, until it gets an official package.

    I've just added a comment to the AUR package page about changing that preference--I'm assuming it's `pref("app.update.enabled", true);` to `false` in /usr/lib/zotero/defaults/preferences/prefs.js? I've also added an issue here about an Arch package: https://github.com/zotero/zotero-standalone-build/issues/57. Additionally, I just posted a comment about adding a line to the Linux installation readme: https://forums.zotero.org/discussion/63880/linux-installation-instructions-for-standalone
Sign In or Register to comment.