I am not sure whether this is actually quite the right question to be asking. As far as I remember (though I could be wrong), the installer offer as an option to copy the contrib plugins to the user's personal plugin directory. Perhaps we should be thinking a little more laterally and propose that we do the following:

1. Installer copies the plugins instead to a plugins subdirectory of the directory where the executable is installed. I think that the plugins in this directory should be in lock step with the executable, so either this install is mandatory or if the user declines to have plugins installed then they are deleted from this directory.

2. If the installer installs plugins in the sub-directory, it should look for similar named plugins (same file name or same PLUGIN_NAME) in the user's plugin directory and offer / recommend to delete the ones in the user directory (possibly showing the version numbers to the user as a hint). We cannot just delete them in case the user has modified them.

3. If running from the executable, Picard loads from user's plugin directory first, and only loads from executable sub-directory second if not in the user's directory with same filename or same PLUGIN_NAME. If running from source code (git clone) then it does the same but using the source contrib directory. Any clashes are logged in the status log and a summary message put into the status bar instead of "Ready".

What do you guys think?