Docs for snapcraft

Mark Shuttleworth mark at
Wed Jun 1 06:30:35 UTC 2016

On 01/06/16 07:23, Didier Roche wrote:
>>> Personally I think snapcraft is amazing, but it does create an extra
>>> layer of abstraction to push through, which may be confusing to someone
>>> just starting out.
>>> Thoughts?
>> My thoughts are biased towards trying to use snapcraft for everything
>> but we should not block on people wanting to do whatever they want
>> during their creative process.
> Of course, explaining the base concept (file system and such) is
> important, but that can happen once we have 3-4 success of the virtuous
> loop I explained above and having the base concepts nicely shaped in
> developer's head.
> Then, we can introduce a bug for instance as the next step, and see how
> to debug/inspect it. This is when the snapcraft lifecycle concept, and
> the snap/ directory can be introduced, exploring this way the snap (and
> not snapcraft) concepts like meta/snap.yaml, wrapper, and file system…

Right, we agree on the basics. Here's the challenge - the smartest
people don't sit down to write a simple snap. They want to make a snap
of the thing they care about, which is probably big and ugly inside
because it's been around enough for someone to care about it.

So, in that environment, learning snapcraft is a big layer of
indirection, and worse, if you hit the limits of snapcraft and have to
start writing a plugin, you are spending time and effort on something
you don't care about in order to get to something you DO care about.

That same person could probably MANUALLY construct a snap, as long as
they know what the constraints are. They can manually build their code,
they can build and copy, they can jiggle things to work.

I love snapcraft and believe we will make it perfect. But right now, I
see a lot of people hitting its limits and being baffled as to what it
is doing and why. Smart people saying "I give up because I can't even
get a bash script to work in a snap". That's a problem we must face head
on, not deny.


More information about the Snapcraft mailing list