Subject: bug#46385: User awareness of Anti-Features

From: Maxime Devos <[email-masked]>
Date: Wed, 10 Feb 2021 15:38:36 +0100

Hi,

On Mon, 2021-02-08 at 13:28 +0000, soheil--- via Bug reports for GNU Guix wrote:
> Users should be aware of anti-feature of packages.
> It is best to have anti-feature tag in anti-feature packages so that user know
>  which program has anti-features; Like F-Droid. Also, user should be aware of
> anti-feature during installation. And wherever this awareness is needed...
> 
> An example is Telegram, Telegram is a program that user connects to a
> proprietary server, and users who know less about computer softwares,
> are not aware of the anti-feature.

I'll have to think some more on whether this is something Guix needs, but I
do have a partial concrete implementation proposal:

Packages can have a ‘properties’ field, e.g. from gnu/packages/bioconductors.scm:

(define-public r-reactome-db
  (package
    (name "r-reactome-db")
    (version "1.70.0")
    [...]
    (properties `((upstream-name . "reactome.db")))))

Maybe add a ‘anti-features’ entry field for some packages?
E.g.,

(define-public some-twitter-app
  (package
   (name "tweet")
   [...]
   (properties `((anti-features x y z)))))

x, y and z can be symbols, e.g. based upon from https://f-droid.org/en/docs/Anti-Features/

* ads (I don't think any application in Guix has these?)
* tracking (should be patched out if possible)
* non-free-network-services
* non-free-dependencies (probably not allowed in upstream Guix, but maybe in a channel)

The code behind ‘guix show’ and ‘guix search’ would need to
be adjusted to display anti-features, and the ‘guix install’ code
should warn if someone installs a package with anti-features.

Greetings,
Maxime