Thank you Fedora leadership, devs, community, and those who keep the servers/forum/etc. running smoothly. I am a newbie to the community. I thought Fedora was a separate entity from Redhat. However, Fedora and Redhat are one entity based on a Wikipedia article that says:
The project was founded in 2003 as a result of a merger between the Red Hat Linux (RHL) and Fedora Linux projects. It is sponsored by Red Hat (an IBM subsidiary) primarily, but its employees make up only 35% of project contributors, and most of the over 2,000 contributors are unaffiliated members of the community.
Coming from ==> Fedora Project - Wikipedia
To me this explains why one would even consider bringing any sort of data collection to a distro. It is part of corporate entity. If Fedora were truly separate then there would be no reason to bring any sort of data collection or user install counter to the distro.
My response to the proposal:
Please do not do this. Please do not add any data collection, monitoring/surveillance, or install counter components to the distro. I don’t even want it to lie dormant on my drives. Last year Manjaro’s leadership was planning to integrate opentelemetry into their distro. to collect data for the same exact or very similar reasons described in the proposal. I and other Manjaro users asked them to not bring telemetry into the distro. Even though there was push back, so far it seems that they backed off and aborted those plans. In my mind, even just considering/planning the inclusion of data collection schemes puts leadership’s decision making in doubt. Some, myself including, would consider this as a strike against distro./leadership. Unfortunately, Manjaro has made a number of other fumbles which brought me Fedora.
My PoV:
I have reached my limit of tolerance of Win10, its telemetry/spyware, its forced updates, its crappy performance/design, and Microsoft’s (M$) grand disregard for user privacy. I have no love for Apple and their “walled garden” either. I’ve abandoned Win10 for the most part, and only use it for a few specific reasons. I have an Android smart phone, but:
- I do not use the Chrome browser that comes it
- I do not install or use social media apps on it
- I do not use the other Google apps on it such as the youtube app.
- the gmail account I use with it, sees very little use beyond the obligatory login, every 2-3 months, to keep the account active
- I don’t do online banking on it
- I don’t use facial or finger print unlocking
- the Google assistant is disabled
I am not a fan of social media. My FB account has been dormant for more than 10 years, with no pictures or other real personal data.
I do not want any telemetry, data collection, or other surveillance/tracking components on my desktop. This is not negotiable. Even if I allowed some data collection by another entity, that allowance is not automatically transferred to Fedora, and no it is not a justification for Fedora to monitor my activities and collect my data. If I allow a Linux distro to run data collection components on my desktop then I may as well just run Windows, which would defeat the purpose me abandoning Windows in the first place.
User Hardware Info.:
If Fedora/Redhat (FRH) needs user hardware info. let them ask the users to submit inxi output, with specific flags, to a website. inxi provides plenty of hardware/system info. and the output can be parsed. The parsing can easily be done by a dev with only a small amount of effort. FRH does not need:
- user activity data
- software install data
- install count data
Error/Crash Reporting:
I refuse to engage error and crash report applications (executables). Although, I will gladly submit error/crash report info. via a website. No one is going to convince me to click collect data and then click submit crash report in an executable. There are other users who do not wish to submit any error/crash reporting data for a variety of reasons. Let’s respect the decision of the users. Let the devs handle the tasks of software debugging. Users generally do not want to be viewed/treated as a developer’s lab rat/guinea pig.
Privacy-preserving Metrics System:
Cyclical data collection is a form of monitoring/surveilling, irrespective of user consent. There is no such thing as “privacy-preserving” with a data collection system, irrespective of the system’s initial design. Privacy and data collection are at odds, and one cannot ride those 2 horses galloping in opposite directions. Designs can and will change over time allowing for the expansion of the number of columns in a data table (gathering more data). Over time, gross approximations, estimations, and inferences can be made from the collected data. This comes from the Law of Large Numbers.
The law of large numbers, in probability and statistics, states that as a sample size grows, its mean gets closer to the average of the whole population. This is due to the sample being more representative of the population as the sample become larger.
Coming from ==> Law of Large Numbers: What It Is, How It's Used, Examples
No thank you.
Not Collecting Personally-Identifiable data:
The date, time, and IP address make for a unique identifier, so the idea of not collecting personally-identifiable data is easily shot down. As we continue to tack-on additional columns the identifier becomes more and more unique. For example, start with date, time, IP address and then add:
- CPU make/model
- RAM amount
- BIOS manufacture/version
- Motherboard make/model/manufacturer/version
- drive count
- kernel and kernel version
- OS version
- DE and DE version
- MAC address (unique identifier already… big red flag)
- installed package count
Almost, if not all of the above, can be obtained from inxi output. IP address can be used as proxy for country, region, and location. The tacking-on of additional columns to build a unique identifier is the same technique law enforcement, in the US, uses to uniquely identify a device visiting a website.
Opt-in/Opt-out:
When it comes to opt-in/out schemes, for me it is a firm “No Thank you”. Opt-in/out is nothing more than a switch that can be flipped at any point in the future. It usually means we’ll integrate and push the component to the user’s installation, and when they are ready or we (the distro. maintainer) are ready, we’ll turn it on. No thank you. I don’t want it on my drive. This is why I have an issue with KDE. If the distro. doesn’t need user activity data then DE creator/maintainer doesn’t need user activity data. Unfortunately, KUserFeedback is tightly integrated into KDE. Removing it would require a complete fork of the project, a thorough combing of the source code, and the surgical removal of the KUserFeedback code and all references to it. As soon as a better fork of KDE comes along, that does not have any data collection components, and is not tied to questionable/corporate entities (Google, M$, etc), I will abandon KDE. They’ve put a toe tag on their project, with the sunset date waiting to be filled in. I am not alone in wanting to steer clear of any data collection, and opt-in/out schemes. No thank you fellas.
What data collection does not do:
There is no guarantee that user data will be used to make improvements that one likes and/or agrees with. There is no guarantee that it won’t be used to justify removing features/applications that one likes/wants/needs. Any policy/approach that is initially employed is not guaranteed to remain the same in the future. Policies change. Laws change. People’s attitudes and levels of greed change.
How should Fedora/Redhat go about improving the distro:
My ideas go back to TQM principles. Focus on delighting the customer and improving product quality. Automated user data collection systems do not guaranteed product quality improvements, it only guarantees data will be collected. The customer is the end user. Engage the user community honestly and take their ideas/suggestions seriously. Use polls, surveys, suggestion boxes, proposals (like what we are engaging in now), focus groups, etc. What is truly valuable is user feedback. So create a feedback loop. I’m a software developer and have been DBA so I’m not new to analysis of structured data. I get it. Structured data creates efficiency for the devs.
I see there is a “Fedora Annual Contributor Survey 2023”. I’ll be sure to do the survey. As for suggestions/feedback, let’s start with don’t bring data collections schemes into the distro.
The following is a real example of user suggestion/feedback:
As a user I need the ability to manage kernels, nvidia proprietary drivers, and update the boot manager’s menu when those components change. Building a kernel is a separate process. I’m expecting at a bare minimum for there to be a simple set of steps via the command line. An easy to use GUI tool would be great and would add to Fedora’s polish. There is no shame in having and using a GUI tool, and having a command line method as a secondary option.
The current process, based on the wiki, is unnecessarily complex. Even finding the info. on how to install a new kernel is unnecessarily complex. If I feed the following search phrase to google, at a minimum I’m expecting to find a single page in the wiki, with a simple set of steps:
“how to install new kernel from command line fedora linux”
However, I’m presented with a long complex wiki article on manual kernel installation. The article suggests that I use “DNF” or “PackageKit” to install a new kernel and provides a link to a wiki article page. However, the link is to a page on “Updating Packages”. This is confusing to a user that is new to Fedora. Package Management and DNF are huge topics that, while related to managing kernels, should be treated separately.
If I feed the following search phrase to google, at a minimum I’m expecting to find a single page in the wiki, with a simple set of steps:
“how to install new kernel with packagekit fedora linux”
This leads one down a proverbial mine shaft in hopes of striking gold. After some digging (no pun intended) I realize that PackageKit is a distro. agnostic package management tool. Great! Problem… There is a Fedora wiki article for the “Package Management System”, that has a link for packagekit, that sends the user to Freedesktop.org. Even that site does not have a simple page on how to use the GUI. Freedesktop.org does go into an explanation of how to use packagekit from the command line, but as a user that is new to Fedora, I’m no closer to understanding how to install a new kernel.
My frustration as a new Fedora user should be obvious at this point. I’m starting to become concerned that there may be different methods based on the individual desktop environments, even though package kit is supposedly distro. agnostic. This is not a problem of being new to Linux (a novice). This is encountered as a user that is new to Fedora, a distro. that has the corporate backing/resources of Redhat. This should have been fixed 10+ years ago.
Possible Solution/Suggestion(s):
Maybe copy the example/ideas from Manjaro Linux. Manjaro has a very good GUI and CLI set of tools for kernel management (install, removal, selection, listing) and Nvidia proprietary driver management (install, removal, selection, listing). The tools are called “Manjaro Settings Manager” (GUI) and “mhwd” (CLI). Kernel and Nvidia driver, installation and switching, are handled separately from system update/upgrade. This means newer versions of these components are not forced on the user. However, as newer versions of these components become available, the user is alerted by a notification on the desktop. When installing newer versions of these components, the tools handle process which include updating the Grub menu. Here is a short youtube video demonstrating the new kernel installation process via the GUI ==> https://www.youtube.com/watch?v=AYCbxSATSfA
Even if Fedora doesn’t copy Manjaro’s GUI application example, the existing process can be simplified and streamlined.
The Fedora wiki is unnecessarily complex. The info. on how to change the kernel is buried deep in the documentation on DNF package management. This needs to be broken up and simplified. Here is how:
- Package management and DNF syntax usage are big topics. Follow the Arch Wiki example for the “pacman” package management tool ==> pacman - ArchWiki.
- I suggest copying Manjaro’s wiki example for kernel management, which can be viewed here ==> Manjaro Kernels - Manjaro