Some years ago, Ubuntu used to sell paid software for Ubuntu. They stopped doing so, but I believe they did it using APT.
I wonder if something similar could be implemented in DNF. Probably a payments method cannot be implemented, but (and without knowing how Ubuntu used to do it), I believe an implementation for that would be to provide an username and password with which to log in to the repository. If the user is not logged in, the repository will only let you install free apps. If the user is logged in but you have not paid the app, the graphical front end could let you purchase the app. Once this app is purchased, the user (who is, again, logged in) would request the download with DNF (or yum?) and the repository would let them do so as long as the package is in their purchases database.
How achievable would this be? Is this authentication implemented in DNF in some form?
I seriously doubt it would even be a remote possibility for dnf.
That sounds like more of a repo feature or app feature and not a software manager feature anyway. If you are seriously considering such a venture you might research what happened and why earlier attempts at such a feature may have failed.
Even on the phones (android or iOS), the app stores allow installing an ad filled app then it is up to the user if they choose to pay for the ability to stop the ads. Thus if you want such a thing it seems better to do the selling within the app or the repo rather than trying to do so at the package manager level. There are, after all, already many feature limited or time limited apps that can later be unlocked with some payment plan (one time or subscription) including the ubiquitous McAfee app on windows and MakeMKV for both linux & windows.
Attempting to push that down to the package manager level will likely either be ignored or get a super large amount of resistance. Linux is, after all, (in all its flavors) based on FOSS and not software that requires payment.
The distro level is usually free, though there are apps that require payment. Just none that I know of available through the package managers or directly available from the repos managed by the distro.
For this reason I think if it ever happens it won’t see much of a success. I prefer the ‘donate to projects you like’ model. Locking open source software behind a paywall isn’t a good idea.
Yes, the repo server would have to be programmed to serve the RPM file if the authenticated user has purchased said app, but my question is, does DNF/YUM support secure, encrypted user authentication?
I have no clue. YUM no longer exists except as a link to DNF on your system.
# ls -l /usr/bin/dnf /usr/bin/yum
lrwxrwxrwx. 1 root root 5 Sep 9 08:05 /usr/bin/dnf -> dnf-3
lrwxrwxrwx. 1 root root 5 Sep 9 08:05 /usr/bin/yum -> dnf-3
In order to see what it presently supports you would probably need to read the source code, or confer with one of the developers that wrote it.
dnf install subscription-manager
Depending upon licensing that may not even be allowed. Some licenses may allow that but AFAIK the GPL does not. Proprietary code may be charged for, but the open source part cannot. IANAL though.
The idea is not to offer repackaged software, but paid one from the developers directly.
I know that the Flathub people are working on exactly that.
That’s very good. I honestly I’m not sure of how did the Ubuntu software store work back then (it seems it created custom repos per user account with your purchased software, but I’m not so sure.
Nonetheless, it seems DNF does have support for authentication