Have a direct DNF plugin
(This might be more a question, what the others might think of it.)
What about having a direct dnf plugin in Software?
Pros:
- more freedom and control - right now, when one wants to add anything, it can involve changes on the PackageKit side, which is in the maintenance mode
- avoid man-in-the-middle - requiring PackageKit means more processes running, thus more memory used, more delays to get the information (from libdnf to PackageKit, then over D-Bus to the client, then from PackageKit structures to Software structures) without a need (in case of DNF at least); notably in Fedora, the PackageKit is compiled with DNF backend only, thus PackageKit can be totally avoided, when a DNF plugin exists
Cons:
- (partly) duplicated code between the PackageKit plugin and the DNF plugin - I do not suggest to drop the PackageKit plugin, it is useful for other distributions for sure (those supported by the PackageKit and not by the Software)
Others:
- Software already uses libdnf in combination with the rpm-ostree plugin, even that usage is limited to a minimum
- I do not know that, I only think there was some intention to do it (when mentioning libdnf5), but maybe I'm wrong; I also do not know what the foreseen problems with libdnf5 were/are, though as long as PackageKit uses libdnf, there would not be any degradation in the service for the Software, there would be mainly gains. In any case, my knowledge regarding this subject is more than limited.