Principia and formulas that use software from outside of Ubuntu

Clint Byrum clint at
Tue Jun 14 00:47:01 UTC 2011

Excerpts from Elliot Murphy's message of Mon Jun 13 08:46:39 -0700 2011:
> On Mon, Jun 13, 2011 at 11:21 AM, Clint Byrum <clint at> wrote:
> > I think we should draw a line somewhere and only include formulas, by
> > default, that use software from Ubuntu directly. This isn't for Ubuntu's
> > benefit, but for the user's. They get security updates, software that
> > is guaranteed to be free, etc. etc.
> >
> > But maybe there is a way we can include these formulas in an optional
> > repository.  The utility of the drush formula in particular is that it
> > deploys Drupal the way Upstream recommends, and does actually get you
> > upstream's security fixes. Meanwhile, not including this at all means it
> > may not get the integration testing with things like mysql and memcached.
> >
> > If we don't like the optional repository idea, another option is that
> > we could possibly bless certain sources of non-Ubuntu software according
> > to a few sets of rules.
> I think the key here is going to be how you define "by default". I understand
> the guarantees that using packages from the official Ubuntu archive
> provides. Those
> guarantees are valuable in many cases, and a roadblock in other cases.
> In the work done in the web operations team at Canonical we frequently
> need to deploy
> web applications from version control or other non-packaged sources. Based on
> discussions I've had with folks at PyCon, Erlang Factory, and the
> devops-toolchain
> mailing list I think this use case is both common and essential. I'd like to
> see it be a first-class citizen in Ensemble with official formulas
> that deploy from
> version control or non-ubuntu archives (PPA, etc) in the way that
> upstream recommends.

The experience I'd like for users to have is not a roadblock. In fact
it is much more intuitive than the PPA experience, and possibly more
informative than the partner/multiverse situation.

My understanding of the planned user experience for deploying formulas
is something like "ensemble deploy namespace:formula".

"by default" to me, is which namespaces ensemble knows about "by default",
and maybe even more pointedly, which namespace is the "default namespace".
Another possible wrinkle is whether or not to automatically deploy things
from a namespace.

So my thinking is that formulas that deploy software from other than
Ubuntu should be allowed into a 'contrib' namespace, after a developer
review, while things like the mysql formula should be in the official
('principia', 'ensemble', or 'ubuntu' maybe?) namespace because they
deploy only Ubuntu software.

I think that still leaves them as 1st class citizens, but it makes one
decide to accept contrib. By enforcing that the user type in a namespace,
we don't have to get into the oft mistaken game of universe vs. main vs
supported vs. ???. This is not unlike the extras conversation that has
gone on in Ubuntu. The formula is very desirable software that alone
meets the principia standards, but deploys things that may not be ready
for Ubuntu.

As far as PPA's, they're easy.

ensemble add-repository pfa:~kim0/t3h-awesum-formulas kim0
ensemble deploy kim0:drupal

Having those definitely seems to close the loop and allow people to
share and contribute rapidly without waiting on any beuracracy.

More information about the Ensemble mailing list