There are a variety of super-powers which are held by the people and teams who occupy the following roles:
Summary of current status
SLOT |
FUNCTION |
TEAM |
Owner |
root |
techboard |
Distro driver |
Approve blueprints for releases |
ubuntu-drivers |
Series RM |
Approve/set bug tasks for that series |
ubuntu-core-dev |
Project driver (for Distro series) |
Not set independently, union of Distro driver and Series RM |
- |
Bug supervisor |
Nominate bug tasks, importance, guidelines, official tags |
ubuntu-bugcontrol |
What we would like to do:
- Set series-specific RM to "ubuntu-release"
If a person can upload a package, she can approve bug tasks for the series (451390)
The following tables are incomplete and probably incorrect. They were written by analyzing the several 'security.py' files in Launchpad's lp/ and canonical/ packages. Launchpad has no good way to explain what a given role can do. 506212 is probably the best bug for tracking this.
Maintainer
Currently held by: ubuntu-team
As seen on Launchpad UI: "Maintainer"
Referred to in Launchpad codebase: IDistribution.owner
Class |
Permission |
Object |
Description |
AdminDistributionMirrorByDistroOwnerOrMirrorAdminsOrAdmins |
launchpad.Admin |
IDistributionMirror |
Admin access over distribution mirrors in Ubuntu |
EditDistributionMirrorByOwnerOrDistroOwnerOrMirrorAdminsOrAdmins |
launchpad.Edit |
IDistributionMirror |
Edit privileges distribution mirrors in Ubuntu |
EditSpecificationByRelatedPeople |
launchpad.Edit |
ISpecification |
Edit blueprints in Ubuntu |
AdminSpecification |
launchpad.Admin |
ISpecification |
Admin specifications in Ubuntu |
EditSpecificationSubscription |
launchpad.Edit |
ISpecificationSubscription |
Change who is "essential" on specifications in Ubuntu |
ViewAnnouncement |
launchpad.View |
IAnnouncement |
View any unpublished announcements in Ubuntu |
EditAnnouncement |
launchpad.Edit |
IAnnouncement |
Edit any announcement in Ubuntu |
NominateBugForDistroSeries |
launchpad.BugSupervisor |
IDistroSeries |
Is a bug supervisor for any distro series in Ubuntu |
EditDistributionSourcePackageByDistroOwnersOrAdmins |
launchpad.BugSupervisor |
IDistroSeries |
Is a bug supervisor for all source packages in Ubuntu |
EditDistroSeriesByOwnersOrDistroOwnersOrAdmins |
launchpad.BugSupervisor |
IDistroSeries |
Edit some fields on any distro series in Ubuntu |
ModerateDistributionByDriversOrOwnersOrAdmins |
launchpad.Moderate |
IDistribution |
"Plan releases" ??? |
Driver (distribution)
Class |
Permission |
Object |
Description |
QUESTIONS |
EditSpecificationByRelatedPeople |
launchpad.Edit |
ISpecification |
Edit a specification |
|
AdminSpecification |
launchpad.Admin |
ISpecification |
Admin a specification |
|
DriverSpecification |
launchpad.Driver |
ISpecification |
??? |
|
EditSprintSpecification |
launchpad.Edit |
ISprintSpecification |
Which specifications are part of a sprint |
|
DriveSprint |
launchpad.Driver |
ISprint |
What forms the agenda of a sprint |
|
EditSpecificationSubscription |
launchpad.Edit |
ISpecificationSubscription |
Who is subscribed/essential to a specification |
|
ModerateDistributionByDriversOrOwnersOrAdmins |
launchpad.Moderate |
IDistribution |
"Plan releases" ??? |
|
SeriesDrivers |
launchpad.Driver |
IHasDrivers |
??? |
Does this overlap with other permissions? |
ViewAnnouncement |
launchpad.View |
IAnnouncement |
View any unpublished announcements in Ubuntu |
|
EditAnnouncement |
launchpad.Edit |
IAnnouncement |
Edit any announcement in Ubuntu |
|
DownloadFullSourcePackageTranslations |
launchpad.ExpensiveRequest |
ISourcePackage |
Download full source package translations |
"driver" is mentioned in the comments but not the code |
Driver (series)
Class |
Permission |
Object |
Description |
QUESTIONS |
EditMilestoneByTargetOwnerOrAdmins |
launchpad.Edit |
IMilestone |
??? |
|
EditSpecificationByRelatedPeople |
launchpad.Edit |
ISpecification |
Edit a specification |
|
EditSpecificationSubscription |
launchpad.Edit |
ISpecificationSubscription |
Who is subscribed/essential to a specification |
|
SeriesDrivers |
launchpad.Driver |
IHasDrivers |
??? |
Does this overlap with other permissions? |
ViewAnnouncement |
launchpad.View |
IAnnouncement |
View any unpublished announcements in series |
Does a series have announcements? |
EditAnnouncement |
launchpad.Edit |
IAnnouncement |
Edit any announcement in series |
Does a series have announcements? |
Bug supervisor
Distribution
Class |
Permission |
Object |
Description |
|
|
|
|
Source package
Class |
Permission |
Object |
Description |
EditDistributionSourcePackageByDistroOwnersOrAdmins |
launchpad.BugSupervisor |
IDistributionSourcePackage |
??? |
Release manager
Class |
Permission |
Object |
Description |
|
|
|
|
Members
Class |
Permission |
Object |
Description |
|
|
|
|
Launchpad's internal permissions
launchpad.View
launchpad.Edit
launchpad.Moderate
launchpad.Admin
launchpad.Driver
launchpad.BugSupervisor
Our objectives are:
1. To ensure that the people who require these privileges have them, and no one else does (for safety's sake)
2. Make it clear which roles hold which permissions, so that we don't get into a tangled mess like this again in the future
The following bug contains some additional history (we just passed its 3-year anniversary): https://bugs.launchpad.net/launchpad-registry/+bug/174375
Notes
- Launchpad should have in-site documentation for what each of the roles mean
- Perhaps at least some part of this documentation should be automatically generated
- The "mirror admins" role has good documentation