Calling for a new openSUSE development model
Calling for a new openSUSE development model
Posted Jun 17, 2012 20:11 UTC (Sun) by drag (guest, #31333)In reply to: Calling for a new openSUSE development model by joib
Parent article: Calling for a new openSUSE development model
This is were it is fundamentally broken and is a terrible idea.
A operating system exists for the sole purpose of making applications easier to write and easier to use. It is quite possible to simply eliminate the OS completely and just run each application you want on bare hardware, but nobody wants to do that because it would require a stupidly large amount of work on behalf of the application designer and is not user friendly.
[quote]The model of "freeze the world, release at once" just doesn't scale. I think Ingo Molnar is right on the mark - there needs to be a minimal "core OS" distro, and the release cycles of the rest should not be tied to the release cycle of the "core OS". (The "core OS" release cycle should probably follow the Linux kernel, to bring new drivers to users ASAP.)
[/quote]
This is what is required.
You have a _minimal_ number of layers. Each layer is to it's job and changes within the layer have to minimally impact the layers above it and below it.
something like this from low to high:
* Hardware
* Kernel layer
* Minimal OS layer. The 'Unix layer'. Low level system utilities, daemons, and libraries specifically used to manage hardware, start up system, notify user space about changes to the environment, and system-specific administrative interfaces. Probably low-level graphical stuff too.
* Application environment layer. Or the application stack layer. For desktops this would be the 'Desktop Environment' of choice. For servers it could be 'LAMP', 'Java Tomcat', 'Oracle Database', 'C development', 'Android' or whatever.
* Applications installed by users/administrators or written by users for specific things they want to accomplish. Games, applications, server-side scripting for web apps, etc.
The first two layers form the 'Core OS'. Above that you start to branch out into multiple choices.
So irregardless of what 'core os' is users can go out and simply install 'KDE desktop environment' from KDE. Get Gnome from Gnome project. If distributions want to maintain repositories of software they don't build the packages themselves if possible and instead fetch them from the upstream projects.
Then you let each desktop environment layer producer fend for itself. Let them figure out how they are going to bundle libraries and handle versioning and all that. Application developers and users will then be free to choose whatever works best for them.
