I've found it very hard to find the right place to jump into this
discussion.

So, I'll just put out some of my own thoughts about what I want to see
out of Fedora, and then point out how I think this matches or contrasts
with Matts proposal.

Fedora should be an *OS*. Here are some of the qualities that I
associated with that term:

- It has a clearly defined boundary, with stable APIs. Some things are
not going to be part of the OS, even though they are part of the Fedora
universe: for example, applications. Stable is important; if you can't
upgrade from version x to version x+1 and keep installed applications
working, it is not an OS, imo. And it will never be attractive to
anybody outside the Fedora packager community to do something with
Fedora or build something on it, if there is no assurance that it
continue working beyond the 6 month (or 13 month) horizon of the Fedora
schedule.

- The purpose of the OS is to run applications. So, it needs to be
provide a way to install, update and run applications. We obviously
support this now, in a way. But we need to get a lot better (see the
AppInstaller proposal). The big is that many apps are simply not
available on Fedora, because packaging is not something that is
interesting for many people, and mostly a wasted effort from the
perspective of the app developer (see the previous point). 

- There need to be defined extension points for how you add new stuff to
it that does not fit int the 'application' category. Things like codecs,
translations, fonts, runtime environments.

- It should provide a defined (or designed) user experience. It can of
course provide more than one, depending on the context it is used in:
client, server, cloud, etc. Also worth mentioning here is the runtime vs
devel split. Ideally, there will also be a defined experience for
developers, an SDK if you will.

Thats enough blue sky vision for now. How does this match up with Matt's
proposal ?

The 'Base OS / ring 0 + 1' in the proposal could possibly match my idea
of an OS as having clearly defined boundaries (core + standard is pretty
clear as to whats in and whats out), but as far as API is concerned, it
seems a little weak - I would expect most of the system services that we
are relying on to be part of the core that needs to have a stable API:
policykit, pam, logind, udisks, sssd, realmd, etc. Many of these
probably get pulled in via dependencies. It would be better to list them
explicitly, imo. There is a tension between defining a complete enough
API, and going for a minimal platform that can accomodate the needs of
e.g. cloud images.

Weakening the rules for bundling in applications and allowing non-rpm
content may help a little bit for making applications available. But it
does not really answer the question: how do I get my app to Fedora users
without becoming a Fedora packager in the process.

Differentiating the wider set of packages that are not part of a defined
experience as 'Fedora Commons' is useful. But we more or less already
have that with spins nowadays - the spins and the packages in them are
what receives most of the qa and developer attention.

Where the proposal fits my vision less well is where it talks about ring
2 as containing 'environments and stacks' - I don't think that gives us
any handle on defining the user experience, and will arguably be worse
than what we have now, where we at least know that we qa a small number
of spins/images each release. 

I'm not sure how well the 'concentric rings' model fits with a
runtime/sdk split. 

Matthias


PS: Somewhere in this discussion, it was brought up that Fedora
infrastructure is not running on Fedora. I find that a really depressing
state of affairs. Changing that would be a great goal, imo.

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Reply via email to