SlideShare a Scribd company logo
1 of 40
Download to read offline
Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups        Ubuntu Development Processes
The Release
Cycle

Making
Changes               Mackenzie Morgan
Bugs
                    Ohio LinuxFest 2010 UbuCon


                      10 September 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
              Packagesets:
 Processes
                  Ubuntu Desktop
 Mackenzie
  Morgan          Ubuntu Server
Developer         Kubuntu
Groups
                  Xubuntu
The Release
Cycle
                  Mythbuntu
Making
Changes           Ubuntu Studio
Bugs              Ubuntu Education Edition
                  Ubuntu Mobile
                  Kernel
                  Network Manager
                  Sugar
                  Zope
              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
                  Ubuntu Desktop
Groups
                  Ubuntu Server
The Release
Cycle             Kubuntu
Making
Changes           Mythbuntu
Bugs              Kernel
                  Mono
                  Mozilla
                  Per-package uploaders
How many developers are there?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle             167 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 (Testing if LTS)
Changes

Bugs
                  Merge remaining packages
Stages

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
                  Ubuntu Developer Summit
Groups
                  3–4 Alphas
The Release
Cycle             1–2 Beta
Making
Changes           1–2 Release Candidates
Bugs
                  Ship it!
              Also, lots of freezes (Toolchain, Debian Import, String, UI,
              Feature, Final. . . )
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            Bugfixes only (preferably minimal patch)
The Release
Cycle             Must document regression potential
Making            Upload to -proposed
Changes

Bugs              Member of ubuntu-sru will approve the upload
                  Moves to -updates after 2 weeks in -proposed
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
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        bzr branch lp:ubuntu/foo or bzr branch
 Mackenzie
  Morgan
                  lp:ubuntu/hardy/foo
                  cd foo
Developer
Groups            Make changes & add changelog entry
The Release
Cycle             bzr-buildpackage -S
Making
Changes
                  Use pbuilder to test-build ../*.dsc
Bugs              debcommit
              debcommit generates changelog entry
              Then it diverges. . .
              If the team merges many changes then releases: bzr push
              If not: dput ubuntu ../*.changes && bzr
              mark-uploaded && bzr push
              No, there’s no automated “build this branch” button yet
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 do I report a bug?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
                  apt-cache policy package
Cycle
                  If package version shows Debian/Ubuntu changes:
Making
Changes           ubuntu-bug package
Bugs
                  If not or if clearly not a packaging bug, report it upstream
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   “Not enough monkeys”
Cycle
              – Daniel T. Chen
Making
Changes

Bugs
              ∼2000 patches bitrotting in Launchpad
What’s being done about it?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle             Operation Cleansweep
Making
Changes           Ubuntu Reviews team
Bugs
Operation Cleansweep

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
Cycle
              Try to review all patches & forward the good ones before
Making
              10.10 is released
Changes       https://wiki.ubuntu.com/OperationCleansweep
Bugs
Reviews Team

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups        Ubuntu Reviews team formed to:
The Release
Cycle
                  review patches
Making            upstream patches if needed
Changes

Bugs
                  run Patch Days
              http://launchpad.net/∼ubuntu-reviews
How can I submit a patch?

  Ubuntu
Development
 Processes

 Mackenzie
  Morgan


Developer
Groups

The Release
                  Attach it to the bug report
Cycle
                  Mark it as a patch on upload
Making
Changes           Add the “patch” tag to the bug
Bugs
              Submit it upstream too!
Can I use the bzr branches from before?

  Ubuntu
Development
 Processes

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

The Release
                   debcommit
Cycle
                   bzr push lp:me/foo/fixfor12345
Making
Changes       If not:
Bugs
                   bzr commit --fixes 12345
                   Fill in a changelog entry
                   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

More Related Content

Similar to Ubuntu Development Processes (OLF2010)

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 CycleGuerrilla
 
Contribute to-ubuntu
Contribute to-ubuntuContribute to-ubuntu
Contribute to-ubuntuShrinivasan T
 
Q4.11: Ubuntu Linaro Evaluation build
Q4.11: Ubuntu Linaro Evaluation buildQ4.11: Ubuntu Linaro Evaluation build
Q4.11: Ubuntu Linaro Evaluation buildLinaro
 
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
 
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
 
"Understanding Open Source and Ubuntu Part 1 of 2" by Kurt von Finck @ eLiber...
"Understanding Open Source and Ubuntu Part 1 of 2" by Kurt von Finck @ eLiber..."Understanding Open Source and Ubuntu Part 1 of 2" by Kurt von Finck @ eLiber...
"Understanding Open Source and Ubuntu Part 1 of 2" by Kurt von Finck @ eLiber...eLiberatica
 
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
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best PracticesMaidul Islam
 
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
 
Continuous Delivery Using Jenkins
Continuous Delivery Using JenkinsContinuous Delivery Using Jenkins
Continuous Delivery Using JenkinsCliffano Subagio
 
Ubuntu an absolute beginners guide
Ubuntu an absolute beginners guideUbuntu an absolute beginners guide
Ubuntu an absolute beginners guideCOMSATS
 
Tutorial Evaluate how the Release Cooker can help you in your daily work
Tutorial Evaluate how the Release Cooker can help you in your daily workTutorial Evaluate how the Release Cooker can help you in your daily work
Tutorial Evaluate how the Release Cooker can help you in your daily workAntelink
 
Tutorial Evaluate how the Release Cooker can help you in your daily work
Tutorial Evaluate how the Release Cooker can help you in your daily workTutorial Evaluate how the Release Cooker can help you in your daily work
Tutorial Evaluate how the Release Cooker can help you in your daily workAntelink
 

Similar to Ubuntu Development Processes (OLF2010) (20)

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
 
Contribute to-ubuntu
Contribute to-ubuntuContribute to-ubuntu
Contribute to-ubuntu
 
Q4.11: Ubuntu Linaro Evaluation build
Q4.11: Ubuntu Linaro Evaluation buildQ4.11: Ubuntu Linaro Evaluation build
Q4.11: Ubuntu Linaro Evaluation build
 
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
 
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
 
"Understanding Open Source and Ubuntu Part 1 of 2" by Kurt von Finck @ eLiber...
"Understanding Open Source and Ubuntu Part 1 of 2" by Kurt von Finck @ eLiber..."Understanding Open Source and Ubuntu Part 1 of 2" by Kurt von Finck @ eLiber...
"Understanding Open Source and Ubuntu Part 1 of 2" by Kurt von Finck @ eLiber...
 
necLinuxProjectReport
necLinuxProjectReportnecLinuxProjectReport
necLinuxProjectReport
 
Svn tutorial
Svn tutorialSvn tutorial
Svn 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
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best Practices
 
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
 
Continuous Delivery Using Jenkins
Continuous Delivery Using JenkinsContinuous Delivery Using Jenkins
Continuous Delivery Using Jenkins
 
Svn Basic Tutorial
Svn Basic TutorialSvn Basic Tutorial
Svn Basic Tutorial
 
Maven 3.0 at Øredev
Maven 3.0 at ØredevMaven 3.0 at Øredev
Maven 3.0 at Øredev
 
Ubuntu an absolute beginners guide
Ubuntu an absolute beginners guideUbuntu an absolute beginners guide
Ubuntu an absolute beginners guide
 
Tutorial Evaluate how the Release Cooker can help you in your daily work
Tutorial Evaluate how the Release Cooker can help you in your daily workTutorial Evaluate how the Release Cooker can help you in your daily work
Tutorial Evaluate how the Release Cooker can help you in your daily work
 
Tutorial Evaluate how the Release Cooker can help you in your daily work
Tutorial Evaluate how the Release Cooker can help you in your daily workTutorial Evaluate how the Release Cooker can help you in your daily work
Tutorial Evaluate how the Release Cooker can help you in your daily work
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

Ubuntu Development Processes (OLF2010)

  • 1. Ubuntu Development Processes Mackenzie Morgan Developer Groups Ubuntu Development Processes The Release Cycle Making Changes Mackenzie Morgan Bugs Ohio LinuxFest 2010 UbuCon 10 September 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 Packagesets: Processes Ubuntu Desktop Mackenzie Morgan Ubuntu Server Developer Kubuntu Groups Xubuntu The Release Cycle Mythbuntu Making Changes Ubuntu Studio Bugs Ubuntu Education Edition Ubuntu Mobile Kernel Network Manager Sugar Zope 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 Ubuntu Desktop Groups Ubuntu Server The Release Cycle Kubuntu Making Changes Mythbuntu Bugs Kernel Mono Mozilla Per-package uploaders
  • 10. How many developers are there? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle 167 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 (Testing if LTS) Changes Bugs Merge remaining packages
  • 16. Stages Ubuntu Development Processes Mackenzie Morgan Developer Ubuntu Developer Summit Groups 3–4 Alphas The Release Cycle 1–2 Beta Making Changes 1–2 Release Candidates Bugs Ship it! Also, lots of freezes (Toolchain, Debian Import, String, UI, Feature, Final. . . )
  • 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 Bugfixes only (preferably minimal patch) The Release Cycle Must document regression potential Making Upload to -proposed Changes Bugs Member of ubuntu-sru will approve the upload Moves to -updates after 2 weeks in -proposed
  • 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
  • 25. 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?
  • 26. 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
  • 27. New workflow Ubuntu Development Processes bzr branch lp:ubuntu/foo or bzr branch Mackenzie Morgan lp:ubuntu/hardy/foo cd foo Developer Groups Make changes & add changelog entry The Release Cycle bzr-buildpackage -S Making Changes Use pbuilder to test-build ../*.dsc Bugs debcommit debcommit generates changelog entry Then it diverges. . . If the team merges many changes then releases: bzr push If not: dput ubuntu ../*.changes && bzr mark-uploaded && bzr push No, there’s no automated “build this branch” button yet
  • 28. 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
  • 29. How do I report a bug? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release apt-cache policy package Cycle If package version shows Debian/Ubuntu changes: Making Changes ubuntu-bug package Bugs If not or if clearly not a packaging bug, report it upstream
  • 30. How are patches handled in Ubuntu? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Badly. Making Changes Bugs
  • 31. Why? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release “Not enough monkeys” Cycle – Daniel T. Chen Making Changes Bugs ∼2000 patches bitrotting in Launchpad
  • 32. What’s being done about it? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Operation Cleansweep Making Changes Ubuntu Reviews team Bugs
  • 33. Operation Cleansweep Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Try to review all patches & forward the good ones before Making 10.10 is released Changes https://wiki.ubuntu.com/OperationCleansweep Bugs
  • 34. Reviews Team Ubuntu Development Processes Mackenzie Morgan Developer Groups Ubuntu Reviews team formed to: The Release Cycle review patches Making upstream patches if needed Changes Bugs run Patch Days http://launchpad.net/∼ubuntu-reviews
  • 35. How can I submit a patch? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Attach it to the bug report Cycle Mark it as a patch on upload Making Changes Add the “patch” tag to the bug Bugs Submit it upstream too!
  • 36. Can I use the bzr branches from before? Ubuntu Development Processes Mackenzie Yes! Morgan If making a new candidate revision: Developer In debian/changelog: LP: #12345 Groups The Release debcommit Cycle bzr push lp:me/foo/fixfor12345 Making Changes If not: Bugs bzr commit --fixes 12345 Fill in a changelog entry bzr push lp:me/foo/fixfor12345 Branch is automatically linked to bug report bzr lp-open to submit merge proposal
  • 37. 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
  • 38. 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
  • 39. 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
  • 40. Questions? Ubuntu Development Processes Mackenzie Morgan Developer Groups The Release Cycle Making Changes Bugs