Classic confinement request for dvc

Thanks for looking into this.

There are quite a few other git-like tools which also require classic confinement.

dvc uses git (amongst other things) under-the-hood (which as-is requires classic confinement: see the git-ubuntu snap), but also does git-like things in and of its own regard.

This includes a core feature of allowing users to save and re-run any arbitrary command involving external binaries (not just python). Unlike git config alias NAME '!ARBITRARY_BINARY', though, running external binaries is a commonly used core feature of dvc. This includes dvc run and dvc repro. The former feature is important enough to be listed on the landing page (https://dvc.org/):

$ dvc add images
$ dvc run -d images -o model.p cnn.py
$ dvc remote add myrepo s3://mybucket
$ dvc push

We really did try to use classic (https://github.com/iterative/dvc/compare/537d51b5351926732566256369189ed7a63e4208..f6e92184e389f95ed39b109f40fbe41de1f3cf9f) but even if we could fix the other issues, dvc run would not work.

Note that dvc is OSS-approved Apache 2.0 licensed with full source code and automatic CI snap building online, so it’s also clear that it’s not abusing classic privileges.

1 Like