Rethinking
Debian release
18th
November 2017
Hideki Yamane <henrich@debian.org>
Why rethink release?
● “Debian is old”
● “Debian (stable) is old”
● “Debian (stable) is old (for our usage)”
● “Some packages are still old and buggy,
but no update”
Current Release Migration
● Unstable → Testing
– Based on urgency (high,medium,low)
● Blocked by Release Critical bug
● Testing → Stable
– (Looong) Freeze and release
unstable
Testing
(staging)
Urgency-
based
migration
(automated)
stable
Freeze &
release
management
Stable release management
= many-legged-race
● Push release management causes
“many-legged-race”
http://web-japan.org/kidsweb/archives/life/action/06-02/act0602.html
60,000-70,000 Packages
Its result...
● Like this...
https://www.youtube.com/watch?v=Rwqvx99Gz2U
Another Problem:
Is that package tested, really?
● Who tests it?
– Sometimes "Passive test" doesn't work well
● Code never matures
– Code != Wine / Whiskey
– But time makes features to rot...
Worst scenario
●
Upload to unstable
no one cares it→
no bugs filed→
migrate to testing→
release stable→
found bugs in stable, but leave it...→
(since put not tiny changes to stable is not easy task…)
bad user experience→
bad reputation→
less user→
less developer...→
Answer (1):
+ “Active” migration
●
Same as other distros
– Gentoo: mask (package flag)
– Fedora: bohdi (voting system)
– openSUSE: openQA (automated test)
●
"pull" migration system via vote
by users & maintainers
●
“Package quality” is guaranteed by safety harness (pipeline)
●
It ensure "it works" by someone, at least
Pull is better than push
“Push” Testing to
stable migration
– Thousands changes
in one time
– Handled by few
release managers
= capacity overflow
burnout...→
“Pull” migration
– Several changes
in one time
– Handled by hundreds
advanced users &
maintainers
vs
Answer (2):
New distribution
Why we need
"new distribution"?
●
Average users never use unstable or
testing, they use "released" one (= stable)
●
“Innovators theory” (by Everett M. Rogers)
– Innovators : 2.5 % (unstable)
– Early Adopters: 13.5 % (testing)
– Early Majority : 34.0 %
– Late Majority : 34.0 % (stable)
– Laggards : 16.0 % (oldstable)
“Fresh” distribution
Innovators : 2.5 % (unstable)
Early Adopters: 13.5 % (testing)
Early Majority : 34.0 % “ Fresh”
Late Majority : 34.0 % (stable)
Laggards : 16.0 % (oldstable)
We can get more users! (100 / 66 = 150%)
Positioning
openSUSE
factory
openSUSE
LEAP
openSUSE
tumbleweed SLES
Fedora
(rawhide?)
RHEL
(CentOS)Ubuntu
unstable testing fresh stable oldstable
25.15 cm
N
E
W
O
L
D
Fresh?
●
Borrow name from LibO :)
●
Target: Average users (Early Majority)
●
Release every one or two week
– Rolling release
– Predictable scheduled release
●
Pull change sets
– Sustainable deploy
– Ensure changes, not break anything
Not push changes into
stable directly
●
Why new “fresh” distribution?
– Users expect stable as stable
( not changed so much)≒
– We afraid to break stable release
Migration cycle time
Traditional migration
unstable
Testing
(staging)
Urgency-
based
migration
(automated)
stable
5days 730days
push
Freeze &
release
management
Migration cycle time
Add “Fresh” distribution
unstable
Testing
(staging) fresh
pull
Urgency-
based
migration
(automated)
pull-changes
migration
(by hand)
stable
pull
pull-changes
migration
(by hand)
Point releaseEvery week
5days 7days 60days
735days → 12days (5+7) = 60times faster!
Shorten cycle time
●
Before : 730 days (minimum 180days)
●
After : 12 days
15-60 times faster delivery!
●
Maximize added-value
Change the rule!
● There was a reason to make rules
– Unstable – Testing – Stable
– Long freeze term and release
● But situation has changed, then rules
should be changed, too. Because its rule
becomes bottleneck
Faster release
introduce more bugs?
●
Q: It may introduce more bugs!
– A: “test early and fail fast” on fresh stage,
but less bugs in stable since more test
users watch it.
– Testers
●
Previous : 2.5 + 13.5 = 16.0
●
Fresh : 2.5 + 13.5 + 34.0 = 50.0 → 300%
“Fresh”: Pros & Cons
●
Pros)
– 150% users, 300% testers
– 60 times faster release
– Same cadence, its release date & changes are predictable
– Changes in each release are small, users can bite it (No Big Bang release)
●
Less freeze term for next release
●
Not need to hassle to make huge release note
●
Moe "real acceptance test" by real users for next stable release
●
Cons)
– It just costs
●
Infrastructure change
●
Docs & website update
●
More release manager & publicity work
●
Prepare security fix (but delta with unstable is small, right?)
– maybe it reduce backport effort in stable
Metrics?
●
More testers
– BTS number
– RC in stable / bugs in stable
●
More users
– Download number

More Related Content

PDF
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems (Soft-Sha...
ODP
GNOME Accessibility Testing
PPTX
Wix Automation - The False Positive Paradox
PDF
Shifting is more than shifting left
PDF
12 HappyDev-lite'14 Оваким Варданян. Техническая поддержка и клиентский сервис
PPTX
Основы нагрузочного тестирования с инструментом Jmeter
PDF
find & improve some bottleneck in Debian project (DebConf14 LT)
PDF
Qa management in big agile teams
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems (Soft-Sha...
GNOME Accessibility Testing
Wix Automation - The False Positive Paradox
Shifting is more than shifting left
12 HappyDev-lite'14 Оваким Варданян. Техническая поддержка и клиентский сервис
Основы нагрузочного тестирования с инструментом Jmeter
find & improve some bottleneck in Debian project (DebConf14 LT)
Qa management in big agile teams

Similar to Rethinking debian-release (20)

PDF
Kernel Recipes 2015: How to choose a kernel to ship with a product
PPTX
Road to Continuous Delivery - Wix.com
PPT
Understand regression testing
PDF
Vladimir Primakov - Qa management in big agile teams
PPTX
Rsyslog version naming (v8.6.0+)
PDF
Improve the deployment process step by step
PDF
Working With People Adl Uni
PDF
A Tale of Two Workflows - ChefConf 2014
PDF
Developing Quality Products Quickly through a Culture of CI/CD
PPTX
Using flow approaches to effectively manage agile testing at the enterprise l...
PDF
Everything You Always Wanted to Know About Versions* (*but were afraid to ask...
PPTX
Continuous Deployment
PDF
Build Quality In: Stop the Line - Peter Antman
PDF
Developing Enterprise and Community distributions at the same time, impossible ?
PDF
Releasing To Production Every Week India
PPT
Release This! Tools for a Smooth Release Cycle
PPT
Chrome release cycle
PDF
A lean automation blueprint for testing in continuous delivery
PDF
Continuous Performance from Load Testing to SRE and Beyond
PDF
Release This! - Tools for a Smooth Release Cycle
Kernel Recipes 2015: How to choose a kernel to ship with a product
Road to Continuous Delivery - Wix.com
Understand regression testing
Vladimir Primakov - Qa management in big agile teams
Rsyslog version naming (v8.6.0+)
Improve the deployment process step by step
Working With People Adl Uni
A Tale of Two Workflows - ChefConf 2014
Developing Quality Products Quickly through a Culture of CI/CD
Using flow approaches to effectively manage agile testing at the enterprise l...
Everything You Always Wanted to Know About Versions* (*but were afraid to ask...
Continuous Deployment
Build Quality In: Stop the Line - Peter Antman
Developing Enterprise and Community distributions at the same time, impossible ?
Releasing To Production Every Week India
Release This! Tools for a Smooth Release Cycle
Chrome release cycle
A lean automation blueprint for testing in continuous delivery
Continuous Performance from Load Testing to SRE and Beyond
Release This! - Tools for a Smooth Release Cycle
Ad

More from Hideki Yamane (16)

PDF
Debianの修正はどのように出荷されるか
PDF
openSUSE tools on Debian
PDF
Challenge: convert policy doc from docbook to sphinx
PDF
OSS license 101
PDF
8-9-10=Jessie,Stretch,Buster
PDF
Does Cowgirl Dream of Red Swirl?
PDF
Local Community for Debian (2013 Taiwan miniDebConf)
PDF
Let's shrink Debian package archive!
PDF
How to fight with "bloated repository"
PDF
「あなた」と オープンソース/フリーソフトウェア、 そして「Debian」
PDF
なれる! Debian開発者 〜 45分でわかる? メンテナ入門
PDF
Osc2010tokyo fall
PDF
201005 Debian/つくらぐ勉強会 lightning talk
ODP
about Debian "squeeze" @201002 OSC Tokyospring
PDF
20090410 Gree Opentech Main
PDF
20090410 Gree Opentech Presentation (opening)
Debianの修正はどのように出荷されるか
openSUSE tools on Debian
Challenge: convert policy doc from docbook to sphinx
OSS license 101
8-9-10=Jessie,Stretch,Buster
Does Cowgirl Dream of Red Swirl?
Local Community for Debian (2013 Taiwan miniDebConf)
Let's shrink Debian package archive!
How to fight with "bloated repository"
「あなた」と オープンソース/フリーソフトウェア、 そして「Debian」
なれる! Debian開発者 〜 45分でわかる? メンテナ入門
Osc2010tokyo fall
201005 Debian/つくらぐ勉強会 lightning talk
about Debian "squeeze" @201002 OSC Tokyospring
20090410 Gree Opentech Main
20090410 Gree Opentech Presentation (opening)
Ad

Recently uploaded (20)

PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
MCP Security Tutorial - Beginner to Advanced
PPTX
assetexplorer- product-overview - presentation
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PPTX
Weekly report ppt - harsh dattuprasad patel.pptx
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PDF
Visual explanation of Dijkstra's Algorithm using Python
PDF
Wondershare Recoverit Full Crack New Version (Latest 2025)
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PDF
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
PDF
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
AI Guide for Business Growth - Arna Softech
PPTX
Trending Python Topics for Data Visualization in 2025
PDF
Cost to Outsource Software Development in 2025
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
How Tridens DevSecOps Ensures Compliance, Security, and Agility
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
MCP Security Tutorial - Beginner to Advanced
assetexplorer- product-overview - presentation
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
Why Generative AI is the Future of Content, Code & Creativity?
Weekly report ppt - harsh dattuprasad patel.pptx
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
Visual explanation of Dijkstra's Algorithm using Python
Wondershare Recoverit Full Crack New Version (Latest 2025)
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
Designing Intelligence for the Shop Floor.pdf
AI Guide for Business Growth - Arna Softech
Trending Python Topics for Data Visualization in 2025
Cost to Outsource Software Development in 2025

Rethinking debian-release

  • 2. Why rethink release? ● “Debian is old” ● “Debian (stable) is old” ● “Debian (stable) is old (for our usage)” ● “Some packages are still old and buggy, but no update”
  • 3. Current Release Migration ● Unstable → Testing – Based on urgency (high,medium,low) ● Blocked by Release Critical bug ● Testing → Stable – (Looong) Freeze and release unstable Testing (staging) Urgency- based migration (automated) stable Freeze & release management
  • 4. Stable release management = many-legged-race ● Push release management causes “many-legged-race” http://web-japan.org/kidsweb/archives/life/action/06-02/act0602.html 60,000-70,000 Packages
  • 5. Its result... ● Like this... https://www.youtube.com/watch?v=Rwqvx99Gz2U
  • 6. Another Problem: Is that package tested, really? ● Who tests it? – Sometimes "Passive test" doesn't work well ● Code never matures – Code != Wine / Whiskey – But time makes features to rot...
  • 7. Worst scenario ● Upload to unstable no one cares it→ no bugs filed→ migrate to testing→ release stable→ found bugs in stable, but leave it...→ (since put not tiny changes to stable is not easy task…) bad user experience→ bad reputation→ less user→ less developer...→
  • 8. Answer (1): + “Active” migration ● Same as other distros – Gentoo: mask (package flag) – Fedora: bohdi (voting system) – openSUSE: openQA (automated test) ● "pull" migration system via vote by users & maintainers ● “Package quality” is guaranteed by safety harness (pipeline) ● It ensure "it works" by someone, at least
  • 9. Pull is better than push “Push” Testing to stable migration – Thousands changes in one time – Handled by few release managers = capacity overflow burnout...→ “Pull” migration – Several changes in one time – Handled by hundreds advanced users & maintainers vs
  • 11. Why we need "new distribution"? ● Average users never use unstable or testing, they use "released" one (= stable) ● “Innovators theory” (by Everett M. Rogers) – Innovators : 2.5 % (unstable) – Early Adopters: 13.5 % (testing) – Early Majority : 34.0 % – Late Majority : 34.0 % (stable) – Laggards : 16.0 % (oldstable)
  • 12. “Fresh” distribution Innovators : 2.5 % (unstable) Early Adopters: 13.5 % (testing) Early Majority : 34.0 % “ Fresh” Late Majority : 34.0 % (stable) Laggards : 16.0 % (oldstable) We can get more users! (100 / 66 = 150%)
  • 14. Fresh? ● Borrow name from LibO :) ● Target: Average users (Early Majority) ● Release every one or two week – Rolling release – Predictable scheduled release ● Pull change sets – Sustainable deploy – Ensure changes, not break anything
  • 15. Not push changes into stable directly ● Why new “fresh” distribution? – Users expect stable as stable ( not changed so much)≒ – We afraid to break stable release
  • 16. Migration cycle time Traditional migration unstable Testing (staging) Urgency- based migration (automated) stable 5days 730days push Freeze & release management
  • 17. Migration cycle time Add “Fresh” distribution unstable Testing (staging) fresh pull Urgency- based migration (automated) pull-changes migration (by hand) stable pull pull-changes migration (by hand) Point releaseEvery week 5days 7days 60days 735days → 12days (5+7) = 60times faster!
  • 18. Shorten cycle time ● Before : 730 days (minimum 180days) ● After : 12 days 15-60 times faster delivery! ● Maximize added-value
  • 19. Change the rule! ● There was a reason to make rules – Unstable – Testing – Stable – Long freeze term and release ● But situation has changed, then rules should be changed, too. Because its rule becomes bottleneck
  • 20. Faster release introduce more bugs? ● Q: It may introduce more bugs! – A: “test early and fail fast” on fresh stage, but less bugs in stable since more test users watch it. – Testers ● Previous : 2.5 + 13.5 = 16.0 ● Fresh : 2.5 + 13.5 + 34.0 = 50.0 → 300%
  • 21. “Fresh”: Pros & Cons ● Pros) – 150% users, 300% testers – 60 times faster release – Same cadence, its release date & changes are predictable – Changes in each release are small, users can bite it (No Big Bang release) ● Less freeze term for next release ● Not need to hassle to make huge release note ● Moe "real acceptance test" by real users for next stable release ● Cons) – It just costs ● Infrastructure change ● Docs & website update ● More release manager & publicity work ● Prepare security fix (but delta with unstable is small, right?) – maybe it reduce backport effort in stable
  • 22. Metrics? ● More testers – BTS number – RC in stable / bugs in stable ● More users – Download number