SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups        Ubuntu Development Processes
The Release
Cycle

Making
Changes              Mackenzie Morgan
Bugs
                          CALUG


                       12 May 2010
Outline

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan
              1   Developer Groups
Developer
Groups

The Release
Cycle         2   The Release Cycle
Making
Changes

Bugs
              3   Making Changes


              4   Bugs
Who are the developers?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle

Making
Changes

Bugs




                                        But that’s outdated
What changed?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle
              Archive reorganisation (hereafter: archive reorg)
Making
Changes

Bugs
What’s archive reorg?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle         A switch away from components to a unified archive with
Making
Changes
              finer-grained RBAC for uploading
Bugs
Pre-Archive Reorganisation

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan
              4 components:
Developer
Groups            Main
The Release
Cycle
                  Restricted
Making            Universe
Changes

Bugs              Multiverse
              Core-devs upload to all of the above.
              Masters of the Universe (MOTU) upload to Universe &
              Multiverse
Post-Archive Reorganisation

  Ubuntu
Development
 Processes
              Packagesets:
 Mackenzie
  Morgan          Ubuntu Desktop
Developer         Ubuntu Server
Groups

The Release
                  Kubuntu
Cycle
                  Xubuntu
Making
Changes
                  Mythbuntu
Bugs
                  Ubuntu Studio
                  Ubuntu Education Edition
                  Ubuntu Mobile
                  Kernel
              Correspond to packages on install discs
And those access controls. . . ?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups
                  Each packageset has a set of developers
The Release       Core devs still upload anything
Cycle

Making
                  MOTU upload anything not in a package set
Changes
                  New: Generalist devs upload anything not in a restricted
Bugs
                  packageset
                  New: Per-package uploaders
Where are we now?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan
              Done:
Developer
Groups            Ubuntu Desktop
The Release
Cycle             Ubuntu Server
Making
Changes
                  Kubuntu
Bugs              Mythbuntu
                  Kernel
                  Per-package uploaders
How many developers are there?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle             147 in ubuntu-dev
Making
Changes           Unknown number of “prospective developers”
Bugs
How do I find a package’s maintainer?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle
              You don’t. We’re not Debian.
Making
Changes

Bugs
What if you lack upload rights?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle         Other developers can sign off on and upload your package
Making
Changes
              (sponsoring)
Bugs
How do you get upload rights?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups          1   Do good work & get it sponsored
The Release
Cycle
                2   Create a wiki page to apply
Making
Changes
                3   Get sponsors to vouch for you on your wiki page
Bugs            4   Go to a Developer Membership Board (or one of the
                    delegated boards) meeting and get voted in
Outline

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan
              1   Developer Groups
Developer
Groups

The Release
Cycle         2   The Release Cycle
Making
Changes

Bugs
              3   Making Changes


              4   Bugs
First things first

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release       Binary-copy packages from previous release
Cycle

Making            Automatically sync from Debian Sid
Changes

Bugs
                  Merge remaining packages
Stages

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
                  Ubuntu Developer Summit
Groups
                  4 Alphas
The Release
Cycle             1 Beta
Making
Changes           2 Release Candidates
Bugs
                  Ship it!
              Also, lots of freezes (Toolchain, Debian Import, String, UI,
              Feature. . . )
What happens during freezes?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle         Uploads are queued pending Archive Admin approval
Making
Changes
              http://launchpad.net/ubuntu/maverick/+queue
Bugs
Stable Release Upgrades (SRU)

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release       Bugfixes only (preferably minimal patch)
Cycle

Making            Must document regression potential
Changes

Bugs
                  Package is uploaded to -proposed for 2 weeks
Outline

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan
              1   Developer Groups
Developer
Groups

The Release
Cycle         2   The Release Cycle
Making
Changes

Bugs
              3   Making Changes


              4   Bugs
Packages are kept in VCS, like every other distro,
              right?
  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups
              Er. . . yes and no. . .
The Release
Cycle         Yes, all but ∼500 packages are in bzr now
Making        No, it hasn’t always been this way
Changes
              Ubuntu Distributed Development (UDD) is the attempt at
Bugs
              change
Why?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle         We followed Debian on the debuild -S && dput
Making
Changes
              ../*.changes thing
Bugs
Why change?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle         Debian has only a few maintainers per package
Making
Changes
              We have team maintainership, >70 developers responsible
Bugs
How’s the change going?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle
              Slowly.
Making
Changes

Bugs
Why slowly?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer     We have (thanks mostly to James Westby):
Groups

The Release       tools (mostly)
Cycle

Making
                  docs (mostly)
Changes
                  branches (mostly)
Bugs
              Have you ever tried to convince 150 people to stop doing what
              seems to work and learn something new?
Old workflow

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer        apt-get source foo
Groups

The Release      cd foo
Cycle

Making
                 Make changes & add changelog entry
Changes
                 debuild -S
Bugs
                 Use pbuilder to test-build ../*.dsc
                 dput foo*.changes
New workflow

  Ubuntu
Development
 Processes    (See if I get this right)
 Mackenzie
  Morgan           bzr branch lp:ubuntu/foo or bzr branch
Developer
                   lp:ubuntu/hardy/foo
Groups
                   cd foo
The Release
Cycle              Make changes & add changelog entry
Making
Changes            bzr-buildpackage -S
Bugs               Use pbuilder to test-build ../*.dsc
                   debcommit
              Then it diverges. . .
              If the team merges many changes then releases: bzr push
              If not: dput ubuntu ../*.changes && bzr
              mark-uploaded && bzr push
Outline

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan
              1   Developer Groups
Developer
Groups

The Release
Cycle         2   The Release Cycle
Making
Changes

Bugs
              3   Making Changes


              4   Bugs
How are patches handled in Ubuntu?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle
              Badly.
Making
Changes

Bugs
Why?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle
              “Not enough monkeys”
Making
              – Daniel T. Chen
Changes       ∼2000 patches bitrotting in Launchpad
Bugs
What’s being done about it?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups
              Ubuntu Reviews team formed to:
The Release
Cycle             review patches
Making
Changes           upstream patches if needed
Bugs              run Patch Days
How can I submit a patch?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release       Attach it to the bug report
Cycle

Making            Mark it as a patch on upload
Changes

Bugs
                  Add the “patch” tag to the bug
Can I use the bzr branches from before?

  Ubuntu
Development
 Processes

 Mackenzie    Yes!
  Morgan
              If making a new candidate revision:
Developer
Groups             In debian/changelog: LP: #12345
The Release        debcommit
Cycle

Making             bzr push lp:me/foo/fixfor12345
Changes

Bugs
              If not:
                   bzr commit --fixes 12345
                   bzr push lp:me/foo/fixfor12345
              Branch is automatically linked to bug report
              bzr lp-open to submit merge proposal
Can I submit a debdiff like in Debian?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle
              Yes!
Making
              Subscribe ubuntu-sponsors to the bug report (and still include
Changes       LP: #12345 in debian/changelog)
Bugs
What’s that LP: #12345 stuff?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle         Bug #12345 will be automatically marked Fix Released when
Making
Changes
              the package is uploaded
Bugs
Why so many bugs in stable?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release       Testing happens too late (Beta)
Cycle

Making            Rushing to fix bugs late introduces more bugs
Changes

Bugs
                  Need more developers
Questions?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle

Making
Changes

Bugs

Contenu connexe

Similaire à Ubuntu Development Processes

Release This! - Tools for a Smooth Release Cycle
Release This! - Tools for a Smooth Release CycleRelease This! - Tools for a Smooth Release Cycle
Release This! - Tools for a Smooth Release CyclePerforce
 
necLinuxProjectReport
necLinuxProjectReportnecLinuxProjectReport
necLinuxProjectReportDeepak Karn
 
The Latest Status of CE Workgroup Shared Embedded Linux Distribution Project
 The Latest Status of CE Workgroup Shared Embedded Linux Distribution Project The Latest Status of CE Workgroup Shared Embedded Linux Distribution Project
The Latest Status of CE Workgroup Shared Embedded Linux Distribution ProjectYoshitake Kobayashi
 
White Paper: Release This! - Tools for a Smooth Release Cycle
White Paper: Release This! - Tools for a Smooth Release CycleWhite Paper: Release This! - Tools for a Smooth Release Cycle
White Paper: Release This! - Tools for a Smooth Release CyclePerforce
 
Continuous delivery the french way Agile Cambridge 2014
Continuous delivery the french way Agile Cambridge 2014Continuous delivery the french way Agile Cambridge 2014
Continuous delivery the french way Agile Cambridge 2014Dimitri Baeli
 
Nagpur Mulesoft Meetup on CICD using Jenkins
Nagpur Mulesoft Meetup on CICD using JenkinsNagpur Mulesoft Meetup on CICD using Jenkins
Nagpur Mulesoft Meetup on CICD using Jenkinspqrs1234
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best PracticesMaidul Islam
 
How to use CVS applied to SOLab
How to use CVS applied to SOLabHow to use CVS applied to SOLab
How to use CVS applied to SOLabPablo Arriazu
 
SVN Tutorial
SVN TutorialSVN Tutorial
SVN TutorialenggHeads
 
Ignite Devops Fast Moving Software
Ignite Devops Fast Moving SoftwareIgnite Devops Fast Moving Software
Ignite Devops Fast Moving SoftwareSpamapS
 
Alm tce parallel development
Alm tce parallel developmentAlm tce parallel development
Alm tce parallel developmentshalom938
 
Mercurial: Modern Source Control Management
Mercurial: Modern Source Control ManagementMercurial: Modern Source Control Management
Mercurial: Modern Source Control ManagementJohn Paulett
 

Similaire à Ubuntu Development Processes (20)

Project history.en
Project history.enProject history.en
Project history.en
 
Release This! - Tools for a Smooth Release Cycle
Release This! - Tools for a Smooth Release CycleRelease This! - Tools for a Smooth Release Cycle
Release This! - Tools for a Smooth Release Cycle
 
Jenkins
JenkinsJenkins
Jenkins
 
Svn tutorial
Svn tutorialSvn tutorial
Svn tutorial
 
necLinuxProjectReport
necLinuxProjectReportnecLinuxProjectReport
necLinuxProjectReport
 
Svn Basic Tutorial
Svn Basic TutorialSvn Basic Tutorial
Svn Basic Tutorial
 
The Latest Status of CE Workgroup Shared Embedded Linux Distribution Project
 The Latest Status of CE Workgroup Shared Embedded Linux Distribution Project The Latest Status of CE Workgroup Shared Embedded Linux Distribution Project
The Latest Status of CE Workgroup Shared Embedded Linux Distribution Project
 
White Paper: Release This! - Tools for a Smooth Release Cycle
White Paper: Release This! - Tools for a Smooth Release CycleWhite Paper: Release This! - Tools for a Smooth Release Cycle
White Paper: Release This! - Tools for a Smooth Release Cycle
 
Continuous delivery the french way Agile Cambridge 2014
Continuous delivery the french way Agile Cambridge 2014Continuous delivery the french way Agile Cambridge 2014
Continuous delivery the french way Agile Cambridge 2014
 
SVN Information
SVN Information  SVN Information
SVN Information
 
Nagpur Mulesoft Meetup on CICD using Jenkins
Nagpur Mulesoft Meetup on CICD using JenkinsNagpur Mulesoft Meetup on CICD using Jenkins
Nagpur Mulesoft Meetup on CICD using Jenkins
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best Practices
 
How to use CVS applied to SOLab
How to use CVS applied to SOLabHow to use CVS applied to SOLab
How to use CVS applied to SOLab
 
SVN Tutorial
SVN TutorialSVN Tutorial
SVN Tutorial
 
Ignite Devops Fast Moving Software
Ignite Devops Fast Moving SoftwareIgnite Devops Fast Moving Software
Ignite Devops Fast Moving Software
 
Uber git workflow
Uber git workflowUber git workflow
Uber git workflow
 
Uber git workflow
Uber git workflowUber git workflow
Uber git workflow
 
Uber git workflow
Uber git workflowUber git workflow
Uber git workflow
 
Alm tce parallel development
Alm tce parallel developmentAlm tce parallel development
Alm tce parallel development
 
Mercurial: Modern Source Control Management
Mercurial: Modern Source Control ManagementMercurial: Modern Source Control Management
Mercurial: Modern Source Control Management
 

Dernier

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Dernier (20)

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

Ubuntu Development Processes

  • 1. Ubuntu Development Processes Mackenzie Morgan Developer Groups Ubuntu Development Processes The Release Cycle Making Changes Mackenzie Morgan Bugs CALUG 12 May 2010
  • 2. Outline Ubuntu Development Processes Mackenzie Morgan 1 Developer Groups Developer Groups The Release Cycle 2 The Release Cycle Making Changes Bugs 3 Making Changes 4 Bugs
  • 3. Who are the developers? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Making Changes Bugs But that’s outdated
  • 4. What changed? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Archive reorganisation (hereafter: archive reorg) Making Changes Bugs
  • 5. What’s archive reorg? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle A switch away from components to a unified archive with Making Changes finer-grained RBAC for uploading Bugs
  • 6. Pre-Archive Reorganisation Ubuntu Development Processes Mackenzie Morgan 4 components: Developer Groups Main The Release Cycle Restricted Making Universe Changes Bugs Multiverse Core-devs upload to all of the above. Masters of the Universe (MOTU) upload to Universe & Multiverse
  • 7. Post-Archive Reorganisation Ubuntu Development Processes Packagesets: Mackenzie Morgan Ubuntu Desktop Developer Ubuntu Server Groups The Release Kubuntu Cycle Xubuntu Making Changes Mythbuntu Bugs Ubuntu Studio Ubuntu Education Edition Ubuntu Mobile Kernel Correspond to packages on install discs
  • 8. And those access controls. . . ? Ubuntu Development Processes Mackenzie Morgan Developer Groups Each packageset has a set of developers The Release Core devs still upload anything Cycle Making MOTU upload anything not in a package set Changes New: Generalist devs upload anything not in a restricted Bugs packageset New: Per-package uploaders
  • 9. Where are we now? Ubuntu Development Processes Mackenzie Morgan Done: Developer Groups Ubuntu Desktop The Release Cycle Ubuntu Server Making Changes Kubuntu Bugs Mythbuntu Kernel Per-package uploaders
  • 10. How many developers are there? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle 147 in ubuntu-dev Making Changes Unknown number of “prospective developers” Bugs
  • 11. How do I find a package’s maintainer? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle You don’t. We’re not Debian. Making Changes Bugs
  • 12. What if you lack upload rights? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Other developers can sign off on and upload your package Making Changes (sponsoring) Bugs
  • 13. How do you get upload rights? Ubuntu Development Processes Mackenzie Morgan Developer Groups 1 Do good work & get it sponsored The Release Cycle 2 Create a wiki page to apply Making Changes 3 Get sponsors to vouch for you on your wiki page Bugs 4 Go to a Developer Membership Board (or one of the delegated boards) meeting and get voted in
  • 14. Outline Ubuntu Development Processes Mackenzie Morgan 1 Developer Groups Developer Groups The Release Cycle 2 The Release Cycle Making Changes Bugs 3 Making Changes 4 Bugs
  • 15. First things first Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Binary-copy packages from previous release Cycle Making Automatically sync from Debian Sid Changes Bugs Merge remaining packages
  • 16. Stages Ubuntu Development Processes Mackenzie Morgan Developer Ubuntu Developer Summit Groups 4 Alphas The Release Cycle 1 Beta Making Changes 2 Release Candidates Bugs Ship it! Also, lots of freezes (Toolchain, Debian Import, String, UI, Feature. . . )
  • 17. What happens during freezes? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Uploads are queued pending Archive Admin approval Making Changes http://launchpad.net/ubuntu/maverick/+queue Bugs
  • 18. Stable Release Upgrades (SRU) Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Bugfixes only (preferably minimal patch) Cycle Making Must document regression potential Changes Bugs Package is uploaded to -proposed for 2 weeks
  • 19. Outline Ubuntu Development Processes Mackenzie Morgan 1 Developer Groups Developer Groups The Release Cycle 2 The Release Cycle Making Changes Bugs 3 Making Changes 4 Bugs
  • 20. Packages are kept in VCS, like every other distro, right? Ubuntu Development Processes Mackenzie Morgan Developer Groups Er. . . yes and no. . . The Release Cycle Yes, all but ∼500 packages are in bzr now Making No, it hasn’t always been this way Changes Ubuntu Distributed Development (UDD) is the attempt at Bugs change
  • 21. Why? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle We followed Debian on the debuild -S && dput Making Changes ../*.changes thing Bugs
  • 22. Why change? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Debian has only a few maintainers per package Making Changes We have team maintainership, >70 developers responsible Bugs
  • 23. How’s the change going? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Slowly. Making Changes Bugs
  • 24. Why slowly? Ubuntu Development Processes Mackenzie Morgan Developer We have (thanks mostly to James Westby): Groups The Release tools (mostly) Cycle Making docs (mostly) Changes branches (mostly) Bugs Have you ever tried to convince 150 people to stop doing what seems to work and learn something new?
  • 25. Old workflow Ubuntu Development Processes Mackenzie Morgan Developer apt-get source foo Groups The Release cd foo Cycle Making Make changes & add changelog entry Changes debuild -S Bugs Use pbuilder to test-build ../*.dsc dput foo*.changes
  • 26. New workflow Ubuntu Development Processes (See if I get this right) Mackenzie Morgan bzr branch lp:ubuntu/foo or bzr branch Developer lp:ubuntu/hardy/foo Groups cd foo The Release Cycle Make changes & add changelog entry Making Changes bzr-buildpackage -S Bugs Use pbuilder to test-build ../*.dsc debcommit Then it diverges. . . If the team merges many changes then releases: bzr push If not: dput ubuntu ../*.changes && bzr mark-uploaded && bzr push
  • 27. Outline Ubuntu Development Processes Mackenzie Morgan 1 Developer Groups Developer Groups The Release Cycle 2 The Release Cycle Making Changes Bugs 3 Making Changes 4 Bugs
  • 28. How are patches handled in Ubuntu? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Badly. Making Changes Bugs
  • 29. Why? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle “Not enough monkeys” Making – Daniel T. Chen Changes ∼2000 patches bitrotting in Launchpad Bugs
  • 30. What’s being done about it? Ubuntu Development Processes Mackenzie Morgan Developer Groups Ubuntu Reviews team formed to: The Release Cycle review patches Making Changes upstream patches if needed Bugs run Patch Days
  • 31. How can I submit a patch? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Attach it to the bug report Cycle Making Mark it as a patch on upload Changes Bugs Add the “patch” tag to the bug
  • 32. Can I use the bzr branches from before? Ubuntu Development Processes Mackenzie Yes! Morgan If making a new candidate revision: Developer Groups In debian/changelog: LP: #12345 The Release debcommit Cycle Making bzr push lp:me/foo/fixfor12345 Changes Bugs If not: bzr commit --fixes 12345 bzr push lp:me/foo/fixfor12345 Branch is automatically linked to bug report bzr lp-open to submit merge proposal
  • 33. Can I submit a debdiff like in Debian? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Yes! Making Subscribe ubuntu-sponsors to the bug report (and still include Changes LP: #12345 in debian/changelog) Bugs
  • 34. What’s that LP: #12345 stuff? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Bug #12345 will be automatically marked Fix Released when Making Changes the package is uploaded Bugs
  • 35. Why so many bugs in stable? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Testing happens too late (Beta) Cycle Making Rushing to fix bugs late introduces more bugs Changes Bugs Need more developers
  • 36. Questions? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Making Changes Bugs