GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red...

27
GENERATIONAL CORE The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017

Transcript of GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red...

Page 1: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

GENERATIONAL CORE

The future of Fedora?

Petr SabataBase Runtime, Red HatJanuary 27, 2017

Page 2: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

2

IT’S A LIE!There is no Generational Core. There is only Base Runtime.

Page 3: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

3

STATUS QUOIt kinda sucks… and it’s a miracle it actually works, really

● Thousands of packages● Some are well cared for,

others are a complete mess● It’s all tangled together● It’s all built in a random order● It’s all released together● And it’s all supported for the

entire release lifetime...or so we say.

Page 4: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

4

What can be done?

Page 5: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

5

Page 6: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

6

MODULARITYIn a nutshell

● Some serious bundling

Page 7: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

7

MODULARITYIn a nutshell

● Some serious bundling● Content duplication

Page 8: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

8

MODULARITYIn a nutshell

● Some serious bundling● Content duplication● Maintenance overhead

Page 9: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

9

MODULARITYIn a nutshell

● Some serious bundling● Content duplication● Maintenance overhead● It’s different

Page 10: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

10

MODULARITYIn a nutshell

● Some serious bundling● Content duplication● Maintenance overhead● It’s different● And it’s still not ready :(

Page 11: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

11

MODULARITYOn the other hand

● Upstream-driven life cycles

Page 12: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

12

MODULARITYOn the other hand

● Upstream-driven life cycles● Parallel availability

Page 13: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

13

MODULARITYOn the other hand

● Upstream-driven life cycles● Parallel availability● Parallel installability

Page 14: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

14

MODULARITYOn the other hand

● Upstream-driven life cycles● Parallel availability● Parallel installability● Honesty

Page 15: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

15

MODULARITYOn the other hand

● Upstream-driven life cycles● Parallel availability● Parallel installability● Honesty● Familiarity

Others have been doing it for years!

Page 16: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

16

Base RuntimeWhat it is and how it fits in the picture

Page 17: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

17

CHALLENGESAPI definition, or what it is we actually want to ship

● Determine our use cases● Where to draw the line between the base

system and the applications● Finding the balance between minimalism

and usability● Mostly guesswork

Page 18: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

18

CHALLENGESMaking it possible and maintainable through minimization

● Fewer packages means lower maintenance burden, disk space and memory footprint, faster builds, and smaller attack surface

● Ship as few implementations of common libraries as possible, especially when it comes to cryptography

Page 19: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

19

CHALLENGESBuilding it… and building the building blocks

● The first real module● Infrastructure bootstrap● Hundreds of FTBFS issues

○ Buildroot changes○ Undeclared dependencies○ Package incompatibilities○ Poor packaging in general

Page 20: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

20

CHALLENGESDependency chains, package splits and filters

● Tim Toady● Sub-packaging and sub-package filtering● Disabling optional features● General repackaging● Ensuring people can use our API

Page 21: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

21

CHALLENGESExamples of dependency chains, package split and filters

● ...

Page 22: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

22

CHALLENGESImplementing packaging changes

● Unresponsive package maintainers● Different people, different opinions● Repetitive, endless discussions about solved issues

Page 23: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

23

DELIVERABLESWhat to expect and when

● Fedora 26Base Runtime & Boltron

● Fedora 27Stable and polished Base RuntimeThe entire distribution is modularized

● And beyond!More content, higher quality modules, happy users, the year of the Linux desktop, who knows...

Page 24: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

DEMO TIME

Page 25: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

25

DEMO RESOURCESTry it yourself! Note it’s all work-in-progress, however

● Base Runtime RPM repositoryhttps://fedorapeople.org/groups/modularity/repos/base-runtime/26/

● Base Runtime module definitionhttp://pkgs.stg.fedoraproject.org/cgit/modules/base-runtime.git/

● Base Runtime self-hosting prototype repositoryhttps://koji.stg.fedoraproject.org/koji/buildtargetinfo?targetID=222

Page 26: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

26

HELP WANTEDWant to contribute? Here’s how!

● Fedora Modularity WGhttps://fedoraproject.org/wiki/Modularity_Working_Group

● Base Runtimehttps://fedoraproject.org/wiki/BaseRuntime

Or simply join #fedora-modularity @ freenode and talk to us!

Page 27: GENERATIONAL CORE - Fedora · 2017. 1. 27. · The future of Fedora? Petr Sabata Base Runtime, Red Hat January 27, 2017. 2 IT’S A LIE! There is no Generational Core. There is only

THANK YOU