• Linux Kernel – New version every 3 months • GNOME – New version every 6 months • KDE Plasma – New version every 3 months • Docker – New version every 3 months • SaltStack – New version every 3-6 months
of packages from thousands of diferent people into something which people can use?n” • Must be coherent, consistent, and operational • Linux Kernel + Toolchain + 1000’s of additional sofware packages
a “Regular Release” model • Release every X months/years • Freeze/Reluctantly upgrade package versions between Releases • Backport patches/fixes for frozen package versions • e.g. Debian, Fedora, openSUSE Leap, Ubuntu
be as close as possible to their relevant upstream/distribution projects • Dev Branches accomplish this, but at the cost of stability • If it’s not stable, Developers will not use it, they have work to do
Branch is a serious, but common problem • Fewer bugs found before each Regular Release • Less innovation/new features in your codebase • Increasing Technical Debt, making each Release more ‘expensive’ to clear that debt • Stagnation/Decline, ofen with very public development probs
put their sofware in the hands of users as fast as possible • Dev Branches do not accomplish this, neither do Regular Releases • Containerised Apps promise to solve this, but it’s not that easy
with a keen interest in the upstream projects of their choice • These users don’t want to wait, but when they use it they want it to work • Consistency, ‘well put together’, ‘feels right’, UX, are key requirements • These enthusiasts are the prime candidates to become contributors of tomorrow
going to include changes, that’s the point • Changes must be built, tested, and integrated consistently • Users must be shielded from behavioural changes so they can just focus on getting their work done, then change when they’re ready
thousands of upstream projects are a challenge to get working together • Changes must be built, tested, and integrated consistently • Test-at-the-submission & Test-as-a-whole; Distributions are not a collection of packages, but a cohesive product • Users must not be shipped something that doesn’t work
rolling releases, rely on “Passive Testing” • Put new packages in a “Testing Branch”, wait X days then assume “it’s good enough” and ship! • Works better or worse depending on size of developer & testing communities • Still basically Russian Roulette
“does the new package break something in isolation?n” – “does the new package break something when installed in a broader context?n” – “does the new package change behaviour users expect?n” • Answers to the above questions needed ideally BEFORE an Upstream Release or ASAP afer
it yourself, it’s a learning exercise” • The Gentoo Way - “Do it yourself, and you can read the Arch wiki while everything is compiling” • Something went wrong or changed in a way you don’t like?n Too bad, good luck undoing it, you can always start again
Kroah-Hartman • Merged with the 'Factory' rolling release on November 4th 2014 • Provides the latest updates 'at the pace of contribution', without the risk of major system issues • Tested by openQA continuously • Developer, Contributor & Enthusiast focus
updates' based on regular releases • Required an additional repository to your ‘traditional’ openSUSE release • Focus on Kernel, KDE, GNOME and some Apps • Would overwrite packages from regular release • “Reset-to-zero” every regular release
Constant breakage over the growing chasm between the ‘stable base’ and ‘rolling top’ • Ad-hoc tinkering of the ‘stable base’ stops it being stable • “Reset-to-zero” rebase to a new stable base every 8 months was brutally disruptive for many users
2006 • Used to build the openSUSE® & SUSE® distributions • Can also build packages for other distributions (Fedora/Red Hat, Ubuntu, Debian, Arch, etc) • Also used by ownCloud, Linux Foundation, VideoLAN (VLC), Dell, Cray, Intel and more. http://openbuildservice.org
Able to fully test Linux distributions from install to user applications • Integral part of the openSUSE® Tumbleweed & Leap process • Used by SUSE® to test SUSE Linux Enterprise • Recently adopted by Red Hat to test Fedora http://open.qa
install uses btrfs & snapper • Automatically configured to snapshot root filesystem when packages are installed • Unwanted changes can be safely rolled back, even from GRUB
Base System openSUSE Leap Over 6000 Packages Community Developed SUSE® Linux Enterprise Enterprise Packages SUSE Developed Stable Base System Regular Updates Stable Base System Regular Updates Shared Core
projects • Get the latest and greatest versions of everything • “It just works”, and if it doesn’t work the way you want any more, snapper rollbacks keep you working • Something not quite perfect?n Please contribute back, so we can help make Tumbleweed even better for you
get packaging experts to help, cross-distro packaging tools, and unparalleled automated functional testing • Containerised Applications are cool for those ‘other’ distributions, but are more work for you
of everything • “It just works”, and if it doesn’t work the way you want any more, snapper rollbacks keep you working • Having a lot of fun?n Please contribute back, so we can help make Tumbleweed even better for you
Attribution-ShareAlike 4.0 International license. It can be shared and adapted for any purpose (even commercially) as long as Attribution is given and any derivative work is distributed under the same license. Details can be found at https://creativecommons.org/licenses/by-sa/4.0/ General Disclaimer This document is not to be construed as a promise by any participating organisation to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. openSUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for openSUSE products remains at the sole discretion of openSUSE. Further, openSUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All openSUSE marks referenced in this presentation are trademarks or registered trademarks of SUSE LLC, in the United States and other countries. All third-party trademarks are the property of their respective owners. Credits Template Richard Brown [email protected] Design & Inspiration openSUSE Design Team http://opensuse.github.io/branding- guidelines/