Snap, Linux çekirdeğini ve systemd init sistemini kullanan işletim sistemleri için Canonical tarafından geliştirilmiş bir yazılım paketleme ve dağıtım sistemidir. Snaps adı verilen paketler ve bunları kullanma aracı snapd, bir dizi Linux dağıtımında[1] çalışır ve yukarı akış yazılım geliştiricilerinin uygulamalarını doğrudan kullanıcılara dağıtmasına olanak tanır. Snap'ler, ana bilgisayar sistemine aracılı erişime sahip bir sanal alanda çalışan bağımsız uygulamalardır. Snap ilk olarak bulut uygulamaları [2] için piyasaya sürüldü, ancak daha sonra Nesnelerin İnterneti cihazları [3][4] ve masaüstü [5][6] uygulamaları için de çalışacak şekilde taşındı.
Snapcraft, geliştiricilerin programlarını Snap formatında paketlemeleri için bir araçtır.[7] Snap, macOS[8] ve Microsoft Windows tarafından desteklenen herhangi bir Linux dağıtımında çalışır.[9] Snapcraft, hangi dağıtım veya işletim sistemi üzerine kurulu olduğuna bakılmaksızın, bir derlemenin sonucunun aynı olmasını sağlamak için Çoklu Geçiş [10] kullanarak paketleri bir Sanal Makinede oluşturur.[11] Snapcraft, Go, Java, JavaScript, Python, C/C++ ve Rust gibi birden çok derleme aracını ve programlama dilini destekler. Ayrıca AppStream, git, kabuk komut dosyaları ve setup.py dosyaları gibi birden çok kaynaktan uygulama meta verilerinin içe aktarılmasına izin verir.[8][12]