On Mon, Nov 30, 2009 at 5:12 PM, Julian Edwards <[email protected]> wrote: > On Monday 30 November 2009 11:22:13 Jonathan Lange wrote: >> * Putting owner in the URL and conflating ownership with write >> permissions leads to broken URLs, which is bad. >> * Not having the owner in the URL disallows recipes for the same >> package with the same name. >> >> What other considerations are there? > > I would ask about what real-world and likely-to-happen scenarios where either > of these would be a problem. >
Good question! I'll relist the points below and follow each with probable real-word examples. There have been some useful suggestions in other posts in this thread. 1. Putting owner in the URL and conflating ownership with write permissions leads to broken URLs, which is bad. John gets fed up with having to wait for the Launchpad team to release new versions of launchpadlib etc, so he sets up a daily build at: https://lp.net/~john-the-coder/ubuntu/python-launchpadlib/+recipe/nightly. That works great for a while, but eventually someone makes a change to launchpadlib that means that the packaging branch in the recipe is no longer appropriate, which means the PPA is out of date. John is no longer interested in this launchpadlib crap. He looks around for someone who wants to maintain it, and finds US government agent Jack Bauer, who is going to fix it NOW. John passes edit permissions (and thus ownership) to Jack, changing the URL to: https://lp.net/~jack-bauer-24/ubuntu/python-launchpadlib/+recipe/nightly Meanwhile, Kara is really getting into launchpadlib hacking and has come to rely on John's daily build. She notices that John's PPA is out of date, makes a note of the recipe URL so she can fix it later, and then gets on with other things. Then, some time after US special agent Jack Bauer has taken control of the situation, she goes to the URL she wrote down and gets a 404! Noooo. 2a. Not having the owner in the URL disallows recipes for the same package with the same name. 2b. Not having the owner in the URL puts the onus on the user to choose a good package-wide name John wants daily builds of launchpadlib -- these Launchpad guys never release! He sets up the recipe at: https://lp.net/ubuntu/python-launchpadlib/+recipe/nightly. It's great for a while, but then John starts really getting into desktopcouch and hacking on Quickly and doesn't really do launchpadlib stuff any more. The Launchpad team ends up doing something that breaks the packaging branch in John's recipe, and the recipe is broken. Kara, meanwhile, has been using launchpadlib more and more as part of her daily activities with Ubuntu development. She sees that John's PPA is out of date, and decides to fix it. She sees that John's packaging branch is broken, makes a new one that works and then goes to make her own python-launchpadlib recipe. She'd like to call it "nightly", but that's taken. Hmm. She could call it "daily", but that would mean explaining to everyone on IRC that they should use "daily" and not "nightly". She could call it "kara-nightly", although that makes it sound like a special variant, rather than the one you should use (it also sounds too much like the name of a decidedly mediocre actress). "nightly-working" is terrible, and forebodes future "nightly-really-working" nightmares. In the end, Kara picks "nightly-working", and files a bug on Launchpad about how recipes should let you have your own namespace, rather than sharing a big one. 3. Branches have the owner in the URL, not doing that here would seem to be inconsistent. John hear's about the distributed development stuff that Ubuntu has been doing. He looks at an example recipe that's hosted on Launchpad and looks at the URL. Even though the recipe clearly has no official relationship to the package, it looks like it's underneath the package. John, who knows an awful lot about branches, wonders why the URL scheme isn't like branches. He shrugs, and mentally files it in his "more arbitrary stuff that Launchpad does" folder. Phew! Hope this helps. jml _______________________________________________ Mailing list: https://launchpad.net/~launchpad-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~launchpad-dev More help : https://help.launchpad.net/ListHelp

