Anyone can create a Juju charm by pushing a branch to launchpad.net. The code branch has to be in a specific format to work with Juju. The format is
lp: (short for LaunchPad),
~, user name,
charms, Ubuntu LTS release code name, charm name, followed by
trunk. So for me the command looks like:
bzr push lp:~mbruzek/charms/trusty/tomcat/trunk
The code lives in the user's personal name space and is deployable by anyone who uses Juju.
Some authors submit their charms to the review process. The process ensures the code is of high quality and when the charm passes review it is copied to the charmers name space where they become recommended charms.
A charm is created for software and is a snapshot in time. After time passes there are several reasons a charm may not work properly, the software packages change, the upstream URL is no longer available, or other reasons. We try to minimize this by tying charms to a release of Ubuntu long term support (LTS), but this does not solve all the problems.
When charms stop working properly members of the Juju community calls on the authors or maintainers to fix the charms. If the author or maintainer (subject matter experts) are unresponsive or have moved on, the community has a broken charm and may not have the expertise to fix the code. The Juju community came up with a process to remove the unmaintained charms from the Charm Store. We do not want to remove any charms, and in a perfect world we would not remove them, but the reality is we have some charms that are not working and that breaks the user experience.
The unmaintained charm process is designed so we do everything possible to keep the charms as recommended charms in the Charm Store. It is a process that has to be followed by actual people. When we get more charms than people the maintainer model does not scale very well.
Please look over the unmaintained charm process and let us know if you have any feedback. We are looking for people willing to maintain abandoned charms. Maintaining a charm is a great way to help out the community, so if you think you can help please let us know. As always you can contact the Juju community mailing list: email@example.com or in #juju on Freenode.net on IRC.