Bug 420955 - KUserFeedback components are hard (not optional) runtime dependency once compiled in
Summary: KUserFeedback components are hard (not optional) runtime dependency once comp...
Status: RESOLVED NOT A BUG
Alias: None
Product: frameworks-kuserfeedback
Classification: Frameworks and Libraries
Component: Telemetry Provider (show other bugs)
Version: unspecified
Platform: Other Linux
: HI normal
Target Milestone: ---
Assignee: Volker Krause
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-03 15:01 UTC by grizzlyuser
Modified: 2020-05-07 16:00 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description grizzlyuser 2020-05-03 15:01:50 UTC
SUMMARY
From what I understand, KUserFeedback is an optional compile time dependency for packages like plasma-workspace and kate. And it looks quite likely that more packages will depend on it in future.

Once compiled in by the distro, it becomes a hard runtime dependency for these packages. So there's no way for the user to remove all KUserFeedback components from the system without recompiling.

Of course, the distro can choose to not package KUserFeedback at all, but then users, who want to contribute information through it, won't be able to do so.

It can be argued that User Feedback is disabled by default and configurable and there are high standards behind it. It appears like that now, but nobody can guarantee that won't change in future. 

Some users may want to not have the telemetry / survey components in their system in the first place. Even if they are disabled and innocent now. Here are a few examples of what may go wrong in future:
* User Feedback can get silently enabled by a bug introduced unintentionally or intentionally;
* policies can change to less strict, leading to privacy invading features and other annoyances;
* third party program can get control over the telemetry and abuse it.

STEPS TO REPRODUCE
1. Install plasma-workspace or kate on the binary distro that packages kuserfeedback.

OBSERVED RESULT
Package is installed with KUserFeedback components as a hard dependency. There's no way to remove them without removing the package or recompiling it without KUserFeedback.

EXPECTED RESULT
Package is installed without any KUserFeedback components by default. Or at least these components can be removed in a way as simple as removing any other package from the system. All KUserFeedback components are completely optional and user can decide whether to install them or not. Even if the distribution decided to provide KUserFeedback in their repositories.

SOFTWARE/OS VERSIONS
Operating System: Parabola GNU/Linux-libre (Arch Linux derivative, all packages in question come directly from Arch Linux).
KDE Plasma Version: 5.18.4
KDE Frameworks Version: 5.69.0
Qt Version: 5.14.2

ADDITIONAL INFORMATION
Proposed solution is to change the architecture of all components related to KUserFeedback. Like making them optional run-time dependencies or plugins. I logged this issue in hope that it's not too late to make such changes until more and more packages start depending on KUserFeedback.
Comment 1 Nate Graham 2020-05-07 14:39:25 UTC
I agree that they should be runtime dependencies, not compile-time dependencies, for just this reason. Removing kuserfeedback from your system shouldn't blow away your apps!
Comment 2 Volker Krause 2020-05-07 15:21:16 UTC
Not practically doable, at best you could move the actual submission to a small plugin, but that still keeps the bulk of the framework compile-time.
Comment 3 Nate Graham 2020-05-07 16:00:03 UTC
That's disappointing. I predict that we will continue to receive complaints from a minority of vocal users about this until we come up with a way for it to be removed at runtime.