Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OggCamp 2017 - openSUSE - A Reintroduction

OggCamp 2017 - openSUSE - A Reintroduction

A general look into the openSUSE Project, where we've come from, what we're working on, and what sets us apart from other similar open source projects.

Richard Brown

August 19, 2017

More Decks by Richard Brown

Other Decks in Programming


  1. The openSUSE Project • Open Source Community Project sponsored by

    SUSE • Founded to “Promote the use of Linux everywhere” • Produced the openSUSE Distribution • Announced 9th August 2005
  2. The openSUSE Project • Open Source Community Project sponsored by

    SUSE • Founded to “Promote the use of Linux everywhere” • Produced the openSUSE Distribution • Announced 9th August 2005
  3. SUSE & openSUSE • openSUSE is an independent Open Source

    Project – Sponsored by SUSE, AMD, IP Exchange, B1 Systems, Heinlein & AppliedMicro • SUSE acts as primary sponsor & patron • SUSE formally contributes as peers in the community & encourages it’s staf to also contribute in their spare time
  4. SUSE & openSUSE – Working Together • Leap shares a

    common code base with all SUSE Linux Enterprise Service Packs • Tumbleweed will provide the base for all future SUSE Linux Enterprise Major Releases
  5. SUSE & openSUSE – Working Together • Complete openSUSE Toolchain

    is also used by SUSE internally, including Open Build Service, openQA & KIWI • Not just tools & technology, openSUSE processes ofen inspire improvements to SUSE development processes
  6. SUSE & openSUSE – Working Together Stable code & contributions

    Upstream innovations Mutual collaboration
  7. SUSE & openSUSE – Working Separately • openSUSE is free

    to set it’s own direction & all that entails • Examples – Diferent default desktop (KDE in openSUSE, GNOME in SLE) – Diferent product scope (Unified openSUSE Distros, SLES/SLED) – Diferent installation workflow
  8. Freedom Matters • All openSUSE Projects are OSI licensed •

    Both openSUSE Distributions are GPLv2+ collective works • Limited “NonFree” Sofware available in Additional Repo – Does not include closed source Linux kernel modules • No CLA / Copyright Agreement Your contributions, your copyright
  9. “Those who do, decide” • Open Source works best when

    decisions are made as close as possible to the actual contribution – ie. the person doing the work • Self-organised Teams - People working on the same thing should work together
  10. “Those who do, decide” • Quality & Common Standards defined

    by consensus, enforced by willing senior contributors (Release Managers/Engineers) • No Steering Committees, Community Managers, Technical Boards, Benevolent Dictators or Project Managers
  11. “Those who do, decide” - Benefits Agility – Able to

    rapidly respond to changes in upstream projects & adopt new technologies Flexibility – Every upstream is diferent, with diferent release schedules and support lifecycles, openSUSE contributors can adapt their way of working for maximum eficiency and comfort Freedom – No restrictions on finding innovative solutions. “If it works, and you’ll support it” is the primary acceptance criteria.
  12. “Those who do, decide” - Risks Freedom – “Paradox of

    Choice” - too many choices can be overwhelming to newcomers Misconceptions – Established contributors may be seen as de-facto decision makers and inadvertently discourage new innovative contributors. Few newcomers want to ‘rock the boat’ even when the Project welcomes it. Deadlock – Multiple contributors may not always agree, who decides if compromises cannot be found?
  13. openSUSE Members • Established Contributors with a history of “Sustained

    and Substantial” contributions to the openSUSE Project • Receive @opensuse.org email addresses • Voting rights in Board Elections & Major Decisions • Has right to recall the Board (25%+ recall vote required)
  14. openSUSE Board “Leads” the overall Project • Helps resolve conflicts

    • Central point of contact • Decision makers of last resort • Communicates community interests to SUSE (and visa versa)
  15. openSUSE Board Composition 5 Board Members • Elected by established

    contributors (openSUSE Members) • 2 year term • 2-3 elected each year • No more than 2 Board Members can have same employer
  16. openSUSE Board Composition 1 Chairperson • Appointed by SUSE •

    Full voting Board Member, with additional responsibility to provide continuity and to represent SUSE to the Board & Project. • Holds veto power. • Elected Board Members can appeal to replace Chairperson.
  17. openSUSE Board Composition 1 Treasurer • Appointed by openSUSE Board

    • No voting rights in Board decisions, liaison with SUSE on financial matters • Oversees Travel Support Programme & similar initiatives
  18. Primary Communication Channels Mailing Lists – [email protected] - Development list

    [email protected] - Project related list – https://lists.opensuse.org - Index of more specific lists IRC – #opensuse-factory @ irc.freenode.net – Development chat – #opensuse-project @ irc.freenode.net – Project related chat – #opensuse-chat @ irc.freenode.net – Of Topic chat – #opensuse-* @ irc.freenode.net – Many more channels available
  19. “Every good work […] starts by scratching a […] personal

    itch.” - “The Cathedral and the Bazaar”, Eric S. Raymond
  20. Do your homework Understand your topic • Don’t assume, make

    sure you know what you’re talking about Research • Google, openSUSE wiki, other FOSS Projects. Where have others tried and failed? Discuss • Bounce ideas of other interested people in IRC, at openSUSE Conferences, etc
  21. Plan your solution Knowing what you want to do is

    only the beginning Plan your solution, answer “how will you do it?” Details optional – Be sure on the direction and final outcome, details can always be finalised while in progress
  22. Do you need help? If “No” – DON’T WAIT, proceed

    directly to ‘Do it’ If “Yes” – Share with Project, Listen, Respond, and then Decide how to do it
  23. Getting Help – Share with the Project Present plan –

    Avoid open ended questions – “This is what we need to do, and what I intend to do about it” – Describe findings from “Do your homework”, include proofs of concept if possible – Post on appropriate openSUSE Mailinglist It’s now the responsibility of the Project to convince you to do things diferently
  24. Getting Help – Listen Listen to feedback – The openSUSE

    Project contains many experienced contributors, listen to them. – Consider their feedback. – A well informed & well reasoned proposal should illicit well reasoned & informative responses Deciding to do something diferent at this point is not a ‘failure’, but a learning experience
  25. Getting Help – Respond Respond to feedback – Fast feedback

    drives innovation. – Discuss why you do, or do not agree with feedback. – Explain why. These discussions are how you find colleagues to contribute with you
  26. Getting Help – Decide Decide what to do – You

    do not need to accept all, or any, of the feedback – If you remain convinced that your planned course is correct, continue on it – If something gets in the way, find compromises Two competing solutions in diferent directions can ofen be resolved by accomplishing both
  27. Do It You’re all set! Get to work. Start your

    engines! Time to inconvenience some electrons with your code!
  28. “Man is a tool-using animal. Without tools he is nothing,

    with tools he is all” - Thomas Carlyle
  29. Building Linux Better • Open Build Service started in February

    2006 • Used to reproducibly build the openSUSE® & SUSE® distributions • Can also build packages for other distributions (Fedora/Red Hat, Ubuntu, Debian, Arch, etc) • Also used by ownCloud, Endless Linux, Linux Foundation, VideoLAN (VLC), Dell, Cray, Intel and more. http://openbuildservice.org
  30. Testing Linux Better • openQA started in November 2009 •

    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
  31. Contributing to openQA & Tumbleweed openQA Documentation http://open.qa/documentation/ Factory Submission

    Process https://en.opensuse.org/openSUSE:How_to_contribute_to_Factory
  32. SUSE & “The Gap” ISV User SUSE Linux Enterprise openSUSE

    Technical Innovation GAP Power User Small ISV Enterprise User Enthusiast Big ISV Developer
  33. SUSE Linux Enterprise – The Past openSUSE 11.3 openSUSE 11.1

    openSUSE Factory SLE 11 openSUSE 11.2 openSUSE 11.4 openSUSE 12.1 openSUSE 12.2 openSUSE 12.3 SLE 11 SP1 SLE 11 SP2
  34. SUSE Linux Enterprise 12 openSUSE 12.1 openSUSE 11.3 openSUSE Tumbleweed

    SLE 11 SP1 openSUSE 11.4 openSUSE 12.2 openSUSE 12.3 openSUSE 13.1 openSUSE 13.2 SLE 11 SP3 SLE 12 SLE 11 SP2
  35. SLE 12 – The Truth openSUSE 12.1 openSUSE 11.3 openSUSE

    Tumbleweed SLE 11 SP1 openSUSE 11.4 openSUSE 12.2 openSUSE 12.3 openSUSE 13.1 openSUSE 13.2 SLE 11 SP3 SLE 12 SLE 11 SP2
  36. SLE 12 – The Truth openSUSE 12.1 openSUSE 11.3 openSUSE

    Tumbleweed SLE 11 SP1 openSUSE 11.4 openSUSE 12.2 openSUSE 12.3 openSUSE 13.1 openSUSE 13.2 SLE 11 SP3 SLE 12 SLE 11 SP2
  37. SLE 12 – SUSE’s Lessons Taking code from openSUSE is

    not scary • More actively contributing SLE code back to openSUSE helps both • Result is more stable for openSUSE users • SLE engineers more actively engaged with ongoing upstream developments • ‘Investing in the Future’ - Less chance of regressions for SLE 15 Such contribution encourages alignment with SLE, which aids an accelerated pace of SLE development, which furthers aid openSUSE development. Repeat ad infinitum.
  38. With our powers combined... What if openSUSE could build something

    based on the SLE sources PLUS their openSUSE packages? – As stable as Enterprise Linux – As broadly featured as Community Linux – The perfect Stable Distro for Desktops & Servers?
  39. Developed Together openSUSE Tumbleweed Leap 42.1 SLE 12 SP1 Core

    12.1 Leap 42.2 SLE 12 SP2 Core 12.2 Leap 42.3 SLE 12 SP3 Core 12.3
  40. A Simpler Versioned Future SLE 15 Leap 15.0 openSUSE Tumbleweed

    Leap 42.2 SLE 12 SP2 Core 12.2 Leap 42.3 SLE 12 SP3 Core 12.3 Core 15
  41. Rolling Releases to the Rescue • No Release Schedule •

    Frequent Updates to all Packages • Updates delivered “when they're ready” • e.g. Arch, Gentoo, openSUSE Tumbleweed
  42. Too Much Change - Hard to Live With? • Always

    changing, always needing to adjust workflows • The Arch Way - “Do 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? Too bad, good luck undoing it, you can always start again
  43. Passive Testing is not good enough! • Many distributions, incl.

    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
  44. Richard’s Rolling Release Rule “In order to move ANYTHING quickly,

    you need to be able to move EVERYTHING quickly”
  45. It Works! - Upstream Examples • GNOME 3.22 & 3.24

    – Shipped <48 hours afer Upstream Release • KDE Plasma 5.9 – Shipped on Upstream Release Day • “GNOME:Next” – Tumbleweed derivative testing GNOME git – LiveCD’s provided for Upstream Release Day • openSUSE Krypton – Tumbleweed derivative testing KDE git
  46. A Typical Tumbleweek • 5 Snapshots • 298 Package Updates

    • 47 New Packages on the DVD • 42 Packages Removed from the DVD • 2 new Kernels
  47. btrfs & snapper – our secret sauce • Tumbleweeds default

    install uses btrfs & snapper • Automatically configured to snapshot root filesystem when packages are installed • Unwanted changes can be safely rolled back, even from GRUB
  48. The New openSUSE Distributions • openSUSE Tumbleweed – Rolling Release

    – Continuously Updated & Tested – Perfect for Developers & Power Users • openSUSE Leap – Regular Release – Shared Core with SUSE Linux Enterprise – Perfect for SysAdmins, Enterprise Developers, and Users Tumbleweed
  49. Coming soon - Kubic • Transactional (aka “Atomic) Updates •

    Read Only btrfs Filesystem • Kubernetes • All without reinventing packaging (using rpm, not ostree/snap) • Tumbleweed-Kubic prototypes available now • Leap-Kubic coming soon
  50. openSUSE is... • One of the most open open source

    communities out there • Community led & driven; while still backed by a strong corporate partner that does not, and cannot, exert excessive control • Leading Innovators in the areas of sofware integration, testing & delivery/distribution • Believers in the motto “Have a lot of fun!”
  51. License This slide deck is licensed under the Creative Commons

    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/