What makes a charm good?

Jorge O. Castro jorge at ubuntu.com
Thu Sep 13 21:51:19 UTC 2012


Charmers,

This mail will involve rating things and arbritary scales, so bring
out your strong opinions! For a while now we've been wondering how to
rate quality of a charm. We talked at UDS a bit and it's now time for
us to nail this down to something scoreable. Right now we say "Oh the
wordpress charm is awesome, it does all these kinds of neat things
like handling user data", but we don't let people know what a awesome
charm is supposed to do. Surely if another charm author knew that
handling user data is important and something that should be in a
charm they'd implement that.

So we need something to strive for. So I got together with some of the
fellas and we bashed out a set of criteria that we think charms should
be, and then we assigned points:

https://juju.ubuntu.com/CharmGuide

The idea here being that well written charms will score high points,
and give the community a gauge of what they're deploying. We'd show
this on a charm's jujucharms.com page, in a table similar to a review
system you'd see in a video game magazine or something. Now, the
bullets and numbers is something we just came up with. How we display
that is an implementation detail I think, I think what's more
important is that we nail down what exactly we think an ideal charm
would look like.

As you can see from many of the bullets, we're forward thinking on a
bunch of things that hardly any charm is doing, and it's hard to
"Responsive to user bug reports and concerns" when we're in this stage
in the project and you've not received any bug reports on it. The
scale is also very linear right now. You get a point for having a nice
README but you can totally not run on OpenStack and it's still also
one point, so we might want to adjust some things.

So here's the plan as I think it:

- We nail down each of these bullets and criteria to things that are important.
- We implement this in lp:charmworld so that the score and score
breakdown are visible from the charm's page
- We flesh out what we need to show charm authors how to improve their
charm. So for example if a charm has a +0 for being able to deploy a
pure upstream version we hyperlink to charms that are doing that to
enable people to improve their charms
- We then set a cutoff for charms with a certain high score, which
then become the "Flagbearer charms" that we want people to emulate.
- People who are writing charms can see where their charm stands and
something to shoot for.

None of these criteria are set in stone, and I'm sure people will have
strong opinions on what features make a charm great. Our initial
discussion for this list was quite passionate, so I'm looking forward
to seeing what you all think is important.

Thoughts? Concerns?

-- 
Jorge Castro
Canonical Ltd.
http://juju.ubuntu.com



More information about the Juju mailing list