Packaging Help

Jordan Mantha laserjock at ubuntu.com
Wed Sep 23 15:07:24 BST 2009


On Wed, Sep 23, 2009 at 8:37 AM, Daniel Holbach
<daniel.holbach at ubuntu.com> wrote:
> Am Montag, den 21.09.2009, 14:30 -0400 schrieb Jordan Mantha:
>> I'm not sure there's much of a distinction in terms of work and
>> resources between doing packages reviews on REVU and in PPAs, bottom
>> line, stuff has to get looked at and the good stuff sponsored.
>
> I'm a bit surprised to hear this as the "bottom line" from you, who
> spent so much time on working on the Packaging Guide successfully
> educating newcomers.

I did spend a lot of time working on it, but now I see a lot of "I
read the Packaging Guide and it's just too hard" on IRC. I'm starting
to think that every time you write documentation there will always be
people who either won't bother to read it, can't understand it, or are
overwhelmed by it. Hopefully the Packaging Guide did help people out
but "packaging for Ubuntu" is such a huge body of knowledge that it's
quite difficult, as you all know, to write good documentation for it.

> But maybe I was not clear enough: I wasn't talking about "finding
> nuggets" or "improving packages from PPA".
>
> The current state of things is:
>
>      * people make use of PPAs to distribute fixes, new upstream
>        versions, backports and the like

Yes, although I do wonder if this is a good trend in general. I want
to ask people who use PPAs why they aren't doing the work in Ubuntu
itself so everybody can learn and benefit from their work. I think I
know some of the answers, but I think it's a valuable question to ask
people, "Can we just do this in Ubuntu directly?". Sometimes there are
very good reasons you can't, but sometimes people just don't want to
bother and we should try to prevent that kind of PPA usage as much as
reasonably possible.

>      * among them Upstream people who use this as a nice tool to
>        distribute their software

This is a great thing to see in PPAs and I've seen quite a bit of it,
which excites me. Upstreams are learning some packaging and getting
some idea of what it's all about. The problem I've seen, as I'm sure
everybody else has too, is that some upstreams see PPAs as an easy
alternative to maintaining or caring about their software in Ubuntu's
archive. I've seen a few cases where upstreams essentially forked
their packages (and sometimes libraries/dependencies) in their PPA,
which makes syncing very difficult and tends to mean the Ubuntu
package languishes.

>      * also there's people asking more and more questions about how to
>        things right and how to get things done in Ubuntu

This is very good! We *do* want to encourage PPA users to make the
leap into doing the "right thing" in pushing their contributions into
Ubuntu.

> I'm convinced it's possible to find a list of very easy-to-achieve
> things that will improve the situation and help to bust some of the
> myths around Ubuntu development and guide them in the right direction.

I think it's useful to look at "managing expectations". This is
something I sort of think about a lot regarding incoming volunteers.
If somebody comes to Ubuntu wanting to work learn to package and
contribute one of the things that will dishearten them the most is if
the expectations of the process, effort required, and time involved
are radically different than reality. What helps, IMO, is to look at
what the expectations out there are of Ubuntu packaging, being a MOTU,
etc. and develop a plan to "manage" those expectations so they fairly
accurately portray reality.

Examples of things that are already done that help are interviews. New
people want to know how long it takes people to become MOTU, how long
it takes to be a productive packager, and what knowledge and
experience level is needed to become an Ubuntu developer. Another
expectation is the time involved. Some people might be able to be
productive Ubuntu developers on only a couple hours a week, but my
experience has been that if you're serious about being an Ubuntu
developer you need to put some serious time and effort into it, at
least initially. Some people expect that going from no packaging
knowledge to uploading to Ubuntu should take 5-10 minutes :-) In
short, the more realistic your expectations are going into a project
like this, the less of a chance of being overwhelmed, discouraged, or
disillusioned.

>> Do you have any sense of how many of these people *want* to become
>> Ubuntu developers. My experience is that many of these PPAs are
>> upstreams/hobbyists who have no intention of becoming Ubuntu
>> developers. Indeed, many people use PPAs *because* REVU, sponsorship,
>> SRUs, etc. are seen as overly difficult and bureaucratic to be
>> involved in.
>
> Doesn't this strike you as something that we could fix with some good
> and targeted documentation?

Somewhat. I think documentation + community culture goes a long ways.
We can write tons of documentation but if the "community" doesn't
support or utilize it then it's going to be pretty useless.

> If so, what do you think we should cover?

My guess is what's needed are primarily 3 things:

1) a "so you've got a PPA, now what?" guide that gets lots of
exposure. It really needs to be as close to the PPA as possible,
preferably on Launchpad itself if possible.

2) an "Ubuntu processes for software developers and PPA users" that is
a minimalistic, easy to read guide on what Ubuntu does and why it does
it. Things like "What is the release schedule and what freezes do I
have to worry about?", "How do I get fixes into -updates and what do I
need to do to get ready?", "I've got a new bug-fix release, what do I
do with it?", "When do I use -updates and when do I use -backports?",
"Should I do <XYZ> in Debian or Ubuntu?", etc.

3) an Ubuntu Glossary or Translation guide for this class of people.
They're not unfamiliar with Linux development as a whole, they're just
not sure exactly what the Ubuntu jargon means (SRUs, etc.) and aren't
hooked into the process like a MOTU or consistent contributor would
be.

>> I think what Scott's trying to say is that for a great many of the PPA
>> users, they are trying to work on top of Ubuntu, not for Ubuntu.
>
> This smells a bit like the old backports discussion we had years ago.
> Backports weren't official and sometimes problematic. We achieved a lot
> by getting Backports better integrated into our processes.

There is a bit of a distinction in that we integrated Backports by
having it folded *into* the Ubuntu process. It's a bit more difficult
here because the desire is to integrate PPAs into the Ubuntu process,
while still keeping them outside of it to give PPA users freedom.

> Same goes for PPAs - by making it clear how our processes work, what the
> options are we gain a lot. Of course I'm not suggesting we merge every
> possible package or patch, there's a lot of packages and PPAs out there
> just for testing reasons and that's fine.

What I would find most useful is to be able to use Launchpad to:

1) easily indicate that a bug report, bzr branch, PPA upload are
"good" so I can say "hey, we need to look at this!"

2) easily find a list of "good" ones so I can sponsor them

> For the cases where people try to make Ubuntu better and fail to connect
> with the Ubuntu developer base, we should think about what we can do to
> make that connection happen.

First the assessment needs to be made that they are trying to make
Ubuntu better. Not that people are malicious, but often times "better"
means "better for me", which often means doing things that aren't
suitable for the general user population. Also, sometimes "better"
means "more convenient" because PPAs are not subject to Ubuntu
policies. It would be nice to be able to distinguish between the
following PPAs:
  - "OMG, Ubuntu is so stupid, I'm forking this package!!!" (probably
not useful)
  - "OMG, why hasn't Ubuntu updated this package? I've done it
here!!!" (could be useful for SRUs or development release)
  - "I've got packages that fix bug ..." (definitely need to look at)
  - "Hey, I just created my first package for Ubuntu!" (would be
useful to hook up with REVU and talk to the person about MOTU)

This is some of what I mean by a resource drain. I'm not sure that
relying on people coming to #ubuntu-motu or
wiki.ubuntu.com/UbuntuDevelopment is going to get a lot of PPA
contributors. It would be nice to actively "recruit" PPA users and/or
troll through PPAs looking for good stuff. In the mean time maybe some
documentation as I outlined above would be a decent compromise. :-)

-Jordan



More information about the ubuntu-devel mailing list